# Техническое задание
## Разработка Telegram-бота для оплаты подписки на канал Telegram Stars
### Цель проекта
Необходимо разработать Telegram-бота, который мотивирует пользователей подписываться на каналы спонсоров. После проверки подписки бот автоматически начисляет пользователю Telegram Stars.
---
## Общая логика работы
1. Пользователь запускает бота.
2. Бот показывает приветствие и кнопку «Начать».
3. Пользователь получает список спонсорских каналов.
4. Для каждого канала отображается:
- название;
- кнопка «Подписаться»;
- после подписки — кнопка «Проверить».
5. Бот проверяет наличие подписки через Telegram Bot API.
6. Если пользователь подписан:
- отмечает задание выполненным;
- начисляет указанное количество Stars.
7. После выполнения всех заданий пользователь получает сообщение о завершении.
---
# Функционал
## Пользовательская часть
### Главное меню
- Начать
- Мои Stars
- История выплат
- Правила
- Поддержка
---
### Выполнение задания
Для каждого задания:
- ссылка на канал;
- размер вознаграждения (например 5 Stars);
- кнопка «Подписаться»;
- кнопка «Проверить».
После успешной проверки:
✅ Подписка подтверждена.
Начислено X Stars.
---
### Защита
- нельзя получить награду дважды;
- проверка подписки обязательна;
- если пользователь отписался после получения Stars — повторная выплата невозможна;
- защита от повторного прохождения.
---
## Выплата Telegram Stars
После выполнения задания:
- бот автоматически отправляет пользователю Stars;
- использовать официальный механизм Telegram Stars (если доступен через API на момент разработки);
- если API ограничивает автоматическую отправку — предусмотреть альтернативную реализацию и описать её до начала работ.
---
# Админ-панель
Нужна удобная панель управления.
## Управление каналами
Добавить канал:
- ID канала
- ссылка
- название
- размер выплаты
Редактирование
Удаление
Включить/выключить канал
---
## Управление пользователями
Просмотр:
- Telegram ID
- Username
- дата регистрации
- сколько получил Stars
- какие задания выполнил
Поиск пользователя
Блокировка
---
## Статистика
Количество пользователей
Активных сегодня
Количество выполненных заданий
Количество выплаченных Stars
Количество подписок по каждому каналу
---
## Настройки
Изменение текста приветствия
Размер выплат
Добавление администраторов
Логи действий
---
# База данных
Любая современная СУБД (PostgreSQL предпочтительно).
Хранить:
- пользователей;
- задания;
- каналы;
- выплаты;
- историю действий.
---
# Требования
Предпочтительно:
- Python
- aiogram 3.x
или
- Node.js + Telegraf
---
# Развертывание
Исполнитель должен:
- установить проект на VPS;
- настроить webhook или long polling;
- предоставить инструкцию по запуску;
- передать исходный код;
- передать SQL-структуру базы данных;
- предоставить файл конфигурации (.env.example).
---
# Желательные функции
- реферальная система;
- ежедневные бонусы;
- антифрод (ограничение мультиаккаунтов);
- экспорт статистики в Excel/CSV;
- массовая рассылка пользователям;
- мультиязычность;
- журнал ошибок.
---
# Что должно быть передано после завершения
- полный исходный код;
- база данных;
- инструкция по установке;
- инструкция администратора;
- помощь с первым запуском.
---
# Бюджет
Рассматриваются предложения исполнителей с опытом разработки Telegram-ботов. В отклике прошу указать:
- стек технологий;
- примеры аналогичных проектов;
- сроки;
- стоимость;
- какие ограничения существуют при автоматической выплате Telegram Stars через актуальный Telegram Bot API.