Техническое задание: Телеграм бот Таро

Цель проекта

Запустить анонимного Telegram-бота 'Таро', который автоматизирует создание виртуальных раскладов и даёт персонализированные интерпретации с помощью ChatGPT (LLM).

Основные требования

  • Генерация раскладов: Бот должен загружать одно или несколько изображений карт (из открытых колод) и выдавать текст, сгенерированный нейросетью, связанный с выпавшими картами и позициями в раскладе.
  • Монетизация: Реализовать подписку с ежемесячной оплатой (руб. РФ). Пользователь платит за определённое количество запросов, настраивается автоматическое продление/отписка через кошелёк Telegram Stars или другого платежного сервиса.
  • Интерпретация от LLM: Для каждого расклада отправлять запрос к API OpenAI или любой open-source модель (LLM) с контекстом - позициями карт. На выходе - структурированный красивый ответ.
  • Интерфейс: Использовать библиотеку python-telegram-bot (или aiogram) для взаимодействия с пользователем. Реализовать кнопки выбора типа расклада (Да/Нет, три карты, колесо года и т.п.).
  • Open source: Весь исходный код должен быть опубликован в публичном репозитории (GitHub). В репозиторий не вносятся персональные API‑ключи.

Результат работы

Готовый к развёртыванию бот с минимальной функциональной админкой и поддержкой логирования. Инструкция по запуску (докер или ручной вызов).

Технический стек (предполагаемый)

  • Python 3.11
  • Библиотеки: asyncio, python-telegram-bot, httpx или aiohttp для работы с LLM
  • База данных: SQLite или Redis для хранения пользователей, баланса подписок
  • API платежей Telegram (через Invoice)