Как сделать ватсапп для гадания

Узнай, как за пару часов собрать WhatsApp‑бот, который будет гадать на таро, считать нумерологию, отвечать на вопросы и продавать платные расклады прямо в чате.

В последние годы мессенджеры стали площадкой не только для общения, но и для предоставления сервисов «на лету». Одним из самых популярных направлений является гадание – таро, нумерология, предсказания по дате рождения и т.д. В этой статье мы подробно разберём, как создать собственного WhatsApp‑бота, который будет выполнять гадания, отвечать на вопросы пользователей и даже продавать платные расклады.


Что такое WhatsApp‑бот и зачем он нужен в сфере гаданий?
  • Автономность. Бот работает 24/7, не требует присутствия живого эксперта.
  • Масштабируемость. Один бот может обслуживать тысячи запросов одновременно.
  • Персонализация. С помощью ИИ (ChatGPT, Gemini и др.) можно генерировать индивидуальные толкования.
  • Маркетинг. Рассылка новостей, акций, приглашений к платным раскладам.

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

  1. Доступ к WhatsApp Business API (или облачному провайдеру типа Twilio, 360dialog).
  2. Сервер, где будет работать логика бота (Node.js, Python, PHP и др.).
  3. База данных для хранения пользователей, их запросов и истории гаданий.
  4. Модуль генерации предсказаний (правила таро‑раскладов, нумерологический движок, ИИ‑модель).

Регистрация и получение доступа к WhatsApp Business API

Самый надёжный способ – официальная WhatsApp Business API. Процесс выглядит так:

  1. Создайте бизнес‑аккаунт в Meta Business Manager.
  2. Подтвердите домены и номер телефона. Для теста можно использовать Sandbox‑окружение.
  3. Получите Access Token и Phone ID – они понадобятся в запросах к API.
  4. Если вы не хотите заниматься регистрацией вручную, подключите облачного провайдера (Twilio, 360dialog, MessageBird). Они предоставляют готовый webhook‑endpoint и упрощённый процесс оплаты.

Пример запроса к API для отправки сообщения (Python + requests):

import requests, json

url = "https://graph.facebook.com/v19.0/{PHONE_ID}/messages"
headers = {

 "Authorization": "Bearer {ACCESS_TOKEN}",
 "Content-Type": "application/json"
}
payload = {
 "messaging_product": "whatsapp",
 "to": "79221234567",
 "type": "text",
 "text": {"body": "Привет! Я ваш гадательный бот. Выберите расклад:"}
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.json)

Выбор технологического стека
Компонент Рекомендованные технологии Почему
Сервер‑логика Node.js (Express), Python (FastAPI), PHP (Laravel) Широкая поддержка HTTP‑webhook, множество библиотек для работы с API.
База данных PostgreSQL, MySQL, MongoDB Надёжность, возможность хранить историю запросов и пользовательские профили.
Генерация предсказаний Правила (JSON‑файлы) + OpenAI API, или готовый движок Таро (GitHub: pamnard/TaroBot) Комбинация «чётких» правил и «мягкой» ИИ‑интерпретации.
Хостинг DigitalOcean, AWS EC2, Render.com Доступные цены, простая настройка SSL.

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

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

  1. Пользователь отправляет сообщение в WhatsApp.
  2. WhatsApp API делает POST‑запрос на ваш webhook‑endpoint.
  3. Сервер парсит входящее сообщение, определяет тип запроса (выбор расклада, ввод даты рождения и т.д.).
  4. В зависимости от типа вызывается один из модулей:
    • Таро‑модуль – случайным образом выбирает карты, формирует расклад.
    • Нумерологический модуль – рассчитывает числа по дате рождения.
    • AI‑модуль – отправляет запрос в OpenAI и получает «человеческое» толкование.
  5. Сформированный ответ отправляется обратно через WhatsApp API.
  6. Запрос сохраняется в базе (для аналитики и последующего маркетинга).

Ниже – упрощённый код webhook‑handler на Python (FastAPI):

from fastapi import FastAPI, Request
import httpx, json, random

app = FastAPI

WHATSAPP_TOKEN = "YOUR_ACCESS_TOKEN"
PHONE_ID = "YOUR_PHONE_ID"
WHATSAPP_URL = f"https://graph.facebook.com/v19.0/{PHONE_ID}/messages"

TAROT_CARDS = [
 "Шут", "Маг", "Верховная Жрица", "Императрица", "Император",
 "Иерофант", "Влюблённые", "Колесница", "Сила", "Отшельник",
 "Колесо Фортуны", "Справедливость", "Повешенный", "Смерть",
 "Умеренность", "Дьявол", "Башня", "Звезда", "Луна", "Солнце",
 "Суд", "Мир"
]

def send_whatsapp(to: str, text: str):
 payload = {
 "messaging_product": "whatsapp",
 "to": to,
 "type": "text",
 "text": {"body": text}
 }
 headers = {
 "Authorization": f"Bearer {WHATSAPP_TOKEN}",
 "Content-Type": "application/json"
 }
 httpx.post(WHATSAPP_URL, headers=headers, json=payload)
@app.post("/webhook")
async def webhook(request: Request):
 data = await request.json
 # Выбираем первое сообщение из массива
 try:
 msg = data["entry"][0]["changes"][0]["value"]["messages"][0]
 phone = msg["from"]
 text = msg["text"]["body"].strip.lower
 except (KeyError, IndexError):
 return {"status": "ignored"}

 if text in ["привет", "начать", "старт"]:
 reply = ("Привет! Я ваш гадательный бот.
"
 "Выберите действие:
"
 "1️⃣ Таро‑расклад
"
 "2️⃣ Нумерология по дате рождения
"
 "Отправьте цифру.")
 send_whatsapp(phone, reply)
 return {"status": "ok"}

 if text == "1":
 cards = random.sample(TAROT_CARDS, 3)
 reply = f"Ваш расклад:
1️⃣ {cards[0]}
2️⃣ {cards[1]}
3️⃣ {cards[2]}
" 
 "Для подробного толкования напишите номер карты."
 send_whatsapp(phone, reply)
 return {"status": "ok"}

 # Добавьте обработку нумерологии, AI‑модулей и т.д.
 send_whatsapp(phone, "Извините, я пока не понимаю эту команду.")
 return {"status": "ok"}

Реализация конкретных гадательных модулей

5.1 Таро‑расклад

Для простого расклада «Три карты» достаточно случайно выбрать три карты из колоды и вернуть их названия. Если нужен более сложный расклад (Кельтский крест, Пастельный), создайте JSON‑шаблон, где указаны позиции и их значения.

{
 "celtic_cross": [
 {"position": "1", "meaning": "Текущее положение"},
 {"position": "2", "meaning": "Препятствия"},
 {"position": "3", "meaning": "Подсознание"},
 {"position": "4", "meaning": "Прошлое"},
 {"position": "5", "meaning": "Будущее"},
 {"position": "6", "meaning": "Внутренний совет"},
 {"position": "7", "meaning": "Внешний совет"},
 {"position": "8", "meaning": "Эмоции"},
 {"position": "9", "meaning": "Ожидания"},
 ]
}

Алгоритм:

  1. Случайным образом перемешать массив TAROT_CARDS.
  2. Взять нужное количество карт (например, 10 для Кельтского креста).
  3. Сформировать ответ, где каждая карта сопоставлена с её позицией.

5.2 Нумерология

Самый популярный метод – «число судьбы», получаемое из даты рождения:

def digit_sum(n):
 while n > 9:
 n = sum(int(d) for d in str(n))
 return n

def life_path_number(date_str):
 # date_str в формате "DDMMYYYY"
 total = sum(int(d) for d in date_str if d.isdigit)
 return digit_sum(total)

После расчёта числа бот может взять готовый текст‑описание из базы (JSON‑файл) и отправить пользователю.

5.3 Интеграция с OpenAI (ChatGPT) для «человечного» толкования

Если хотите, чтобы ответы звучали более естественно, используйте Chat Completion API. Пример запроса:

import openai

def ai_interpret(card_name, position):
 prompt = f"""Ты — опытный таролог. Дай короткое, но ёмкое толкование карты {card_name} в позиции {position}.
 Ответ должен быть в 2‑3 предложениях, без лишних вводных фраз."""
 response = openai.ChatCompletion.create(
 model="gpt-4o-mini",
 messages=[{"role": "user", "content": prompt}],
 temperature=0.7
 )
 return response.choices[0].message.content.strip

Полученный текст можно добавить к базовому ответу бота.


Хранение данных и аналитика

Для дальнейшего развития проекта важно сохранять:

  • Номера телефонов (с согласия пользователя).
  • Тип выбранного расклада.
  • Дата и время запроса.
  • Текст ответа (для последующего анализа).

Пример таблицы в PostgreSQL:

CREATE TABLE user_requests (
 id SERIAL PRIMARY KEY,
 phone VARCHAR(20) NOT NULL,
 request_type VARCHAR(30) NOT NULL,
 payload JSONB,
 answer TEXT,
 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

С помощью таких данных можно:

  1. Отправлять персонализированные рассылки (например, «Ваш расклад дня готов!»).
  2. Анализировать популярные типы гаданий и улучшать контент.
  3. Вести монетизацию – предлагать платные расклады с более глубокой аналитикой.

Монетизация и юридические нюансы

7.1 Платные расклады
  • Создайте несколько уровней: бесплатный (карта дня, простое число), премиум (полный расклад, AI‑толкование).
  • Оплату можно принимать через Google Pay, PayPal или интегрировать WhatsApp Payments (если доступно в вашем регионе).

7.2 Согласие и защита данных

Согласно ФЗ‑152 «О персональных данных» и GDPR (если обслуживаете пользователей из ЕС), необходимо:

  1. Получать явное согласие на хранение номера телефона и обработку данных.
  2. Обеспечить возможность удаления данных по запросу пользователя.
  3. Хранить данные в зашифрованном виде (TLS для передачи, AES‑256 для БД).

7.3 Ограничения WhatsApp

WhatsApp запрещает использовать сервис для «мошенничества», «продажи запрещённых товаров» и т.п. Гадание считается «информационным сервисом», но в рекламных сообщениях следует избегать обещаний «гарантированных результатов».


Тестирование и запуск
  1. Локальное тестирование. Запустите сервер на localhost и используйте ngrok для создания публичного HTTPS‑туннеля, который укажете в настройках webhook‑а.
  2. Тестовый номер. В sandbox‑режиме WhatsApp позволяет отправлять сообщения только на предварительно одобренные номера.
  3. Проверка логики. Убедитесь, что каждый тип сообщения (текст, кнопка, быстрый ответ) правильно обрабатывается.
  4. Нагрузочное тестирование. С помощью locust или k6 смоделируйте 100‑200 одновременных запросов, чтобы убедиться в стабильности.
  5. Переход в продакшн. Переключите webhook‑URL на ваш реальный домен, включите SSL‑сертификат (Let’s Encrypt) и активируйте платный тариф WhatsApp Business API.

Пример готового диалога
Пользователь: Привет
Бот: Привет! Я ваш гадательный бот.
Выберите действие:
1️⃣ Таро‑расклад
2️⃣ Нумерология по дате рождения
Отправьте цифру.

Пользователь: 1
Бот: Ваш расклад:
1️⃣ Маг
2️⃣ Сила
3️⃣ Смерть
Для подробного толкования напишите номер карты.

Пользователь: 2
Бот (AI‑толкование):
«Сила» указывает на внутреннюю уверенность и способность преодолевать препятствия. Сейчас время действовать смело, доверяя своей интуиции.

Пользователь: 2
Бот: Пожалуйста, пришлите дату рождения в формате ДДММГГГГ.

Пользователь: 1508191990
Бот: Ваше число судьбы, 7. Это число символизирует духовный поиск, аналитический ум и стремление к самопознанию.

Полезные ресурсы и готовые решения
  • TaroBot на GitHub – открытый код таро‑бота для Telegram, легко адаптировать под WhatsApp.
  • SendPulse: Как создать чат‑бота для WhatsApp – пошаговый гайд с примерами кода.
  • Twilio WhatsApp API – простой способ начать без официального Business API.
  • OpenAI Chat Completion Guide – как интегрировать ИИ‑толкования.
  • CSP и безопасность веб‑приложений – рекомендации по защите вашего сервера.

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

Помните о этике и законодательных ограничениях: всегда получайте согласие на обработку персональных данных и не обещайте невозможного. Тогда ваш гадательный бот станет надёжным помощником и приятным «цифровым оракулом» для всех, кто ищет ответы в мире символов.

Удачной разработки!