Создание бота-гадалки в Telegram: пошаговое руководство

Сегодняшняя дата: Today is 10:25:14 ()

Создание бота‑гадалки в Telegram – интересный проект, который сочетает программирование, работу с API и немного мистики. Ниже представлено подробное пошаговое руководство, которое поможет вам написать собственного бота, capable of answering users’ questions with random fortunes, tarot‑like cards or simple yes/no predictions.

Что понадобится для начала

  • Аккаунт в Telegram и доступ к BotFather (для создания бота и получения токена).
  • Базовые знания любого языка программирования, поддерживающего работу с HTTP‑запросами (Python, Node.js, PHP и т.д.).
  • Среда разработки (IDE или простой текстовый редактор).
  • Доступ к интернету для размещения бота на хостинге (например, Heroku, VPS или локальный сервер с ngrok).

Шаг 1: Регистрация бота в BotFather

  1. Откройте чат с @BotFather в Telegram.
  2. Отправьте команду /newbot и следуйте инструкциям: придумайте имя бота (например, “Милая Гадалка”) и username (должен оканчиваться на bot, например, MilaFortuneBot).
  3. После успешного создания вы получите токен доступа – строку вида 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Сохраните его, он понадобится в коде.

Шаг 2: Настройка окружения разработки

Ниже пример на Python с использованием библиотеки python-telegram-bot.

# Установка зависимостей
pip install python-telegram-bot

Шаг 3: Основной шаблон бота

Создайте файл fortune_bot.py и вставьте следующий код:

from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext
import random

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

def start(update: Update, context: CallbackContext) -> None:
 update.message.reply_text(
 "Привет! Я ваша гадалка. Напиши /fortune, чтобы получить предсказание."
 )
def fortune(update: Update, context: CallbackContext) -> None:
 prediction = random.choice(FORTUNES)
 update.message.reply_text(f"🔮 {prediction}")

def main -> None:
 # Вставьте ваш токен, полученный от BotFather
 TOKEN = "ВАШ_ТОКЕН_ЗДЕСЬ"
 updater = Updater(TOKEN)

 dispatcher = updater.dispatcher
 dispatcher.add_handler(CommandHandler("start", start))
 dispatcher.add_handler(CommandHandler("fortune", fortune))

 # Запуск бота
 updater.start_polling
 updater.idle

if __name__ == '__main__':
 main

Шаг 4: Как найти пользователя в Telegram (полезно для отладки)

Если вам нужно проверить, работает ли бот с определённым пользователем, вы можете найти его по номеру телефона или имени пользователя. Как указано в источнике:

Найти человека в Telegram можно по номеру телефона или имени пользователя

Это удобно, когда вы хотите добавить тестовые аккаунты в группу или отправить личное сообщение боту для проверки функционала.

Шаг 5: Расширение функционала

  • Таро‑карты: добавьте колоду из 78 карт с изображениями и значениями; при запросе /tarot бот отправляет случайную карту с толкованием.
  • Персонализированные прогнозы: позволяйте пользователю указать свою дату рождения и генерировать гороскоп на день.
  • Интерактивные меню: используйте InlineKeyboardButton для выбора категории предсказаний (любовь, работа, здоровье).
  • Ведение статистики: сохраняйте количество запросов каждого пользователя в базе данных (SQLite, PostgreSQL) для анализа популярности тем.

Шаг 6: Развёртывание бота

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

  1. Зарегистрируйтесь на платформе Heroku (или используйте VPS).
  2. Создайте репозиторий на GitHub, загрузите туда файл fortune_bot.py и файл requirements.txt (с перечисленными зависимостями).
  3. На Heroku создайте новое приложение, привяжите репозиторий и включите автоматическое деплоивание.
  4. Установите переменную окружения TOKEN со значением вашего токена бота.
  5. Запустите приложение – бот будет доступен 24/7.

Создание гадалки в Telegram – отличный способ попрактиковаться в работе с ботами, API и внешними сервисами. Следуя представленным шагам, вы получите функционального бота, capable of delivering fun and mystical predictions to your users. Не забывайте экспериментировать с контентом, добавлять новые функции и улучшать взаимодействие с аудиторией. Удачной разработки!