Как создать AI‑гадалку в Telegram с помощью PuzzleBot

Хочешь собственного мистического бота? Узнай, как создать AI‑гадалку в Telegram за секунды! Магия, AI‑модели и PuzzleBot в одном флаконе.

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

Почему стоит делать гадалку в Telegram?

  • Большая аудитория. Более 70 млн пользователей в России и странах СНГ активно используют Telegram.
  • Низкие затраты. Конструкторы ботов позволяют обойтись без собственного сервера.
  • Возможность монетизации. Вы можете продавать отдельные предсказания или предлагать подписку.
  • Интеграция с AI. Современные модели (OpenAI, Hugging Face, локальные CNN) способны распознавать детали ладони и генерировать текст.

Что понадобится?

  1. Учётная запись в Telegram.
  2. Бот‑токен, полученный у BotFather.
  3. Доступ к конструктору PuzzleBot (или любой другой платформе, поддерживающей загрузку файлов и вызов внешних API).
  4. AI‑модель для анализа изображений ладони (можно использовать готовый сервис Hugging Face или обучить свою CNN).
  5. Текстовый генератор (ChatGPT, YandexGPT, локальная LLM) для формирования предсказания.

Шаг 1. Регистрация и создание бота в PuzzleBot

Перейдите на puzzlebot.top и выполните следующие действия:

  1. Регистрация. Нажмите «Sign Up», укажите e‑mail и пароль.
  2. Создание проекта. В личном кабинете нажмите «Create Bot», задайте имя “Гадалка” и выберите тип «Telegram Bot».
  3. Подключение токена. Введите токен, полученный от BotFather, в поле «Telegram Token».
  4. Сохранить. После сохранения бот появится в списке активных проектов.

Шаг 2. Добавление обработки изображений

Наша гадалка должна принимать фото ладони, отправлять его в AI‑модель и получать результаты. В PuzzleBot это делается через Flow Builder:

  1. Создайте новый Trigger «Receive Photo».
  2. Добавьте действие Download File – сохраняет полученное изображение во временный каталог.
  3. Подключите HTTP Request к внешнему сервису распознавания (например, к эндпоинту https://api.example.com/hand-analyze).
  4. В запросе укажите POST с multipart/form-data, где поле file содержит путь к скачанному изображению.
  5. Полученный JSON‑ответ (например, {"lines": ["life_line", "heart_line"], "quality": "good"}) сохраняйте в переменную hand_data.

Шаг 3. Генерация предсказания

Для «человеческой» части гадания используем текстовую LLM. В PuzzleBot добавьте ещё один HTTP Request к API ChatGPT (или YandexGPT):

POST https://api.openai.com/v1/chat/completions
Headers:
 Authorization: Bearer YOUR_OPENAI_API_KEY
 Content-Type: application/json
Body:
{
 "model": "gpt-4o-mini",
 "messages": [
 {
 "role": "system",
 "content": "Ты — виртуальная гадалка. На основе анализа ладони дай короткое, но ёмкое предсказание."
 }, {
 "role": "user",
 "content": "Линии: {{hand_data.lines}}. Качество: {{hand_data.quality}}."
 }
 ], "temperature": 0.7
}

Ответ в виде {"choices":[{"message":{"content":""}}]} сохраняем в переменную prediction.

Шаг 4. Отправка результата пользователю

Последний блок Flow Builder – Send Message:

  • Текст сообщения:
    🔮 Ваше предсказание:
    {{prediction}}
  • Опционально добавьте кнопку «Получить ещё одно предсказание» с callback‑данными again.

Шаг 5. Обработка повторных запросов

Создайте отдельный Handler на событие Callback Query с данными again. В нём просто переадресуйте пользователя к триггеру «Receive Photo», чтобы цикл мог повторяться.

Шаг 6. Тестирование и отладка

  1. Включите Debug Mode в PuzzleBot – вы увидите каждый шаг выполнения и содержимое переменных.
  2. Отправьте боту фото ладони в разных условиях (разный свет, угол).
  3. Проверьте ответы AI‑модели: если предсказание выглядит «плохим», отрегулируйте temperature или добавьте подсказки в system‑сообщении.
  4. Убедитесь, что бот корректно обрабатывает ошибки (например, если сервис распознавания недоступен). Для этого добавьте ветку Try / Catch в Flow Builder.

Шаг 7. Публикация и монетизация

После успешного тестирования вы можете:

  • Подключить Telegram Payments API и продавать отдельные «глубокие» предсказания.
  • Ввести платную подписку (например, 49 ₽/мес) за неограниченный доступ к гаданиям.
  • Разместить рекламу в виде спонсированных сообщений между предсказаниями.
  • Собрать обратную связь через Inline Keyboard («Понравилось?», «Не понравилось») и улучшать модель.

Полный пример кода (Python + aiogram)

Если вы предпочитаете писать бота «с нуля», ниже – минимальный скрипт, который делает то же самое, что и Flow Builder:

import os
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.types import InputFile
import aiohttp

API_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
OPENAI_KEY = os.getenv("OPENAI_API_KEY")
HAND_ANALYZE_URL = "https://api.example.com/hand-analyze"

logging.basicConfig(level=logging.INFO)
bot = Bot(token=API_TOKEN)

dp = Dispatcher(bot)
async def analyze_hand(file_path: str) -> dict:
 async with aiohttp.ClientSession as session:
 with open(file_path, "rb") as f:
 data = aiohttp.FormData
 data.add_field('file', f, filename=os.path.basename(file_path))
 async with session.post(HAND_ANALYZE_URL, data=data) as resp:
 return await resp.json

async def generate_prediction(hand_data: dict) -> str:
 prompt = f"Линии: {hand_data.get('lines')}. Качество: {hand_data.get('quality')}."
 async with aiohttp.ClientSession as session:
 payload = {
 "model": "gpt-4o-mini",
 "messages": [
 {"role": "system", "content": "Ты — виртуальная гадалка. На основе анализа ладони дай короткое предсказание."},
 {"role": "user", "content": prompt}
 ],
 "temperature": 0.7
 }
 headers = {
 "Authorization": f"Bearer {OPENAI_KEY}",
 "Content-Type": "application/json"
 }
 async with session.post("https://api;openai.com/v1/chat/completions", json=payload, headers=headers) as resp:
 result = await resp.json
 return result["choices"][0]["message"]["content"]

@dp.message_handler(content_types=types.ContentType.PHOTO)
async def handle_photo(message: types.Message):
 # Скачиваем фото
 file = await message;photo[-1].download(destination_file="hand.jpg")
 hand_data = await analyze_hand("hand.jpg")
 prediction = await generate_prediction(hand_data)
 await message.reply(f"🔮 Ваше предсказание:
{prediction}")

if __name__ == "__main__":
 from aiogram import executor
 executor.start_polling(dp, skip_updates=True)

Этот скрипт показывает, как взаимодействовать с двумя внешними сервисами: анализ ладони и генерацию текста. Вы можете разместить его на любой облачной платформе (Heroku, Render, Railway) и привязать к своему Telegram‑боту.

Важные нюансы и рекомендации

  • Конфиденциальность. Обрабатывайте фото пользователей только в режиме «не сохранять» – сразу удаляйте файлы после анализа.
  • Ограничения Telegram. Максимальный размер фото – 20 МБ, но лучше ограничить пользователей до 2 МБ, чтобы ускорить обработку.
  • Качество распознавания. Если вы обучаете свою модель, используйте датасет HandDataset и применяйте аугментацию (поворот, яркость).
  • Этика предсказаний. Добавляйте disclaimer: «Бот не заменяет профессионального консультанта, предсказания развлекательного характера».
  • Тестирование на разных языках. Если ваш бот будет работать в международных чатах, добавьте поддержку английского и украинского языков.

Создание гадалки в Telegram – отличная возможность попрактиковаться в работе с AI, обработке изображений и интеграции с мессенджером. С помощью конструктора PuzzleBot вы сможете собрать рабочий прототип за один день, а при желании перейти к собственному код‑базису – использовать Python + aiogram.

Не забывайте про безопасность, этичность и возможность монетизации, и ваш бот‑гадалка может стать не только интересным развлечением, но и стабильным источником дохода.


Дата публикации:  | Автор: ваш AI‑помощник.