Задача

Необходимо разработать Telegram-бота для поиска фильмов по уникальному коду - полный функциональный аналог существующего бота-примера. Основное отличие: начальный шаг авторизации включает обязательную проверку заявок на вступление в 5 указанных каналов (проверка именно подачи заявки, а не факта одобрения), так как заявки могут не одобряться мгновенно. Пользователь проходит дальше, если подача заявки зафиксирована. Все элементы фирменного стиля, названия компаний, сайты и телефоны должны быть заменены на обобщённые или заглушки.

Основные требования

1. Функционал поиска по коду

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

2. Проверка заявок на подписку

  • При старте бот запрашивает подписку на 5 обязательных каналов.
  • Сбор статусов каналов производен по системе подачи заявки (через Telegram API проверяется - состоялась ли заявка от пользователя).
  • Если пользователь просто открыл канал, но не подал заявку - доступ закрыт, выводится сообщение об этом и кнопка «Подать заявку».
  • Как только заявка подана (не обязательно одобрена) - бот допускает пользователя к последующим шагам (главному меню, вводу кода и пр.).

3. Модерируемая база

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

4. Обработка ошибок и оформление

  • Интерфейс должен быть интуитивно понятным, соответствовать стилистике бота-примера.
  • В публичном описании бота, кнопках и сообщениях не должно быть контактных данных реальной фирмы - заменить общими фразами (типа «Кино-помощник», «Навигатор фильмов»).

Дополнительно

Подробности по алгоритму подачи заявок смотреть через описание разработчика оригинального бота - с соблюдением логики взаимодействия, включая повторную проверку раз в несколько секунд, если канал ложный. Все вопросы по уточнению логистики заявок, общих справочников каналов и техпараметров бота уточняются в чате.