Найти в Дзене
Нейросети для всего

Автопостинг новостей в Telegram без программиста: готовое решение на n8n за 10 минут

Если ты когда-нибудь хотел, чтобы новости в твой Telegram-канал приходили автоматически на регулярной основе — прямо с заголовками, рерайтом под твою аудиторию и уже готовыми к публикации — то ты по адресу. В этой статье я покажу, как можно собрать такую систему буквально за один вечер — без строчки кода, просто на визуальном конструкторе n8n. Чтобы твой тг-канал автоматически пополнялся новым и актуальным контентом, даже без твоего участия. Сценарий достаточно простой, но свою функцию выполняет:
– RSS-триггер автоматически находит новые статьи с разных ресурсов с заданной ему периодичностью,
– n8n фильтрует и обрабатывает их в нужном для нас формате,
– Google Sheets используется как мини-база данных,
– нейросеть делает рерайт под твой стиль чтобы не схлопотать за плагиат,
– готовые посты автоматически улетают в твой канал. Да, это полноценный Telegram-бот, который всё делает за тебя. И ты сам поймёшь, как он устроен: мы разберём каждый шаг — каждую «ноду» — зачем она нужна, каки
Оглавление

Если ты когда-нибудь хотел, чтобы новости в твой Telegram-канал приходили автоматически на регулярной основе — прямо с заголовками, рерайтом под твою аудиторию и уже готовыми к публикации — то ты по адресу. В этой статье я покажу, как можно собрать такую систему буквально за один вечер — без строчки кода, просто на визуальном конструкторе n8n. Чтобы твой тг-канал автоматически пополнялся новым и актуальным контентом, даже без твоего участия.

Сценарий достаточно простой, но свою функцию выполняет:

– RSS-триггер автоматически находит новые статьи с разных ресурсов с заданной ему периодичностью,
– n8n фильтрует и обрабатывает их в нужном для нас формате,
– Google Sheets используется как мини-база данных,
– нейросеть делает рерайт под твой стиль чтобы не схлопотать за плагиат,
– готовые посты автоматически улетают в твой канал.

Да, это полноценный Telegram-бот, который всё делает за тебя. И ты сам поймёшь, как он устроен: мы разберём каждый шаг — каждую «ноду» — зачем она нужна, какие параметры задать, как всё связать в один рабочий поток.

Меня зовут Тимур, и я с 2020 года преподаю основы искусственного интеллекта и нейросетей, ещё задолго до появления ChatGPT. В своем телеграм канале и на ютубе делюсь последними новостями и фишками из мира ИИ и нейросетей, а также такими практическими инструментами как в этой статье, потому что они реально экономят время и силы.

Читай эту статью до конца — там я расскажу, как забрать эту готовую систему автоматизации, куда останется только вставить свои данные, и она сразу у вас заработает.

Общая логика сценария

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

-2

Сценарий устроен следующим образом (основные шаги)

Сначала давайте рассмотрим вот этот воркфлоу:

-3
  • Получение RSS: узел RSS Feed Trigger регулярно проверяет указанный RSS-фид (с выбранных вами источников - сайтов - с указанной вами периодичностью) и запускает процесс при появлении новой записи.
  • Извлечение контента: узлы HTTP Request и HTML получают из RSS данных полную страницу статьи и извлекают из неё заголовок, автора, текст, дату, ссылку, изображение и т.д.
-4
  • Предварительная публикация: узлы Code, Send a photo message и Send a text message обрабатывают и отправляют изображение и текст статьи в чат Telegram-бота для ознакомления с содержанием сайта и последующего запуска инлайн-кнопкой рерайта новости, которая вам кажется интересной.
-5
-6

Почему нужно две ноды отдельно фото и текст сообщения?
Телеграм ограничивает количество символов в подписи к какому-либо файлу. Лимит = 1024 символа. Т.е. если бы была только одна нода Send a photo message (чтобы отправить фото и текст одним сообщением) - появилась бы ошибка и ничего не отправилось бы, цепочка прервана. Любая полноценная новость будет превышать лимит, поэтому создаем две ноды и отправляем фото и текст отдельно.

  • Хранение: узел Append row in sheet сохраняет данные статьи (заголовок, автор, ссылка, содержание, изображение) в Google Sheets, включая message_id отправленного в телеграм сообщения для присвоения уникального id каждой новости в таблице. Это дает возможность сделать рерайт и публикацию любой новости и неважно насколько давно она была предложена. Сообщение в боте и строка в таблице связаны и сохраняются на автомате.
-7
-8
  • Webhook Telegram: при однократной настройке узлы token1 и HTTP Request4 регистрируют у Telegram вебхук — публичный URL, на который Telegram будет присылать обновления вашего бота. Под «обновлениями» понимаются разные типы событий, но конкретно в этом боте это в основном нажатия inline-кнопок (callback_query). В этом workflow token1 задаёт две переменные: token — токен Telegram-бота (получаете у BotFather) и url — ваш публичный адрес n8n (пример: https://<ваш-домен>/webhook-test/adfa1544-.../). Узел HTTP Request4 вызывает метод setWebhook Telegram API и отправляет в теле JSON — таким образом Telegram начнёт слать все выбранные типы обновлений на url+token. Узел ТГ вебхук в n8n настроен на путь :token и принимает эти POST-запросы, после чего передаёт сырые данные дальше (в Telegram Trigger → Преобразование форматов) для нормализации и маршрутизации.
  • Проще говоря: когда пользователь нажимает кнопку (например «✏️Рерайт», «🔁Ещё раз», «✅Публикация»), Telegram высылает callback_query на ваш webhook — и workflow сразу получает и обрабатывает это событие. Настройку setWebhook обычно выполняют один раз вручную; повторно запускать надо только при смене токена или публичного URL. Не забудьте хранить token в секрете и указывать корректный публичный url, но в ноде token1 убрать окончание “:token” иначе Telegram не сможет доставлять обновления.
-9
-10
-11
-12
  • Обработка ответов: узел Преобразование форматов нормализует входящие обновления Telegram (обычные сообщения, фото, callback_query от inline-кнопок) в единый удобный JSON с полями text, event, user_id, message_id, raw_data и т.д.
-13

Важный момент — в самом workflow мы заранее создаём inline-кнопки и прикрепляем их к сообщениям (это делается в узлах Send a text message, Send a photo message1 и Send a photo message2). Inline-кнопки не присылают обычный текст пользователем — при нажатии Telegram генерирует событие callback_query с полем data (в нашем случае это строки "✏️Рерайт", "🔁Ещё раз" или "✅Публикация"). Узел Switch проверяет именно это поле ($json.raw_data.callback_query.data) и маршрутизирует поток по трём веткам:

  • ✏️Рерайт → запускает ветку первичного рерайта (AI Agent1),
-14
  • 🔁Ещё раз → запускает ветку повторного рерайта (AI Agent2),
  • ✅Публикация → берёт данные из Google Sheets (Get row(s) in sheet1) и идёт в узел Публикация.
-15

Иными словами: кнопки — это элементы управления, встроенные в сообщения; каждая имеет своё значение переменной callback_data, которое и определяет, какую именно операцию должен выполнить workflow.

1. «✏️Рерайт» — запускает ветку AI Agent1.
При нажатии кнопки Telegram присылает callback_query, у которого есть поле reply_to_message — это исходное сообщение с черновиком, отправленное раньше ботом.
AI Agent1 берёт этот исходный текст (обычно callback_query.message.reply_to_message.text), делает рерайт и возвращает готовый вариант в поле output. После этого workflow обновляет ту же строку в Google Sheets (узел Update row in sheet1) — он находит запись по тому самому id, который изначально был записан в таблицу при Append row in sheet (это message_id отправленного сообщения). Сохранённый столбец «пост» теперь содержит новый рерайт. Наконец, сгенерированный текст автоматически отправляется обратно в тестовый чат через Send a photo message1 (фото + подпись = новый черновик) с кнопками «🔁Ещё раз» и «✅Публикация» для дальнейших действий.

-16

2. «🔁Ещё раз» — идёт в AI Agent2.
Эта кнопка используется, когда первый вариант рерайта не устроил: бот берёт в качестве входа либо исходный текст, либо предыдущий сгенерированный черновик (в зависимости от того, как настроен промпт — в workflow это реализовано через разные поля raw_data / reply_to_message), и формирует альтернативный вариант. Результат тоже
записывается в ту же строку Google Sheets (через Update row in sheet — отдельный узел для второй ветки) в колонку «пост», перезаписывая предыдущий черновик. После записи отправляется Send a photo message2 — этот узел служит для отправки следующей версии черновика в тестовый чат, опять с кнопками «Ещё раз»/«Публикация», чтобы можно было итеративно править и сохранять версии.

-17

Коротко о различии между Update row in sheet1 и Update row in sheet: технически это два разных узла Google Sheets, привязанных к разным точкам ветвления workflow — оба делают update по совпадению id, но используются в разных ветках (первый — для первичного рерайта, второй — для повторных итераций). Это нормальная практика, когда для разных ветвей удобнее держать отдельные узлы с похожей логикой.

-18

3. «✅Публикация» — финальная отправка в канал.
При нажатии этой кнопки workflow не запускает AI: вместо этого узел Get row(s) in sheet1 ищет в Google Sheets строку по ссылке/ID (та самая запись, где в колонке «пост» лежит утверждённый текст). Затем узел Публикация (sendPhoto) отправляет
в целевой канал (chatId здесь другой - не бота, а канала: -100...), используя URL изображения и финальный текст из колонки «пост». Отличие от промежуточных Send a photo message1/2 в том, что первые два отправляют черновики в тестовый/контрольный чат (чтобы человек мог проверить и повторно редактировать), а Публикация делает публичную, окончательную публикацию в целевом канале.

-19

Резюмируем: кнопки — это управляющие команды с разными callback_data. Рерайт — несколько итераций сохраняются в той же строке Google Sheets (колонка «пост» перезаписывается), а разные узлы Send a photo message, Send a photo message1/2 разделяют роль: первые — показ черновиков в тестовом чате для проверки и итераций, последний (Публикация) — отправка подтверждённого контента в основной канал.

AI-генерация

Перед использованием узлов OpenRouter Chat Model / AI Agent в n8n обязательно добавьте в Credentials API-ключ OpenRouter (или API со своего аккаунта нейросети) и выберите учётные данные в самом узле — это позволяет n8n аутентифицироваться и отправлять запросы к выбранной модели.

-20

Далее в настройках узла укажите модель, которую хотите использовать. В данном сценарии в workflow прописана бесплатная модель deepseek/deepseek-chat-v3.1:free — это модель DeepSeek, доступная через OpenRouter; при желании вы можете выбрать любую другую модель из каталога OpenRouter (есть как платные, так и бесплатные). Список моделей и их параметры

-21

После настройки кредов и выбора модели поток выглядит так: AI Agent получает исходный текст (из callback_query.message.reply_to_message.text или другого поля), формирует рерайт по заданному промпту и возвращает результат в поле output; затем узлы Update row in sheet1 / Update row in sheet записывают этот результат в колонку «пост» Google Sheets (перезаписывая предыдущую версию при итерациях). Наконец сгенерированный пост автоматически отправляется в тестовый чат через Send a photo message1 или Send a photo message2 (чтобы пользователь мог проверить и/или нажать «🔁Ещё раз» / «✅Публикация»). При окончательном утверждении Get row(s) in sheet1 подхватывает финальный текст из Google Sheets, и узел Публикация отправляет его в целевой канал.

-22

Этот workflow реализует полный «конвейер» от RSS до публикации — автоматически собирает и очищает материалы, сохраняет исходники и версии в Google Sheets, даёт оператору удобный интерфейс для запуска рерайта через inline-кнопки с возможностью итераций, интегрирует выбранную AI модель и в итоге отправляет утверждённый контент в целевой канал.

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

Если вы хотите получить весь сценарий этого workflow в одном файле (.json), который можно просто импортировать в ваш проект (только заменить RSS-ссылки и добавить свои токены и API ключи для Telegram и нейросетей) — забирайте его бесплатно по этой ссылке

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