Skip links

Работа с Telegram n8n: Полное руководство для новичков

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

Основные ноды Telegram в n8n 

— Telegram Trigger (Webhook) 

Для чего: Перехват сообщений, голосовых записей, файлов и действий с кнопками в реальном времени. 
Как настроить: 

1. Создайте бота через @BotFather. 
2. Вставьте токен в ноду и укажите URL вебхука (например, https://ваш-сервер.com/webhook). 
3. Активируйте триггер — бот начнет получать события. 

Пример использования: 

json 
// Пример входящего сообщения 
{ 
"message": { 
  "text": "/start", 
    "from": {"id": 12345}, 
    "voice": {"file_id": "AwADBAADbQADAQZgZ..."} // Если это голосовое 
  } 
}

— Что можно делать: 

– Ловить команды (например, /help). 
– Получать ID чата для дальнейшей работы. 
– Запускать процессы при получении голосовых сообщений. 

— Telegram: Send Message 

// Пример клавиатуры  
{  
  "inline_keyboard": [  
    [{"text": "Подтвердить", "callback_data": "confirm"}]  
  ]  
}  


Совет: Используйте динамические выражения в тексте, например, подставляйте имя пользователя: 

Привет, {{$json.message.from.first_name}}! 

— Telegram: Send Media 

Для чего: Отправка фото, видео, PDF и аудио. 

Как работает: 

1. Загрузите файл через ноду HTTP Request или Read Binary File. 
2. Передайте содержимое в поле «Media File» ноды. 
3. Укажите тип медиа (photo, audio, document). 

Пример: Автоматическая отправка ежедневного отчета в PDF: 

Google Sheets (данные) → Generate PDF (нода-скрипт) → Send Media 

— Telegram: Answer Callback Query 

Для чего: Реакция на нажатие inline-кнопок. 

Сценарий: 

1. Пользователь нажимает кнопку «Показать детали». 
2. Бот отвечает всплывающим уведомлением: «Ищем информацию…». 
3. Обновляет интерфейс новыми кнопками. 

Настройка: 

– В поле Callback Query ID укажите {{$json.callback_query.id}}. 
– Используйте Show Alert: true, чтобы уведомление осталось на экране. 

— Telegram: Delete Message 

Для чего: Удаление сообщений по ID (например, после проверки модерации). 

Пример (последовательность нод): 

Telegram Trigger → IF (сообщение содержит запрещенное слово) → Delete Message 

Где взять ID сообщения: {{$json.message.message_id}}. 

— Telegram: Edit Message 

Для чего: Изменение текста или кнопок в уже отправленном сообщении. 

Идеи для применения: 

– Обновление статуса заказа: «✅ Ваш заказ собран». 
– Динамические опросы: изменение процентов голосов в реальном времени. 

 Голосовые сообщения: от приема до интеграции с ИИ 

— Как получить голосовое сообщение 

1. Добавьте ноду Telegram Trigger. 
2. В фильтре событий выберите voice. 
3. Для скачивания файла используйте ноду Download File, указав file_id: {{$json.message.voice.file_id}}. 

— Преобразование голоса в текст 

Варианты интеграции: 

– OpenAI Whisper (последовательность нод): 

  Download File → OpenAI (модель whisper-1) → Текст 

– Hugging Face Speech Recognition: 

  Используйте модель facebook/wav2vec2-base-960h через ноду Hugging Face. 

— Как отправить голосовой ответ 

1. Сгенерируйте текст через LLM (например, GPT-4). 
2. Конвертируйте текст в аудио через Google Text-to-Speech или Amazon Polly. 
3. Отправьте файл через Send Media с типом audio. 

Пример запроса в Google Cloud TTS: 

{  
  "input": {"text": "Добрый день! Как я могу помочь?"},  
  "voice": {"languageCode": "ru-RU", "name": "ru-RU-Wavenet-C"},  
  "audioConfig": {"audioEncoding": "MP3"}  
}  

 Связь Telegram-бота с LLM: сценарии 

— Чат-бот с искусственным интеллектом 

Как настроить: 

1. Перехватите сообщение через Telegram Trigger. 
2. Извлеките текст: {{$json.message.text}}. 
3. Передайте запрос в LLM (Anthropic, OpenAI, локальная модель через Custom API). 
4. Отправьте ответ через Send Message. 

Пример запроса к Claude 3: 

{  
  "model": "claude-3-opus-20240229",  
  "messages": [{"role": "user", "content": "{{$json.message.text}}"}]  
}  

 

— Голосовой ассистент для анализа данных 

Цепочка действий: 

Голосовая команда → Конвертация в текст → Запрос к LLM → Анализ данных в Google Sheets → Голосовой ответ 

Детали: 

– Пользователь говорит: «Какая выручка за март?». 
– LLM определяет intent и параметры (месяц: март, метрика: выручка). 
– n8n запрашивает данные из таблицы и формирует ответ: «В марте выручка составила 1,2 млн рублей». 

 Примеры рабочих процессов 

— Умные напоминания 

Telegram Trigger (текст: /напомни) → Extract Keywords (дата и задача) → Google Calendar (создать событие) → Telegram: Send Message («Напоминание установлено на {{дата}}») 

— Опросник с сохранением в БД 

Send Message (кнопки: Да/Нет) → Answer Callback Query → PostgreSQL (запись ответа) → Send Message («Спасибо за участие!») 

— Бот-аналитик для трейдинга 

Пользователь: «Цена BTC?» → Binance API (курс) → GPT-4 (анализ тренда) → Send Message («Сейчас $61,230. Рост 2% за час.») 

Рекомендации по оптимизации 

— Кэширование данных 

Если бот часто обращается к API или LLM, используйте Redis для временного хранения результатов. Например: 

Запрос погоды → Redis (проверка кэша) → IF (нет в кэше) → OpenWeatherMap API → Redis сохранить на 10 мин) 

— Обработка ошибок 

Добавьте ноду Catch после ключевых операций. Пример уведомления об ошибке: 

Try (отправка сообщения) → Catch → Send Message («Ой, произошла ошибка! Мы уже работаем над этим.») 

 

Мы используем ваши файлы cookie. Вы не против?

Вход

Вход

Регистрация

Регистрация
close-link

Заявка на внедрение

Заказ внедрения
close-link

Вход

Вход

Регистрация

Регистрация
close-link

Регистрация