Подробное описание задачи
Общая концепция
Необходимо разработать Telegram-бота на Python, который будет мониторить новостные каналы (около 100 публичных источников) и по заданным условиям фильтровать и пересылать посты в мои собственные каналы, сгруппированные по тематикам. Бот должен отсекать всё, что не соответствует ключевым словам из установленного списка, а также блокировать посты со стоп-словами - рекламу, спам и нежелательный контент.
Функциональные требования
- Мониторинг каналов-доноров: Бот должен сканировать посты из заданного списка публичных каналов. Важное условие - бот не является админом или подписанным пользователем в каналах-донорах, поэтому работа должна строиться через обращение по ID канала (парсер через телеграм-апи с публичным доступом).
- Умная фильтрация:
- Пересылать исключительно те посты, которые содержат любое из слов из предоставленного списка · включений (ключевых слов).
- Автоматически отсеивать посты со стоп-словами (например: казино, крипта, реклама и прочие слова из отдельного списка).
- Фильтрация как по словосочетаниям, так и по отдельным словам.
- Формат пересылаемых сообщений:
- Возможна отправка в виде копии текста с иcпользованием функции репоста (цитирования), либо чистого скопированного текста поста с добавлением ссылки на исходное сообщение.
- Формат не должен содержать служебной информацию, кроме ссылки на источник.
- Скорость: Бот должен работать в режиме, близком к реальному времени - по возможности отправлять отфильтрованные сообщения мгновенно после обнаружения в канале-доноре (максимально допустимая задержка - несколько секунд).
Технологический стек
- Python 3.10+
- Библиотека для работы с Telegram: aiogram, pyrogram, либо использование прямого Telegram-клиента (TData или парсинг через Telegram API).
- Планируется разворачивание на сервере/VPS либо бесплатном облаке/хостинге (с возможностью круглосуточной работы).
- Исполнение без использования устаревших библиотек (только поддерживаемые).
Что требуется от исполнителя
- Разработать код с полным соблюдением правил приватности, не сохранять контент на сторонних серверах (работа на стороне заказчика).
- Предусмотреть гибкую архитектуру добавления исходных и приемных каналов, а также списка ключевых/стоп-слов (через конфигурационный файл без перезагрузки бота).
- Реализовать опцию: несколько групп целевых каналов для каждой выбранной тематики. Посты при одинаковых настройках спамных слов попадают ровно в один канал-приемник по совпадению с ключевыми словами.
- Под каждый проект - своя база обновлений? Если необходимо, укажет исполнитель - рассчитайте минималистично (SQLite или текстовый периодический перечитываемый файл).
- Бот по возможности должен корректно обрабатывать больное публичность независимой направленности (например даже Дзен дайджест), паузы при капче, блокировку отправки рекламодателями. Эмуляция плохих: бот прорабатываем каждые неисправности.
- Финальная отправка исполнимого функционального кода с краткими инструкциями к развертыванию (Docker или Just скриптом).
Примечания
- Дисклеймер: доступ к ресурсам третьими получателями не используется. Без нагрузки.
- Объявление исполнителя → Возможная синхронизация после утверждения работы.
- Вся отладка силами разработчика на собственном тестовом облаке или местно с отправкой результатов смно ин.