Telegram API в n8n: webhook, ошибки и проверка доставки
Как диагностировать Telegram Trigger, конфликт тестового webhook, ошибки отправки и повторную обработку событий в n8n.
Если бот молчит или отвечает дважды, проверь путь события по этапам. Ниже — порядок диагностики для уже собранного workflow.
Мой подход. Я бы смотрел на первый сломанный переход: событие, обработка или отправка. Когда эти этапы разделены, журнал превращается в план действий, а не в длинный список ошибок.
1. Раздели получение и отправку
У Telegram-автоматизации два независимых направления: Telegram передаёт событие в n8n, а n8n отправляет ответ через Bot API. Если триггер не запустился, изменение текста ответа ничего не исправит. Если execution появился, но отправка упала, webhook уже выполнил свою часть.
Открой последний запуск и найди первый красный узел. Сохрани время, HTTP-код и описание ошибки. Токен бота находится в URL запросов Bot API, поэтому не публикуй полный адрес из журнала. Для расследования обычно достаточно имени метода, кода и очищенного сообщения.
Базовый маршрут без дополнительных API-вызовов описан в создании Telegram-бота в n8n. Здесь разбираем ситуацию, когда маршрут уже есть, но работает нестабильно.
2. Проверь, куда приходят обновления
Метод getWebhookInfo возвращает сведения о зарегистрированном webhook, включая URL, очередь обновлений и последнюю ошибку доставки, когда она есть. Вызови его через собственный защищённый клиент с токеном бота и сравни адрес с рабочим webhook n8n. Не меняй адрес вслепую: сначала зафиксируй текущее состояние. Поля ответа описаны в Telegram Bot API.
Telegram поддерживает один webhook для бота. Если тот же токен используют два workflow или другой сервис, последняя регистрация меняет получателя событий. Тестовый и опубликованный режим n8n также могут заменять адрес друг друга. Разведи рабочий и тестовый бот по разным токенам.
Для self-hosted n8n нужен доступный извне HTTPS-адрес. За reverse proxy проверь публичный WEBHOOK_URL и TLS. Если интерфейс тестирования зависает на ожидании, отдельно проверь поддержку WebSocket у proxy. Это разные настройки; их описывает официальная диагностика n8n.
3. Разбери ошибку конкретного метода
| Ошибка или наблюдение | Что проверить |
|---|---|
| Ошибка авторизации | Актуален ли токен в credentials нужного узла |
| Chat not found | chat.id из события и доступ бота к этому чату |
| Bot was blocked by the user | Прекратить попытки для этого получателя |
| Ошибка разбора entities | Режим Markdown/HTML и специальные символы |
| Ограничение частоты | retry_after в ответе, очередь и задержку |
| Execution есть, ответа нет | Первый упавший узел после триггера |
Сначала отправь простой текст без форматирования. Если он проходит, добавляй разметку отдельно. При ограничении частоты не запускай немедленный цикл повторов: учитывай указанный сервером интервал. Обработка ошибок и параметры методов определены в справке Bot API.
Не включай параллельно getUpdates ради диагностики работающего webhook: эти способы получения обновлений несовместимы. Сначала реши, какой компонент отвечает за приём. В обычном workflow с Telegram Trigger этим занимается n8n.
4. Проверь повторную обработку
Событие может быть доставлено повторно, а execution — перезапущен вручную. Для операции с последствиями, например создания заявки, сохраняй update_id и проверяй, обрабатывался ли он. Если одним хранилищем пользуются несколько ботов, включи идентификатор бота в ключ. Запись и проверка должны учитывать параллельные запуски: простая схема «прочитал — потом записал» может пропустить дубль.
Раздели статус обработки события и результат отправки ответа. Бывает, что заявка уже создана, а ответ Telegram не ушёл. Повтор всего сценария тогда создаст ещё одну заявку. Для такого случая нужен повтор отправки, привязанный к существующему результату.
Проведи контроль: одно сообщение, два разных сообщения, повторная обработка одного update_id и временная ошибка отправки. Сверь число созданных объектов и полученных ответов. После исправления проверь новый рабочий запуск, а не только старые данные в редакторе. Для чтения каналов пользовательским аккаунтом нужен другой подход — Telethon и Telegram.
Собери своего ИИ-агента и проверь результат
«AI Agents: от vibe coding к AI-команде»: desktop agents, MCP, skills, evals и harness. Отдельные воркшопы — от подключения инструментов до контроля качества.
7 практических воркшопов · записи · вопросы автору в чате
Посмотреть программу курса ↗