Всем огромное спасибо за донаты! Ваша поддержка невероятно важна и мотивирует продолжать делиться полезным контентом. Сегодня расскажу, как настроить автопостинг в Telegram с помощью n8n. Мы разберем самый простой способ, доступный даже новичкам, используя бесплатные инструменты, которые работают в России без лишних сложностей.
Что будем использовать
- Mistral — бесплатная модель для генерации текстов, работает в России через API с щедрым лимитом.
- FLUX.1-schnell (через Hugging Face) — быстрая модель для генерации изображений, также доступна в России с хорошим лимитом.
- n8n — платформа для автоматизации, которую можно развернуть за пару минут.
Предполагается, что вы уже знакомы с n8n и понимаете, что такое workflow. Если нет, не переживайте: n8n легко устанавливается на VPS, например, на Beget.com, всего за 7 рублей в день.
Мы обойдемся без Google Таблиц или внешних баз данных — всё будет организовано внутри workflow n8n. Рассмотрим два варианта автопостинга:
Два способа автопостинга
Мы разберем два варианта:
- По заданным темам — бот публикует статьи на основе тем и контекста, которые вы выберете.
- Из RSS-лент — нейросеть перерабатывает новости или посты, переводит их (если нужно) и публикует по расписанию.
Сегодня сосредоточимся на первом варианте — он проще и идеально подходит для старта.
Шаг 1. Создаем workflow в n8n
n8n работает с workflow — это цепочка действий (нод), которые выполняются по порядку. Если вы уже знакомы с n8n, это будет легко. Если нет — просто следуйте инструкциям.
- Добавляем триггер: Откройте n8n и создайте новый workflow (кнопка «+» в центре).
Добавьте ноду Schedule Trigger — она запускает процесс по расписанию (например, раз в час или день). Настройки зададим позже. - Задаем темы постов: На «хвостике» триггера добавьте ноду Code (нажмите «+» и выберите из списка).
Назовите ноду Topics.
В поле кода вставьте список тем, например:
Это пул тем, из которых n8n случайным образом выберет одну. Темы можно придумать самому или сгенерировать через Mistral или DeepSeek (последний платный, но недорогой).
3. Добавляем контекст:
- Добавьте ещё одну ноду Code и назовите её Context.
- В этой ноде задаем подтемы для каждой темы. Пример кода:
- Первая нода (Topics) выбирает случайную тему, избегая повторов. Вторая (Context) подтягивает подтемы, объединяет их в строку и возвращает как контекст.
Что проверить:
- Убедитесь, что темы в `knowledgeBase` точно совпадают с массивом `topics` (регистр, пунктуация).
- Проверьте, что для каждой темы есть подтемы в `knowledgeBase`.
- Убедитесь, что выход первой ноды (`{ topic, lastTopic }`) корректно передается во вторую.
Добавляем узел HTTP Request
- Перетащите узел HTTP Request в Workflow.
- Соедините его с предыдущей нодой (например, "Context").
⚙️ Настройка основных параметров
1. Метод запроса (Method)
- Выбираем POST (так работает Mistral API).
2. URL API
- Вставляем: https://api.mistral.ai/v1/chat/completions
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 JSON → Expression
3. Вставляем JSON-запрос
В поле Expression вставляем промт: {"model": "mistral-large-latest","temperature": 0.5,"messages": [{"role": "system","content": "Напиши увлекательную статью на тему: {{ $('Topic').item.json.topic }}. Используй контекст: {{ $json.context }}."}]}
Промт можно доработать, добавив инструкции для модели, чтобы текст был более креативным или соответствовал стилю вашего канала.
Создаем Telegram-бота
Чтобы публиковать посты, нужен бот. Вот как его создать:
- Создаем бота: Откройте Telegram, найдите @BotFather и напишите /start.
Отправьте команду /newbot.
Укажите имя бота (например, «МойКаналБот») и username (например, @MyChannelBot, должен заканчиваться на «Bot»).
Сохраните токен, который выдаст @BotFather. - Добавляем бота в канал: Откройте ваш Telegram-канал.
Перейдите в настройки → «Управление каналом» → «Администраторы» → «Добавить администратора».
Найдите бота по username и дайте ему право «Публиковать сообщения». Остальные права можно отключить.
Подключаем Telegram к n8n
- На «хвостике» ноды HTTP Request добавьте ноду Telegram.
- Настройте:Credentials: Создайте новые, указав токен бота от @BotFather.
Chat ID: Введите username канала (например, @MyChannel) или его числовой ID (узнать можно через @userinfobot).
Message: Укажите текст, например, {{ $json.choices[0].message.content }} (результат от Mistral).
Parse Mode (опционально): Включите Markdown(Legacy) для форматирования. - В ноде Schedule Trigger задайте расписание (например, публикация раз в час или день).
Настройки для типа канала "Публичный"
Тестируем и запускаем
- Нажмите «Execute Workflow» в n8n, чтобы проверить процесс.
- Убедитесь, что: Триггер срабатывает по расписанию.
Mistral генерирует текст.
Бот публикует пост в канал.
Если что-то не работает, проверьте настройки нод и API-ключи. Всё должно запуститься без проблем!
Что дальше?
В следующей статье мы добавим генерацию картинок с помощью FLUX.1-schnell через Hugging Face. Это сделает ваши посты ещё ярче и привлекательнее. Подписывайтесь, чтобы не пропустить! 🚀
Если остались вопросы или что-то не получается, пишите в комментариях — разберемся вместе. Если надо публиковать сам Json процесса пишите. Спасибо, что читаете, и до новых гайдов!