Техническое задание: Telegram-бот для розыгрышей

Основная цель

Создание автоматизированной системы для проведения розыгрышей в Telegram с обязательной проверкой подписки участников на заданные каналы.

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

1. Команда /start

  • При старте бот предлагает администратору выбрать тип канала для публикации розыгрыша (открытый или закрытый).

2. Создание поста

  • После выбора канала бот запрашивает текст для розыгрыша.
  • Текст должен поддерживать активные гиперссылки на каналы.
  • В пост автоматически добавляется интерактивная кнопка "Участвую".
  • Счетчик на кнопке должен обновляться в реальном времени после каждого нажатия пользователем.

3. Настройка проверки подписок

  • Бот запрашивает у администратора список каналов (открытых и закрытых), на которые необходимо подписаться для участия.
  • Реализовать механизм проверки статуса подписки пользователя на эти каналы.

4. Предпросмотр и публикация

  • Бот отправляет администратору черновик поста для проверки.
  • Предоставить выбор: опубликовать немедленно или отложить публикацию на указанное время.

5. Финальный пост в канале

  • Пост содержит изображение, форматированный текст с гиперссылками и кнопку "Участвую".

6. Логика для участников

  • При нажатии на кнопку "Участвую" пользователь видит:
    • Сообщение "Вы участвуете в розыгрыше", если подписка на все требуемые каналы подтверждена.
    • Список каналов для подписки с соответствующими ссылками, если условие не выполнено.

7. Дополнительные требования

  • Счетчик участников на кнопке должен отображаться в реальном времени.
  • Определение победителей должно проводиться через личные сообщения от бота.