Техническое задание: Telegram-бот для ретрансляции сообщений
Цель проекта
Разработать бота, который автоматически копирует сообщения из исходного канала в целевой, применяя гибкую систему фильтрации. Бот должен отправлять в конечный канал только отфильтрованные и проверенные сообщения, исключая запрещенный контент. Управление всей системой осуществляется через простой интерфейс в Telegram.
Основной функционал
1. Система фильтрации
- Выбор сообщений для ретрансляции по одному или нескольким критериям:
- По наличию определенных хештегов.
- По ключевым словам в тексте.
- По ID отправителя (автора) сообщения.
- Ведение списка запрещенных слов. Сообщения, содержащие эти слова, не должны ретранслироваться.
2. Механизм ретрансляции
- Два режима отправки:
- Немедленная отправка.
- Отправка с задержкой (настраиваемый интервал от 5 до 60 секунд).
- Два метода публикации в целевом канале:
- Пересылка исходного сообщения (forward).
- Создание нового сообщения - копия текста, медиафайлов и подписи.
3. Защита и ограничения
- Реализация лимита на скорость отправки: не более 30 сообщений в секунду для защиты от превышения лимитов Telegram.
Интерфейс управления
Управление ботом должно осуществляться через Telegram с помощью следующих элементов:
- Команды:
- /settings - общие настройки.
- /add_filter - добавить новый фильтр.
- /remove_filter - удалить существующий фильтр.
- /list_filters - просмотреть список активных фильтров.
- Inline-кнопки для быстрого включения/выключения каждого фильтра без ввода команд.
Технические требования
- Бот должен быть размещен на хостинге заказчика.
- Код должен быть написан качественно, с комментариями.