Telegram Trigger и Telegram Bot в n8n: команды, файлы и безопасные ответы ¶
Обновлено: 2026-05-29
В n8n Telegram обычно состоит из двух частей: Telegram Trigger принимает входящие сообщения, команды и файлы, а Telegram node отправляет ответы, уведомления и документы. Такой бот может принимать заявки, пересылать алерты, запускать внутренние сценарии, присылать отчёты и работать как интерфейс к AI Agent.
Что важно сразу
Telegram Trigger запускает workflow по входящему событию. Telegram node отправляет действие обратно в чат. Не храните токен бота в тексте нод, используйте credentials. Не отвечайте на любые сообщения без проверки chat_id, если бот управляет бизнес-данными.
Типовая схема бота ¶
- Создать бота через BotFather и получить token.
- Создать Telegram credentials в n8n.
- Добавить Telegram Trigger и выбрать события.
- Через Switch разобрать команду:
/start,/status,/report, обычный текст. - Проверить
chat_idили список разрешённых пользователей. - Выполнить действие: запрос к CRM, AI Agent, Google Sheets, Postgres.
- Ответить через Telegram node.
chat_id: где взять и зачем проверять ¶
chat_id — ключевой идентификатор чата. Для личного чата, группы и канала значения отличаются. Самый простой способ получить его — отправить сообщение боту и посмотреть входные данные Telegram Trigger в execution. Если бот должен работать только для команды, храните список разрешённых chat_id и проверяйте его до любых действий.
{
"message": {
"chat": {"id": 123456789, "type": "private"},
"text": "/status"
}
}
Команды через Switch ¶
Для команд лучше использовать Switch: одна ветка для /start, другая для /status, третья для /report, fallback для неизвестного текста. Так бот не превращается в цепочку IF. Перед Switch удобно создать поле command, где команда очищена от пробелов и приведена к нижнему регистру.
Файлы и вложения ¶
Telegram может отправлять фото, документы, голосовые и другие файлы. В n8n важно понимать, где находится file_id, как получить binary data и куда дальше сохранить файл: Google Drive, Яндекс Диск, S3, CRM или локальное хранилище. Для больших файлов добавляйте ограничения размера и понятный ответ пользователю, если файл не подходит.
Бот как интерфейс к AI Agent ¶
Telegram AI bot часто делают слишком открытым: любой пользователь пишет текст, workflow отправляет его в LLM и возвращает ответ. Для рабочего бота лучше добавить ограничения: whitelist chat_id, лимит длины сообщения, фильтр команд, журнал запросов, fallback при ошибке модели и запрет на выполнение опасных tools без подтверждения человека.
Webhook или polling ¶
Для стабильной работы на сервере предпочтительнее корректный webhook с HTTPS и публичным доменом. Если n8n работает локально, Telegram не сможет достучаться до localhost. На self-hosted сервере проверьте домен, HTTPS, WEBHOOK_URL и reverse proxy. Для временных тестов можно использовать tunnel, но для постоянного бота лучше нормальный домен.
Типовые ошибки Telegram в n8n ¶
| Симптом | Причина | Что сделать |
|---|---|---|
| бот не отвечает | workflow выключен, trigger не активен или неверный token | проверить credentials и activation |
| сообщения не приходят в n8n | Telegram не видит webhook URL | проверить HTTPS, домен, reverse proxy и WEBHOOK_URL |
| ответ уходит не в тот чат | используется статичный chat_id | брать chat_id из входящего message |
| бот спамит ответами | нет фильтра команд и пользователей | добавить Switch, whitelist и rate limit |
| файл не обрабатывается | не получен binary file или не тот тип сообщения | проверить структуру update и file_id |
Минимальный безопасный сценарий ¶
- Telegram Trigger принимает сообщение.
- Set/Edit Fields достаёт
chat_id,text,username. - IF проверяет, что chat_id разрешён.
- Switch выбирает команду.
- HTTP Request или нода интеграции получает данные.
- Telegram node отправляет короткий ответ.
- Error workflow отправляет алерт администратору.
Практический контекст для внедрения ¶
Эта страница полезна не как абстрактная справка, а как рабочая инструкция под использование ноды/паттерна «Telegram Trigger и Telegram Bot в n8n: команды, файлы и безопасные ответы» в рабочем workflow, где важно понимать входные items и формат результата. Перед изменением workflow зафиксируйте источник события: Telegram bot, Telegram Trigger или webhook от Bot API. Так проще отделить ошибку данных от ошибки настройки n8n и не превратить исправление в набор случайных правок.
Минимальная проверка перед публикацией workflow: один happy path, один пустой payload, один повтор события и одна ошибка внешнего сервиса. Для мониторинга используйте duplicate update_id, delivery latency, failed sends, blocked bot count; эти показатели быстро покажут, что сценарий работает иначе, чем ожидалось.
Связанные материалы ¶
- Интеграция Telegram и n8n — общий обзор сценариев.
- Workflow Telegram bot — шаблон для импорта.
- Диагностика Telegram — если бот молчит.
- Telegram AI bot — бот с AI Agent.