Все ноды/Integrations/Telegram

Telegram: получить файл

Скачивает вложение Telegram по file_id и кладёт его в файловое хранилище файловой ссылкой — её можно подать в LLM/vision или в «Telegram: отправить сообщение». file_id берётся из записанной истории ({{ nodes.telegram_history_1.rows[0].media_file_id }}). Не для текущего сообщения: вложение сообщения, которое запустило сценарий, уже приходит на выход «Сообщение» ноды «Вход» — ведите его прямо в «Речь → Текст» или в модель. Bot API отдаёт файлы только до 20 МБ. Использует бота, на которого опубликован сценарий; чтобы взять другого бота через порт «Подключение Telegram», переключите «Источник подключения» на «Внешнее подключение».

Telegram: получить файл▶
Подключение TelegramФайл
Ошибка

Тип в графе: telegram_get_file

Exec

Можно включить выход ошибки и обработать сбой отдельным путём.

Как попробовать

Минимальный рабочий сценарий

Вход
Telegram: получить файл▶
Выход▶
  • Исполнение
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Эта нода нужна, когда у вас есть file_id из записанной истории группы, а нужны сами байты: скачать фото и показать его модели, сохранить документ нодой Запись файла или отправить его обратно в чат.

Для вложения текущего хода нода не требуется: файл, который пользователь прислал боту, уже приезжает вместе с сообщением на входе сценария и доезжает до LLM сам. Эта нода — про файлы, которых в текущем ходе не было.

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

Запись истории группы намеренно хранит вложения ссылкой, а не байтами: скачивать каждое фото активного чата — это гигабайты ради файлов, которые никто не откроет. Нода — ленивая вторая половина: получает file_id, один раз скачивает содержимое и кладёт его в файловое хранилище рабочего пространства, отдавая на выход ссылку на файл, а не base64.

Берите file_id с порта «Записи» ноды История группы — например, {{ nodes.telegram_history_1.rows[0].media_file_id }}.

Частые ошибки

  • Потолок 20 МБ. Bot API отдаёт ботам файлы только до 20 МБ (а если лимит загрузки рабочего пространства ниже, действует он). Файлы крупнее боту недоступны в принципе.
  • file_id привязан к боту. Идентификатор, записанный одним ботом, другой бот скачать не сможет: подключение чужой Telegram-конфигурации здесь не помощь, а причина отказа.
  • В выходе «Сообщения» у истории file_id нет — он есть только в выходе «Записи». Это самая частая причина пустого поля.
  • Пустой file_id — это ошибка, а не пропуск шага. Шаблон, отрендерившийся в пустую строку, останавливает ноду; так и задумано, иначе следующая vision-нода получила бы «вложения нет» и уверенно ответила бы ни о чём.
  • Имя файла — не оригинальное. Bot API не отдаёт исходное имя, поэтому берётся имя из служебного пути Telegram; тип определяется по расширению.
  • Ссылка на файл, а не путь на диске. Подключайте выход в LLM-ноду, в Отправить сообщение или в Выход — они умеют читать такие ссылки сами.

Входы

ПортПроводДанныеПримечания
Подключение Telegramtelegram_configДанныеdata—

показывается, когда connection_source ≠ "auto"

Выходы

ПортПроводДанныеПримечания
ФайлoutputИсполнение + данныеexecute_datafile
Ошибкаon_errorИсполнение + данныеexecute_data—

показывается, когда expose_error_output = true

Настройки

ПолеТипПо умолчаниюОписание
Источник подключенияconnection_sourcestringauto

Откуда нода берёт подключение. «Из текущего запуска» использует то, что платформа уже знает (Telegram-бот, на который опубликован сценарий / собственное файловое хранилище этого пространства), и связей не требует. «Внешнее подключение» показывает ресурсный порт, чтобы в него можно было подключить конфиг-ноду.

Варианты: auto — Из текущего запуска, external — Внешнее подключение (подключить конфиг-ноду)

ID файлаfile_idstring""

Telegram file_id вложения — например из истории: {{ nodes.telegram_history_1.rows[0].media_file_id }} (порт «Записи»; выход «Сообщения» предназначен для LLM и file_id не несёт). Bot API отдаёт файлы до 20 МБ.

поддерживает шаблоны

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.