Многоканальный агрегатор контента в Telegram (Telethon + n8n)

image

Краткое описание: Гибридная система автоматизации, где внешний Python-скрипт (Telethon) мониторит 6 источников в Telegram в реальном времени, а сценарий n8n принимает эти данные через вебхук, фильтрует их по сложным критериям и публикует в целевой канал.

Проблема: Необходимость вести новостной канал, собирая информацию из множества разрозненных местных групп и пабликов (6 источников). Ручной мониторинг 24/7 невозможен, а стандартные боты для репостов часто не справляются с фильтрацией мусора и рекламы из источников.

Решение: Разработана двухкомпонентная архитектура. «Слушатель» на базе библиотеки Telethon и «Обработчик» на базе n8n.

Как это работает (Архитектура):

  1. Внешний мониторинг (Python/Telethon):
    • На сервере работает скрипт, использующий клиентскую библиотеку Telethon. Он авторизован как пользователь и «слушает» новые сообщения в 6 заданных группах/каналах.
    • Как только появляется новый пост, скрипт перехватывает его и отправляет данные (текст, медиа, источник) POST-запросом на специальный URL вебхука n8n.
  2. Обработка и Фильтрация (n8n):
    • Прием данных (Webhook): Сценарий n8n стартует по входящему вебхуку (узел Webhook).
    • Сложная логика фильтрации: Входящие данные проходят через каскад условий (узлы IF и Switch). Сценарий проверяет:
      • Содержит ли пост стоп-слова (например, фильтрация рекламы).
      • Есть ли прикрепленное фото или видео (ветки «Если нет фото», «с фото»).
      • Другие критерии маршрутизации контента.
  3. Публикация (Telegram API):
    • Посты, прошедшие фильтрацию, форматируются (например, добавляется подпись или хештеги) и публикуются в целевой канал через стандартный узел Telegram-бота в n8n.

Результат:

  • Создан единый агрегатор, собирающий самое важное из 6 источников.
  • Высокая скорость доставки контента (real-time).
  • Автоматическая очистка ленты от рекламы и нерелевантного контента благодаря гибкой логике n8n.

Стек технологий: Python, Telethon Library (мониторинг), n8n (Webhook, сложная логика IF/Switch), Telegram Bot API (публикация).