Техническое задание: Telegram-бот для мониторинга каналов и управления постами
Основная цель
Создание автономного Python-бота, который отслеживает указанные телеграм-каналы, управляет публикациями в целевом канале на основе статистики просмотров и работает в непрерывном режиме.
Функциональные требования
1. Чтение конфигурации
- Бот должен загружать список каналов для мониторинга из текстового файла.
- Формат строки в файле:
@username_канала:минимальное_количество_просмотров.
2. Мониторинг новых публикаций
- Интеграция с Telegram API для отслеживания появления новых постов в каналах из списка.
- При обнаружении нового поста бот должен переслать ссылку на него в заданный приватный канал.
- Формат пересылки: чистая ссылка без превью (предпросмотра) медиа.
3. Автоматическое управление постами
- Бот должен периодически проверять количество просмотров у пересланных постов в целевом канале.
- Как только просмотры поста достигают или превышают указанный в конфигурации лимит, этот пост должен быть автоматически удален из целевого канала.
- Мониторинг исходных каналов должен продолжаться независимо от процесса удаления.
4. Надежность и производительность
- Реализация настраиваемых пауз между запросами к Telegram API для предотвращения ограничений и блокировок.
- Обеспечение стабильной работы в фоновом режиме и обработка возможных ошибок сети или API.
Технические детали
- Язык разработки: Python (предпочтительно с использованием библиотек
python-telegram-bot, aiogram или аналогичных). - Решение должно быть развертываемым и сопровождаемым (чистый код, комментарии, инструкция по запуску).