Задача

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

Основной функционал

1. Парсинг сообщений

  • Поддержка одновременного наблюдения за несколькими источниками: чатами, группами, каналами.
  • Гибкий поиск по ключевым словам:
    • Одиночные слова
    • Комбинации через операторы AND (все слова должны присутствовать) и OR (любое из списка)
  • Параллельная обработка каждого источника с использованием отдельного потока или асинхронного выполнения.

2. Пересылка сообщений

  • Для каждого набора ключевых слов можно указать свою целевую Telegram-группу, куда будут отправлены совпавшие сообщения.

3. Хранение данных в базе

  • Все отслеженные сообщения и метаданные сохраняются в локальной реляционной базе данных.

4. Сбор активных пользователей

  • Парсер фиксирует участников, которые пишут в чатах, накапливая статистику: имя/id, количество сообщений за период, последнюю активность.

Требования к стабильности и антиблокировке

  • Соблюдение лимитов Telegram API (избегать флуда, не нарушать порядок запросов).
  • Умные паузы и случайные задержки между проверками.
  • Отсутствие повторных авторизаций - сессия сохраняется.
  • Устойчивость к падениям - автоматический перезапуск при ошибках сети или внештатном завершении.

Возможности расширения

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