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