Задача
Создать полностью автоматизированного Telegram-бота для организации и проведения активности (конкурса/розыгрыша) в Telegram-канале. Бот должен обеспечить прозрачный сбор участников, валидацию подписок и хранение данных для последующего розыгрыша.
Функциональные требования
- Автоматический сбор заявок из комментариев под целевым постом канала.
- Проверка каждого участника на выполнение условий (подписка, репост и т.п.).
- Хранение списков участников в базе данных (SQLite / PostgreSQL).
- Фиксация времени и источника заявки.
- Автоматический розыгрыш призов среди валидных участников (рандомный выбор победителя).
- Уведомление администратора о ходе активности и итогах розыгрыша.
Технические требования
- Язык разработки: Python (чистый, без низкоуровневых фреймворков).
- Библиотека: python-telegram-bot (или аналог).
- База данных: выбор исполнителя, обязательна схема хранения данных участников.
- Административная панель: отдельный интерфейс (или логика внутри бота) для управления активностями (создание, запуск, остановка).
- логирование ключевых событий.
Этапы реализации
- Интеграция с Telegram API и настройка webhook/polling.
- Реализация парсинга комментариев под постом (по ID поста).
- Механизм проверки подписки на канал для каждого участника.
- Сохранение данных в БД с привязкой к активности.
- Реализация алгоритма случайного выбора победителя.
- Тестирование и финальная настройка админки.