В эпоху смартфонов и облачных сервисов любой желающий может запустить онлайн‑гадалку, доступную 24/7 по обычному телефонному номеру. В статье мы разберём пошагово, как собрать такую систему без вложений в оборудование, какие инструменты использовать и как оформить её с точки зрения этики и законодательства.
Почему стоит делать гадалку по телефону?
- Доступность. Пользователь может позвонить из любой точки мира, даже без интернета.
- Анонимность. Многие люди предпочитают говорить голосом, а не писать в чат.
- Эффект «живого» общения. Голосовое сообщение создаёт ощущение личного контакта с «экстрасенсом».
- Маркетинговый потенциал. Бесплатный сервис привлекает трафик, а уже позже можно предлагать платные расклады.
Технические требования
Для реализации телефонной гадалки вам понадобится:
- Виртуальный телефонный номер. Можно получить бесплатно в рамках пробных периодов сервисов Twilio, Plivo или Vonage (Nexmo).
- Сервис обработки звонков (IVR). Позволяет записать сценарий диалога, собрать ввод пользователя (имя, последние цифры номера) и передать их в ваш код.
- Сервер‑приложение. Любой хостинг, поддерживающий Python, Node.js, PHP или любой другой язык, где будет работать логика гадания.
- Текст‑в‑речь (TTS) и распознавание речи (ASR). Для озвучивания ответов и, при желании, понимания вопросов от звонящего.
- База знаний. Набор карт Таро, Ленорман, нумерологический алгоритм или готовый набор предсказаний.
Выбор бесплатных сервисов
Ниже перечислены сервисы, которые позволяют начать работу без вложений (при условии использования пробных кредитов):
- 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.
Пошаговое руководство
Регистрация и получение номера
- Создайте аккаунт на Twilio. При регистрации получите
Account SIDиAuth Token. - В разделе 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.
Развёртывание
- Зарегистрируйтесь на бесплатном хостинге, например Heroku или Render.
- Разместите код, задайте переменные окружения
TWILIO_ACCOUNT_SIDиTWILIO_AUTH_TOKEN. - Получив публичный URL (например
https://my-fortune-app.herokuapp.com/voice), зайдите в консоль Twilio → Phone Numbers → ваш номер → Voice > Configure With → Webhook и укажите этот URL.
Тестирование
Позвоните на ваш виртуальный номер. Вы услышите приветствие, сможете произнести имя (если включено распознавание) и ввести 4 цифры. После этого система озвучит предсказание.
Как добавить «магии» в ответы
- Карты Таро. Храните в базе 78 карт с описаниями. При запросе генерируйте случайный расклад (например, три карты) и озвучивайте их значения.
- Ленорман. Аналогично Таро, но с 36 картами.
- Нумерология. Считайте сумму цифр даты рождения, имени и последних цифр телефона – получайте «число судьбы» и подбирайте предсказание из таблицы.
- Искусственный интеллект. Подключите ChatGPT API и формируйте ответы на естественном языке, передавая их в TTS.
Продвижение и монетизация (по желанию)
- Разместите номер на тематических форумах, в соцсетях, в Дзене и на сайтах о гадании.
- Предложите первый короткий расклад бесплатно, а за более глубокий – оплату через PayPal или Тинькофф.
- Соберите отзывы, разместите их в виде
<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 и др.).
Удачной разработки и пусть ваш голос принесёт людям немного волшебства!