Найти в Дзене
SnapToVideo

Автопостинг в Telegram с n8n: просто и эффективно

Всем огромное спасибо за донаты! Ваша поддержка невероятно важна и мотивирует продолжать делиться полезным контентом. Сегодня расскажу, как настроить автопостинг в Telegram с помощью n8n. Мы разберем самый простой способ, доступный даже новичкам, используя бесплатные инструменты, которые работают в России без лишних сложностей. - Mistral — бесплатная модель для генерации текстов, работает в России через API с щедрым лимитом. - FLUX.1-schnell (через Hugging Face) — быстрая модель для генерации изображений, также доступна в России с хорошим лимитом. - n8n — платформа для автоматизации, которую можно развернуть за пару минут. Предполагается, что вы уже знакомы с n8n и понимаете, что такое workflow. Если нет, не переживайте: n8n легко устанавливается на VPS, например, на Beget.com, всего за 7 рублей в день. Мы обойдемся без Google Таблиц или внешних баз данных — всё будет организовано внутри workflow n8n. Рассмотрим два варианта автопостинга: Мы разберем два варианта: Сегодня сосредоточимс
Оглавление
Автоматически публикуем пост в телеграм по заданной теме через n8n
Автоматически публикуем пост в телеграм по заданной теме через n8n

Всем огромное спасибо за донаты! Ваша поддержка невероятно важна и мотивирует продолжать делиться полезным контентом. Сегодня расскажу, как настроить автопостинг в Telegram с помощью n8n. Мы разберем самый простой способ, доступный даже новичкам, используя бесплатные инструменты, которые работают в России без лишних сложностей.

Что будем использовать

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

- FLUX.1-schnell (через Hugging Face) — быстрая модель для генерации изображений, также доступна в России с хорошим лимитом.

- n8n — платформа для автоматизации, которую можно развернуть за пару минут.

Предполагается, что вы уже знакомы с n8n и понимаете, что такое workflow. Если нет, не переживайте: n8n легко устанавливается на VPS, например, на Beget.com, всего за 7 рублей в день.

Мы обойдемся без Google Таблиц или внешних баз данных — всё будет организовано внутри workflow n8n. Рассмотрим два варианта автопостинга:

Два способа автопостинга

Мы разберем два варианта:

  1. По заданным темам — бот публикует статьи на основе тем и контекста, которые вы выберете.
  2. Из RSS-лент — нейросеть перерабатывает новости или посты, переводит их (если нужно) и публикует по расписанию.

Сегодня сосредоточимся на первом варианте — он проще и идеально подходит для старта.

Шаг 1. Создаем workflow в n8n

n8n работает с workflow — это цепочка действий (нод), которые выполняются по порядку. Если вы уже знакомы с n8n, это будет легко. Если нет — просто следуйте инструкциям.

  1. Добавляем триггер: Откройте n8n и создайте новый workflow (кнопка «+» в центре).
    Добавьте ноду
    Schedule Trigger — она запускает процесс по расписанию (например, раз в час или день). Настройки зададим позже.
  2. Задаем темы постов: На «хвостике» триггера добавьте ноду Code (нажмите «+» и выберите из списка).
    Назовите ноду
    Topics.
    В поле кода вставьте список тем, например:
Темы для публикация в ноде Topics
Темы для публикация в ноде Topics

Это пул тем, из которых n8n случайным образом выберет одну. Темы можно придумать самому или сгенерировать через Mistral или DeepSeek (последний платный, но недорогой).

3. Добавляем контекст:

  • Добавьте ещё одну ноду Code и назовите её Context.
  • В этой ноде задаем подтемы для каждой темы. Пример кода:
Добавляем контекст, подтемы нашим основным темам
Добавляем контекст, подтемы нашим основным темам

- Первая нода (Topics) выбирает случайную тему, избегая повторов. Вторая (Context) подтягивает подтемы, объединяет их в строку и возвращает как контекст.

Что проверить:

- Убедитесь, что темы в `knowledgeBase` точно совпадают с массивом `topics` (регистр, пунктуация).

- Проверьте, что для каждой темы есть подтемы в `knowledgeBase`.

- Убедитесь, что выход первой ноды (`{ topic, lastTopic }`) корректно передается во вторую.

Добавляем узел HTTP Request

  1. Перетащите узел HTTP Request в Workflow.
  2. Соедините его с предыдущей нодой (например, "Context").

⚙️ Настройка основных параметров

1. Метод запроса (Method)

  • Выбираем POST (так работает Mistral API).

2. URL API

3. Аутентификация (Headers)

Включаем галочку Send Headers

🔹 Header Parameters:

Поле значение Name Authorization Value Bearer ваш_API_ключ (например, Bearer mk_1234567890abcdef)

(Ключ можно получить в Mistral AI Dashboard)

📦 Настройка тела запроса (Body)

Включаем галочку Send Body

1. Body Content Type

  • Выбираем JSON (Mistral принимает запросы в JSON).

2. Specify Body

  • Выбираем Using JSONExpression

3. Вставляем JSON-запрос

В поле Expression вставляем промт: {"model": "mistral-large-latest","temperature": 0.5,"messages": [{"role": "system","content": "Напиши увлекательную статью на тему: {{ $('Topic').item.json.topic }}. Используй контекст: {{ $json.context }}."}]}

Тестируем генерацию статьи в mistral
Тестируем генерацию статьи в mistral

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

Создаем Telegram-бота

Чтобы публиковать посты, нужен бот. Вот как его создать:

  1. Создаем бота: Откройте Telegram, найдите @BotFather и напишите /start.
    Отправьте команду /newbot.
    Укажите имя бота (например, «МойКаналБот») и username (например, @MyChannelBot, должен заканчиваться на «Bot»).
    Сохраните токен, который выдаст @BotFather.
  2. Добавляем бота в канал: Откройте ваш Telegram-канал.
    Перейдите в настройки → «Управление каналом» → «Администраторы» → «Добавить администратора».
    Найдите бота по username и дайте ему право «Публиковать сообщения». Остальные права можно отключить.

Подключаем Telegram к n8n

  1. На «хвостике» ноды HTTP Request добавьте ноду Telegram.
  2. Настройте:Credentials: Создайте новые, указав токен бота от @BotFather.
    Chat ID: Введите username канала (например, @MyChannel) или его числовой ID (узнать можно через @userinfobot).
    Message: Укажите текст, например, {{ $json.choices[0].message.content }} (результат от Mistral).
    Parse Mode (опционально): Включите Markdown(Legacy) для форматирования.
  3. В ноде Schedule Trigger задайте расписание (например, публикация раз в час или день).

Настройки для типа канала "Публичный"

Тестируем и запускаем

  1. Нажмите «Execute Workflow» в n8n, чтобы проверить процесс.
  2. Убедитесь, что: Триггер срабатывает по расписанию.
    Mistral генерирует текст.
    Бот публикует пост в канал.

Если что-то не работает, проверьте настройки нод и API-ключи. Всё должно запуститься без проблем!

Что дальше?

В следующей статье мы добавим генерацию картинок с помощью FLUX.1-schnell через Hugging Face. Это сделает ваши посты ещё ярче и привлекательнее. Подписывайтесь, чтобы не пропустить! 🚀

Если остались вопросы или что-то не получается, пишите в комментариях — разберемся вместе. Если надо публиковать сам Json процесса пишите. Спасибо, что читаете, и до новых гайдов!