В эпоху мгновенных сообщений и голосовых помощников многие ищут необычные пути взаимодействия с аудиторией. Телефонный сервис «гадалка» – это отличный способ привлечь интерес, повысить вовлечённость и даже заработать на рекламе, при этом оставаясь полностью бесплатным для конечного пользователя.
Самое главное помнить, что
- Техническая реализация должна быть надёжной и отзывчивой – пользователь не будет ждать минуту, пока «кристалл» выдаст предсказание.
- Контент гадалки (тексты, аудио) обязан соответствовать законодательству о рекламе, защите персональных данных и правилам телекоммуникационных операторов.
- Удобный интерфейс диалога (IVR‑меню) определяет, будет ли клиент возвращаться к вам снова.
Очень важно
Выбрать подходящую платформу для облачной телефонии и настроить её так, чтобы вы могли быстро менять сценарий гадания без перезапуска кода. На сегодняшний день самым популярным и бесплатным (с лимитами) вариантом является Twilio. Ниже – пошаговое руководство, как собрать свою гадалку за несколько часов.
Технологический стек
- Python 3.10+ – язык программирования, удобный для быстрого прототипирования.
- Flask – лёгкий веб‑фреймворк, который будет принимать webhook‑запросы от Twilio.
- Twilio Voice API – позволяет принимать звонки, воспроизводить аудио, собирать ввод с клавиатуры DTMF.
- Google Text‑to‑Speech (gTTS) или Amazon Polly – генерация естественного голоса для предсказаний.
- Heroku / Render / Railway – бесплатные облачные хостинги для размещения Flask‑приложения.
Пошаговый план разработки
Регистрация в Twilio и получение номера
• Зарегистрируйтесь на Twilio (есть free trial с $15 кредитом).
• В консоли получите “Programmable Voice” номер – это будет ваш телефон для гадания.
• В настройках номера укажите URL, куда Twilio будет отправлять webhook‑запросы (например, https://your-app.herokuapp.com/voice).
Создание базового Flask‑приложения
from flask import Flask, request, Response
from twilio.twiml.voice_response import VoiceResponse, Gather
app = Flask(__name__)
@app.route("/voice", methods=["POST"])
def voice:
resp = VoiceResponse
# Приветствие
resp.say("Добро пожаловать в волшебную телефонную гадалку! Нажмите 1, чтобы получить предсказание о любви, 2 — о работе, 3 — о здоровье.", voice="alice")
# Ожидание ввода
gather = Gather(num_digits=1, action="/handle-key", timeout=5)
resp.append(gather)
# Если пользователь ничего не нажал
resp.redirect("/voice")
return Response(str(resp), mimetype="text/xml")
@app.route("/handle-key", methods=["POST"])
def handle_key:
digit = request.values.get('Digits', None)
resp = VoiceResponse
if digit == "1":
resp.redirect("/predict/love")
elif digit == "2":
resp.redirect("/predict/work")
elif digit == "3":
resp.redirect("/predict/health")
else:
resp.say("Неверный ввод. Попробуйте ещё раз.", voice="alice")
resp.redirect("/voice")
return Response(str(resp), mimetype="text/xml")
Генерация предсказаний
Для простоты используем готовый набор текстов. В реальном проекте можно подключить ИИ‑модель (OpenAI, GPT‑4) и генерировать уникальные ответы.
import random
from gtts import gTTS
import os
PREDICTIONS = {
"love": [
"Ваша сердечная связь скоро укрепится, будьте открытыми к новым знакомствам.",
"Ожидайте приятных сюрпризов от уже знакомого человека.",
"Сейчас хорошее время, чтобы поговорить о чувствах."
],
"work": [
"Вас ждет повышение — будьте готовы к новым обязанностям.",
"Ваша идея будет замечена руководством, подготовьте презентацию.",
"Не откладывайте важный проект, сейчас идеальный момент."
],
"health": [
"Обратите внимание на режим сна, он улучшит ваше самочувствие.",
"Небольшой перерыв поможет восстановить энергию.",
"Занятия йогой принесут облегчение и гармонию."
]
}
def make_audio(category):
text = random.choice(PREDICTIONS[category])
tts = gTTS(text=text, lang="ru")
filename = f"/tmp/{category}.mp3"
tts.save(filename)
return filename
Возврат аудио‑сообщения клиенту
@app.route("/predict/<category>", methods=["POST"])
def predict(category):
resp = VoiceResponse
audio_path = make_audio(category)
# Twilio может воспроизводить MP3/WAV по URL, поэтому файл нужно разместить в публичном хранилище.
# Для демо используем ngrok или облачное хранилище (s3).
public_url = upload_to_public_storage(audio_path) # реализуйте самостоятельно
resp.play(public_url)
resp.say("Спасибо, что пользуетесь нашей гадалкой. До новых встреч!", voice="alice")
resp.hangup
return Response(str(resp), mimetype="text/xml")
Деплой на бесплатный хостинг
Самый простой путь – Heroku:
- Создайте файл
Procfileсо строкойweb: gunicorn app:app. - Добавьте
requirements.txt(Flask, twilio, gtts, gunicorn). - Запушьте репозиторий в Heroku и включите dyno.
- Обновите URL в настройках номера Twilio.
Тестирование и отладка
- Используйте ngrok для локального тестирования:
ngrok http 5000и укажите полученный https‑адрес в Twilio. - Проверяйте ответы через Twilio Debugger.
- Соблюдайте ограничение 120 секунд длительности звонка в бесплатном тарифе.
Продвижение и монетизация (по желанию)
После того как базовая гадалка запущена, можно добавить:
- Рекламные паузы – короткие сообщения о ваших товарах или партнёрах.
- Платные «эксклюзивные» расклады – пользователь вводит код из SMS‑рассылки и получает индивидуальное предсказание.
- Интеграцию с соцсетями – отправка результата в Telegram или Viber.
Контакты
Если у вас возникли вопросы, хотите обсудить сотрудничество или заказать доработку, свяжитесь с нами любым удобным способом:
- Телефон: +7 (985) ‑26‑64‑34 – круглосуточно, оператор ответит в течение 2 минут.
- E‑mail: info@makarcanes.ru – ответы в течение 24 часов.
- WhatsApp: +7 (950) ‑01‑55‑52 – быстрый чат‑бот с FAQ.
- Telegram‑канал: @makarcanes – новости о новых раскладах и акциях.
- Веб‑страница проекта: https://makarcanes.ru – документация, примеры кода и демо‑запись.
Краткое резюме
Создать полностью бесплатную телефонную гадалку вполне реально, используя современные облачные сервисы и открытый код. Главное – продумать диалог, обеспечить стабильную работу сервера и соблюдать юридические нормы. Следуя изложенному плану, вы получите работающий сервис за один‑два дня и сможете окунуться в мир аудио‑предсказаний, где каждый звонок – шанс подарить человеку улыбку.
Дата публикации: 14 февраля 2026 г.