Телеграм-бот «GPT-сервис» предоставляет доступ к различным моделям GPT и режимам генерации по подписке. сами GPT-модели берутся из сервиса
. Подробное ТЗ:
### 2. Функциональные требования
#### 2.1 Регистрация и аутентификация
- Первый старт: приветственное сообщение, ссылка на политику использования, описание функционала.
- Начисление 500 токенов на аккаунт (одноразово новым пользователям).
- Предупреждение об ограничениях пробной версии.
#### 2.2 Режимы работы
- Генерация текста:
Пользователь пишет запрос на естественном языке, получает от бота сгенерированный ответ (выбранной GPT-моделью).
Поддержка диалогового режима с учетом контекста.
- Генерация изображения:
Пользователь отправляет текстовый промпт — получает изображение (например, через DALL·E, Midjourney, Stable Diffusion или API аналогичных моделей).
Подсчет токенов за генерацию согласно прайсу.
- Реализация кнопки выбора режима с помощью встроенного меню Telegram-интерфейса.
#### 2.3 Выбор GPT-моделей
- Список доступных моделей (например: GPT-3.5, GPT-4, Claude, Gemini, Llama и др).
- Кнопка или меню для выбора текущей модели.
- Автоматический учет стоимости токенов по выбранной модели.
#### 2.4 Очистка контекста диалога
- Кнопка “Очистить контекст” – удаляет историю текущего чата.
- После очистки новый запрос идет без предыдущего контекста.
#### 2.5 Учёт и списание токенов
- Счетчик токенов для каждого пользователя.
- Токены расходуются за каждый запрос (по тарифам для разных моделей и режимов).
- Бот блокирует отправку запросов при нулевом остатке (и предлагает оплатить подписку/купить токены).
#### 2.6 Подписка и оплата
- Поддержка месячной подписки/оплаты (Telegram Payments )
- Включить в админке гибкое управление тарифами, бонусами
- Предоставление безлимитных токенов или фиксированного лимита — в зависимости от тарифа.
- Система напоминаний о скором окончании подписки.
- История и статус подписки (текущий тариф, окончание действия).
#### 2.7 Возможность проактивной коммуникации
- Бот может отправлять сообщения первым (рассылки, уведомления, новости, напоминания об оплате и т.д.).
- Рассылки на основе тегов, групп пользователей или триггерных событий.
#### 2.8 Просмотр баланса токенов
- Кнопка/команда “Баланс” — ответ с текущим количеством токенов и тарифом.
- При окончании лимита — подробное сообщение с вариантами пополнения/продления.
---
### 3. Технические и интеграционные требования
#### 3.1 Структура данных и БД
- Пользовательская таблица: telegram_id, дата регистрации, баланс токенов, история платежей, параметры воронки, последний активный режим/model.
- Логи запросов/ответов с подсчетом токенов, API ошибок, времени ответа.
- Таблица моделей: название, параметры тарифа (стоимость токена, поддерживаемые режимы).
#### 3.3 Админ-панель
- Список пользователей, редактор баланса, просмотр истории запросов, управление тарифами и рассылками.
- Просмотр статистики: количество активных подписчиков
- возможность бана пользователей, начисления токенов