← Кейсы
Автоматизация Telegram-бот Парсинг AI-агент Контент-завод

Парсер и автопубликация материалов в Телеграм

Система следит за источниками, читает страницы и PDF, готовит саммари и передает редактору материал для публикации, правки, переноса или отказа.

Срок 3 дня
Стек Python · Telethon · aiogram · n8n · OpenAI
Результат Вместо 30–60 минут подготовки редактор тратит около двух минут на чтение и решение. Материалы остаются в очереди, дубли отсекаются, а при временной ошибке система повторяет доставку.
  • 60 мин → 2 мин
    Время на один пост
  • 2–4 ч/день → автосбор
    Мониторинг источников
  • копировать вручную → автоизвлечение
    PDF-материалы

Проблема

Проблема

Редактор тратил 2–4 часа в день на ручной мониторинг, чтение PDF и написание саммари. Процесс был не масштабируемым и зависел от одного человека.

Проблема

Редактор канала тратил по несколько часов в день еще до работы с текстом - следил за источниками, открывал страницы и PDF, выписывал главное и только потом собирал пост.

После подготовки материал все равно нужно было проверить, при необходимости поправить, выбрать время публикации и отправить в нужный канал. Весь маршрут зависел от ежедневной ручной работы одного человека.

Что я построил

Конвейер из трех слоев, который собирает материал и передает редактору готовый вариант для финального решения.

1. Мониторинг (userbot)

Userbot на Telethon следит за каналами-источниками в реальном времени.

  • Если в тексте поста есть нужные слова-маркеры — пост идёт в обработку.
  • Если нет — игнорируется.
  • Всё настраивается через удобного Telegram-бота администратора, без правки кода и перезапуска сервера.

2. Обработка (n8n + OpenAI)

Пост попадает в n8n. Там происходит магия:

  • Если есть PDF — текст извлекается автоматически (парсинг документа).
  • OpenAI генерирует саммари по заданному промпту (промпт тоже можно менять прямо из бота).
  • Результат сохраняется в PostgreSQL с защитой от дубликатов.

3. Модерация и публикация (editor-bot)

Бот отправляет готовое саммари редактору. Одно нажатие кнопки:

  • Опубликовать — сразу улетает во все нужные целевые каналы.
  • Запланировать — можно выбрать время, и система сама опубликует позже.
  • Редактировать — поправить текст саммари прямо в боте, если нейросеть где-то ошиблась.
  • Отклонить — пост удаляется из очереди.

PDF-файл прикрепляется отдельно — в комментарии к посту через связанное обсуждение, чтобы не загромождать основной пост.

Хитрые детали

Чтобы временная ошибка не ломала маршрут публикации, в системе есть:

  • Группы маркеров: каждый маркер привязан к конкретному целевому каналу. Один пост про «когнитивные искажения» уйдёт в канал по психологии, про «эффективность» — в канал про бизнес. Всё автоматически.
  • Очередь с ретраями: если Telegram флудит или редактор долго не отвечает, система не теряет пост. Она повторит попытку доставки редактору до 5 раз, а потом вернёт пост в очередь через час.
  • Защита от дубликатов: ограничение ON CONFLICT в базе по паре source_channel + message_id не дает создать вторую запись для того же исходного поста.
  • Планировщик: каждые 30 секунд проверяет отложенные посты и публикует их строго по расписанию.
  • Алерты: при сбое бот присылает уведомление админу в Телеграм.

Под капотом

Архитектура решения:

Каналы-источники
  → userbot (Telethon)
    → outbox queue
      → n8n webhook
        → Read PDF / OpenAI GPT
          → PostgreSQL
            → editor-bot (aiogram 3)
              → редактор нажимает кнопку
                → публикация в целевые каналы

Всё упаковано в Docker Compose. Reverse proxy через Nginx, SSL-сертификаты обновляются через Let’s Encrypt. Деплой — одной командой.

До / После

ПоказательДо внедренияПосле внедрения
Время на пост30–60 мин~2 мин (прочесть и нажать кнопку)
PDF-материалыВручную читать и выписыватьАвтоизвлечение + саммари
МаршрутизацияВручнуюАвтоматически по маркерам

Итог

Вместо 30–60 минут подготовки редактор тратит около двух минут на чтение и решение. Материалы остаются в очереди, дубли отсекаются, а при временной ошибке система повторяет доставку.

Редактор остается финальным фильтром - он может опубликовать материал, отложить, поправить или отклонить.

Такую связку можно собрать под любую нишу: новости, исследования, вакансии, товары, юридические обзоры — везде, где нужен постоянный мониторинг источников, фильтрация и публикация.

Идеальная работа! Тот случай, один на сотню, когда человек делом подтверждает все свои слова.

— Павел NeuraScope
Итог

Вместо 30–60 минут подготовки редактор тратит около двух минут на чтение и решение. Материалы остаются в очереди, дубли отсекаются, а при временной ошибке система повторяет доставку.

Следующий кейс

Автопубликация постов во ВКонтакте

Готовый текст, фото и группа задаются в настройках. Скрипт загружает изображение через VK API, создает запись и показывает результат запуска.