▎Техническое Задание (ТЗ) на Разработку и Размещение Telegram-Бота для Ежедневных Рунических Ставов (Обновленная Версия)
▎1. Общие Сведения
| Параметр | Значение |
| :--- | :--- |
| Название проекта | Рунический Став Дня (рабочее название) |
| Цель проекта | Предоставление пользователям Telegram персонализированных или общих рунических ставов/формул ежедневно в заданное время. Функционал предоставляется по платной подписке. |
| Платформа | Telegram Bot API |
| Язык разработки | Python (рекомендуется) или другой, поддерживающий Telegram Bot API. |
| База данных | PostgreSQL / SQLite (для хранения настроек пользователей и контента). |
---
▎2. Функциональные Требования (Дополнены Монетизацией)
▎2.1. Основной Функционал
1. Приветствие и Онбординг:
– При первом запуске (/start) бот должен приветствовать пользователя и кратко объяснить свое назначение.
– Обязательно: Бот должен информировать пользователя о том, что сервис является платным, и предложить опции: "Попробовать бесплатно (ограниченный доступ)" или "Оформить подписку".
2. Контент (Рунические Ставы):
– База данных с набором рунических ставов (минимум 50 на старте).
– Каждая запись должна содержать название, описание, формулу и категорию.
3. Ежедневная Рассылка:
– Доступ к ежедневной рассылке предоставляется только пользователям с активной подпиской.
– Для пользователей без подписки бот может отправлять став только в режиме "Пробный день" (один раз) или не отправлять вовсе.
– Время рассылки настраиваемое.
4. Ручной Запрос Става:
– Команда /get_stav:
▪ Для подписчиков: Доступен без ограничений.
▪ Для не-подписчиков: Доступ ограничен (например, 1 запрос в день или только просмотр базовых, неполных ставов).
▎2.2. Управление Настройками Пользователя и Подпиской
Пользователь должен иметь доступ к меню настроек через команду /settings.
1. Настройка Времени Рассылки: (Без изменений)
– Выбор времени получения ежедневного става.
2. Настройка Типа Става: (Без изменений)
– Выбор: "Случайный став" или "Став из категории X".
3. Управление Подпиской (Новый функционал):
– Команда /subscribe: Предоставляет ссылку на платежную систему (например, Stripe, YooKassa, или прямую оплату через Telegram Payments, если это применимо).
– Команда /status: Показывает текущий статус подписки (Активна / Истекает [дата] / Не активна).
– Команда /unsubscribe: Блокирует рассылку, но сохраняет настройки пользователя.
---
▎3. Технические Требования (Дополнены Интеграцией Платежей)
1. Интеграция Платежей:
– Необходимо интегрировать платежный шлюз для обработки подписок. (Необходимо выбрать конкретный шлюз на этапе проектирования, например, python-telegram-bot с поддержкой PreCheckoutQuery или внешний сервис).
– Система должна отслеживать статус оплаты и срок действия подписки в БД.
2. Интерфейс и Взаимодействие:
– Команды: /start, /settings, /get_stav, /status, /help.
– При попытке доступа к платному контенту без подписки, бот должен вежливо отказать и предложить оформить подписку через /subscribe.
3. Размещение и Обслуживание: (Без изменений)
– Круглосуточная работа хостинга.
– Использование планировщика (APScheduler).
---
▎4. Этапы Разработки (Обновленные)
1. Этап 1: Базовая настройка и Контент. (Без изменений)
2. Этап 2: Основной функционал и Монетизация.
– Реализация команд /status и /subscribe.
– Интеграция платежного шлюза (необходимо выбрать конкретный шлюз).
– Настройка логики проверки статуса подписки перед выдачей контента.
3. Этап 3: Настройки и Планировщик.
– Реализация меню /settings.
– Настройка и тестирование планировщика для проверки срока действия подписки перед отправкой ежедневного става.
4. Этап 4: Тестирование и Развертывание.
Параметры дополнительно обсуждаются
Разделы:
Опубликован:
04.11.2025 | 12:58 [поднят: 04.11.2025 | 12:58]
Заказ находится в архиве