Как создать бесплатную телефонную гадалку с нуля: пошаговое руководство с Twilio, Flask и Yandex SpeechKit

В эпоху смартфонов и облачных сервисов любой желающий может запустить онлайн‑гадалку, доступную 24/7 по обычному телефонному номеру. В статье мы разберём пошагово, как собрать такую систему без вложений в оборудование, какие инструменты использовать и как оформить её с точки зрения этики и законодательства.


Почему стоит делать гадалку по телефону?

  • Доступность. Пользователь может позвонить из любой точки мира, даже без интернета.
  • Анонимность. Многие люди предпочитают говорить голосом, а не писать в чат.
  • Эффект «живого» общения. Голосовое сообщение создаёт ощущение личного контакта с «экстрасенсом».
  • Маркетинговый потенциал. Бесплатный сервис привлекает трафик, а уже позже можно предлагать платные расклады.

Технические требования

Для реализации телефонной гадалки вам понадобится:

  1. Виртуальный телефонный номер. Можно получить бесплатно в рамках пробных периодов сервисов Twilio, Plivo или Vonage (Nexmo).
  2. Сервис обработки звонков (IVR). Позволяет записать сценарий диалога, собрать ввод пользователя (имя, последние цифры номера) и передать их в ваш код.
  3. Сервер‑приложение. Любой хостинг, поддерживающий Python, Node.js, PHP или любой другой язык, где будет работать логика гадания.
  4. Текст‑в‑речь (TTS) и распознавание речи (ASR). Для озвучивания ответов и, при желании, понимания вопросов от звонящего.
  5. База знаний. Набор карт Таро, Ленорман, нумерологический алгоритм или готовый набор предсказаний.

Выбор бесплатных сервисов

Ниже перечислены сервисы, которые позволяют начать работу без вложений (при условии использования пробных кредитов):

  • Twilio – 15 $ бесплатного кредита на 30 дней. Позволяет создать номер, настроить Twiml‑скрипты и использовать Say для TTS.
  • Plivo – 5 $ кредит, поддержка русской речи через Speak.
  • Google Cloud Text‑to‑Speech – 300 $ бесплатного кредита, отличное качество голоса.
  • Yandex SpeechKit – бесплатный тариф до 1 млн символов в месяц, полностью на русском.
  • Telegram Bot API + Twilio SIP – можно связать бота в Telegram с телефонным номером, получая двойной канал общения.

Архитектура проекта

Схема взаимодействия выглядит так:

[Звонок] → [Виртуальный номер (Twilio)] → [IVR‑скрипт] → [Веб‑хук на ваш сервер] → [Логика гадания] → [TTS‑ответ] → [Тот же звонок] → [Пользователь]

Для простоты будем использовать Flask (Python) + Twilio + Yandex SpeechKit.

Пошаговое руководство

Регистрация и получение номера

  1. Создайте аккаунт на Twilio. При регистрации получите Account SID и Auth Token.
  2. В разделе Phone Numbers выберите «Buy a Number». Установите фильтр «Voice» и выберите любой российский или международный номер.

Настройка веб‑сервера

Создайте простое Flask‑приложение, которое будет принимать POST‑запросы от Twilio.

from flask import Flask, request, Response
from twilio.twiml.voice_response import VoiceResponse
import random

app = Flask(__name__)

PREDICTIONS = [
 "Сегодня вас ждёт приятный сюрприз.",
 "Ваша любовь вернётся к вам в ближайшее время.",
 "Будьте осторожны с финансовыми вложениями.",
 "Ваша карьера получит новый импульс."
]

def get_prediction(name, last4):
 # Простейший «нумерологический» алгоритм
 seed = sum(int(d) for d in last4) + len(name)
 random.seed(seed)
 return random.choice(PREDICTIONS)

@app.route("/voice", methods=["POST"])
def voice:
 resp = VoiceResponse
 # Приветствие
 resp.say("Добро пожаловать в бесплатную телефонную гадалку.", voice="alice", language="ru-RU")
 # Спросим имя
 resp.say("Скажите, пожалуйста, ваше имя после сигнала.", voice="alice", language="ru-RU")
 resp.record(
 action="/process_name",
 maxLength=5,
 transcribe=True,
 transcribeCallback="/process_name"
 )
 return Response(str(resp), mimetype="application/xml")

@app.route("/process_name", methods=["POST"])
def process_name:
 # Получаем распознанный текст
 name = request.values.get('TranscriptionText', 'Гость')
 # Спросим последние 4 цифры телефона
 resp = VoiceResponse
 resp.say(f"Спасибо, {name}. Теперь введите последние четыре цифры вашего номера.", voice="alice", language="ru-RU")
 resp.gather(
 numDigits=4,
 action="/process_digits",
 method="POST"
 )
 return Response(str(resp), mimetype="application/xml")

@app.route("/process_digits", methods=["POST"])
def process_digits:
 digits = request.values.get('Digits', '0000')
 # Здесь обычно берём имя из сессии, но для простоты используем фиксированное
 name = "Гость"
 prediction = get_prediction(name, digits)
 resp = VoiceResponse
 resp.say(f"Ваше предсказание: {prediction}", voice="alice", language="ru-RU")
 resp.say("Спасибо за звонок. До свидания!", voice="alice", language="ru-RU")
 resp.hangup
 return Response(str(resp), mimetype="application/xml")

if __name__ == "__main__":
 app.run(debug=True)

Скрипт использует встроенный TTS от Twilio (voice="alice") – это уже бесплатный голосовой движок. Если нужен более «магический» голос, замените его на Yandex SpeechKit через API.

Развёртывание

  1. Зарегистрируйтесь на бесплатном хостинге, например Heroku или Render.
  2. Разместите код, задайте переменные окружения TWILIO_ACCOUNT_SID и TWILIO_AUTH_TOKEN.
  3. Получив публичный URL (например https://my-fortune-app.herokuapp.com/voice), зайдите в консоль Twilio → Phone Numbers → ваш номер → Voice > Configure With → Webhook и укажите этот URL.

Тестирование

Позвоните на ваш виртуальный номер. Вы услышите приветствие, сможете произнести имя (если включено распознавание) и ввести 4 цифры. После этого система озвучит предсказание.

Как добавить «магии» в ответы

  • Карты Таро. Храните в базе 78 карт с описаниями. При запросе генерируйте случайный расклад (например, три карты) и озвучивайте их значения.
  • Ленорман. Аналогично Таро, но с 36 картами.
  • Нумерология. Считайте сумму цифр даты рождения, имени и последних цифр телефона – получайте «число судьбы» и подбирайте предсказание из таблицы.
  • Искусственный интеллект. Подключите ChatGPT API и формируйте ответы на естественном языке, передавая их в TTS.

Продвижение и монетизация (по желанию)

  1. Разместите номер на тематических форумах, в соцсетях, в Дзене и на сайтах о гадании.
  2. Предложите первый короткий расклад бесплатно, а за более глубокий – оплату через PayPal или Тинькофф.
  3. Соберите отзывы, разместите их в виде <blockquote> на сайте, чтобы повысить доверие.

Юридические и этические нюансы

  • Указывайте, что сервис не является профессиональной психологической или медицинской помощью. Добавьте отказ от ответственности.
  • Соблюдайте закон о персональных данных (ФЗ‑152) – не сохраняйте личные данные без согласия.
  • Не обещайте гарантированных результатов (например, «вы выиграете в лотерею»).
  • Если планируете принимать оплату, оформите ИП или ООО и подключите официальные платёжные шлюзы.

Часто задаваемые вопросы (FAQ)

Можно ли полностью обойтись без кода?

Да. Сервисы вроде Voiceflow позволяют собрать IVR‑диалог визуально и экспортировать в Twilio без написания кода.

Как обеспечить круглосуточную работу?

Облачные хостинги (Heroku, Render, Railway) работают 24/7 даже в бесплатных планах, если ваш проект не «засыпает» более 30 минут без запросов. Для избежания сна используйте UptimeRobot с пингом каждые 5 минут.

Что делать, если звонок обрывается?

Включите в сценарий <Redirect> на ваш основной endpoint, чтобы пользователь мог продолжить разговор после повторного набора номера.

Как добавить поддержку нескольких языков?

В Twilio VoiceResponse.say принимает параметр language. Для русского – ru-RU, для английского – en-US и т.д. Создайте отдельные файлы с предсказаниями для каждого языка.

Создание бесплатной гадалки, работающей по телефону, – это интересный проект, который сочетает в себе веб‑разработку, работу с голосовыми API и немного мистики. При правильном подходе вы получаете:

  • Полностью автоматизированный сервис, доступный 24/7.
  • Возможность масштабировать проект без вложений в оборудование.
  • Базу для дальнейшей монетизации и развития.

Следуя инструкциям выше, вы сможете запустить свою гадалку уже в течение нескольких часов. Главное – помнить о этике и законности предоставляемой информации, а также о том, что ваш сервис должен оставаться бесплатным для первых пользователей, как это делают многие популярные онлайн‑гадалки (см. примеры из интернета: 7 800 555‑29‑50, 79269938270 и др.).

Удачной разработки и пусть ваш голос принесёт людям немного волшебства!