Задача

Создать полностью автоматизированного Telegram-бота для организации и проведения активности (конкурса/розыгрыша) в Telegram-канале. Бот должен обеспечить прозрачный сбор участников, валидацию подписок и хранение данных для последующего розыгрыша.

Функциональные требования

  • Автоматический сбор заявок из комментариев под целевым постом канала.
  • Проверка каждого участника на выполнение условий (подписка, репост и т.п.).
  • Хранение списков участников в базе данных (SQLite / PostgreSQL).
  • Фиксация времени и источника заявки.
  • Автоматический розыгрыш призов среди валидных участников (рандомный выбор победителя).
  • Уведомление администратора о ходе активности и итогах розыгрыша.

Технические требования

  • Язык разработки: Python (чистый, без низкоуровневых фреймворков).
  • Библиотека: python-telegram-bot (или аналог).
  • База данных: выбор исполнителя, обязательна схема хранения данных участников.
  • Административная панель: отдельный интерфейс (или логика внутри бота) для управления активностями (создание, запуск, остановка).
  • логирование ключевых событий.

Этапы реализации

  1. Интеграция с Telegram API и настройка webhook/polling.
  2. Реализация парсинга комментариев под постом (по ID поста).
  3. Механизм проверки подписки на канал для каждого участника.
  4. Сохранение данных в БД с привязкой к активности.
  5. Реализация алгоритма случайного выбора победителя.
  6. Тестирование и финальная настройка админки.