Добавить в корзинуПозвонить
Найти в Дзене

Почему Telegram-бот “видит” файл, но не может передать его AI-агенту: реальный кейс с OpenClaw

Иногда кажется, что AI-агент в Telegram работает как идеальный помощник: отвечает, пишет, анализирует, отправляет документы. А потом в какой-то момент начинается магия низкого качества. Ты отправляешь боту презентацию в pptx.
Бот кивает.
Агент смотрит в пустоту.
И делает вид, что файла не существует. Именно такой кейс я разбирал у себя в OpenClaw. Снаружи это выглядело так: На самом деле проблема оказалась очень конкретной и очень инженерной. Когда пользователь отправляет файл боту в Telegram, кажется, что бот “получил документ”. Но технически это не всегда означает, что он получил сам файл целиком. Часто бот сначала получает только ссылочную сущность, условно говоря: А уже потом пытается скачать файл через Telegram Bot API. И вот тут прячется главный подвох:
если файл слишком большой, Telegram Bot API может не отдать его боту. В моём случае именно это и произошло.
Проверка показала прямой ответ Telegram: Bad Request: file is too big То есть сообщение бот видел.
Но сам файл скачать уже
Оглавление

Иногда кажется, что AI-агент в Telegram работает как идеальный помощник: отвечает, пишет, анализирует, отправляет документы. А потом в какой-то момент начинается магия низкого качества.

Ты отправляешь боту презентацию в pptx.
Бот кивает.
Агент смотрит в пустоту.
И делает вид, что файла не существует.

Именно такой кейс я разбирал у себя в OpenClaw.

Снаружи это выглядело так:

  • пользователь отправляет презентацию в Telegram
  • бот сообщение получает
  • агент файл не видит
  • в чате возникает ощущение, что “что-то сломалось”

На самом деле проблема оказалась очень конкретной и очень инженерной.

Что происходило на самом деле

Когда пользователь отправляет файл боту в Telegram, кажется, что бот “получил документ”. Но технически это не всегда означает, что он получил сам файл целиком.

Часто бот сначала получает только ссылочную сущность, условно говоря:

  • метаданные
  • file_id
  • тип вложения
  • часть служебной информации

А уже потом пытается скачать файл через Telegram Bot API.

И вот тут прячется главный подвох:
если файл слишком большой, Telegram Bot API может не отдать его боту.

В моём случае именно это и произошло.
Проверка показала прямой ответ Telegram:

Bad Request: file is too big

То есть сообщение бот видел.
Но сам файл скачать уже не мог.

В итоге агенту приходил не локальный путь к презентации, а только file_id.
А file_id не откроешь в PowerPoint и не передашь в обработку как обычный файл.

Почему создаётся ощущение, что “файл не дошёл”

Потому что пользователь смотрит на ситуацию глазами человека:
“Я же отправил документ в Telegram. Значит, бот его должен видеть”.

Логика понятная. Но на уровне интеграции между Telegram и AI-агентом это две разные стадии:

  1. Telegram принял сообщение с вложением
  2. Бот смог скачать это вложение для локальной обработки

И вот вторая стадия может провалиться.

То есть документ как бы “есть”, но для агента его как бы “нет”.

Очень современная цифровая ситуация.
Почти как облачные сервисы: всё хранится везде, но именно сейчас ничего не открывается.

Как я это проверил

Я полез не в догадки, а в логи.

Что показала проверка:

  • в сессии Telegram у сообщения был file_id
  • в локальную папку media/inbound файл не сохранялся
  • старые xlsx и docx там были
  • новый pptx не появлялся
  • прямой запрос к Telegram Bot API подтвердил ошибку file is too big

То есть проблема оказалась не в фантазиях агента и не в “капризном OpenClaw”, а в ограничении самого Telegram-маршрута для скачивания.

Был ли баг в самом OpenClaw

Частично да, но не в той части, где многие ожидают.

С входящим большим файлом проблема была вызвана лимитом Telegram Bot API.
OpenClaw здесь скорее честно упирался в стену.

А вот с исходящими файлами действительно был отдельный баг поведения:
агент иногда не отправлял документ по-настоящему, а пытался отдать его через служебную строку MEDIA:.

Из-за этого он мог написать:
“Файл отправлен”
а в Telegram человек ничего не видел.

Я это тоже исправил.

Что пришлось сделать

Я пошёл в два слоя: обновление и точечный фикс.

1. Обновил OpenClaw

Система была обновлена до 2026.5.7.

Это важно не только ради “быть на свежем”, а потому что Telegram-интеграции в таких системах часто дорабатываются именно между релизами.

2. Исправил системный wrapper

После обновления оказалось, что сервис продолжал смотреть на старую обёртку и местами жил в странном состоянии: новая версия установлена, а запущен старый маршрут.

Это тоже было поправлено.

3. Починил исходящую отправку файлов

Я вернул для Telegram нормальный message tool, чтобы агент мог отправлять файлы как документы, а не как текстовые суррогаты.

Теперь отправка идёт по правильному пути.

4. Добавил честную маркировку для слишком больших входящих файлов

Теперь если Telegram не отдаёт документ из-за лимита, агент не будет просто беспомощно делать вид, что файла нет.

Он увидит понятную пометку о том, что загрузка не удалась из-за ограничения 20 MB у Bot API.

Это гораздо лучше, чем молчаливая путаница.

Что важно понять

Здесь есть очень полезный вывод для всех, кто строит AI-ассистентов через Telegram.

Проблема “агент не видит файл” не всегда означает:

  • баг в агенте
  • сбой на сервере
  • сломанную бизнес-логику
  • плохую обработку документов

Очень часто это именно транспортный лимит канала.

И если не разложить цепочку по шагам, можно долго чинить не то место.

Как распознать такую проблему у себя

Вот признаки, что вы уткнулись именно в Telegram Bot API лимит:

  • пользователь отправил документ в чат
  • в истории есть file_id
  • файл не появился локально в media/inbound
  • агент говорит, что не видит вложение
  • ручная проверка getFile возвращает file is too big

Если всё это совпало, значит проблема почти наверняка в лимите скачивания, а не в логике обработки презентации.

Как решать

Есть три практических варианта.

Вариант 1. Уменьшать размер входящих файлов

Самый простой путь.
Если pptx меньше лимита, бот обычно сможет скачать его и передать агенту нормально.

Вариант 2. Настроить локальный telegram-bot-api server в local mode

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

  • презентации
  • архивы
  • видео
  • тяжёлые документы

Такой вариант требует дополнительной настройки Telegram API, но снимает часть ограничений стандартного облачного маршрута.

Вариант 3. Улучшить поведение агента в пограничных случаях

Даже если лимит не обойти, агент должен вести себя честно:

  • объяснять причину
  • не утверждать, что файл доступен
  • предлагать переслать уменьшенную версию
  • не симулировать успешную отправку, если её не было

Это, кстати, очень важный принцип вообще для AI-систем.
Иногда лучший интеллект — это не “выдумать ответ”, а честно сказать, где закончились технические возможности.

Что получилось после исправления

После доработки у меня сейчас:

  • OpenClaw работает на 2026.5.7
  • Telegram-канал снова стабилен
  • исходящие файлы отправляются как документы
  • для больших входящих файлов агент теперь видит и объясняет причину сбоя
  • сам баг больше не выглядит как “таинственная пропажа презентации”

И это, честно говоря, уже половина победы.

Потому что в инженерии очень часто сначала нужно не “исправить всё”, а хотя бы сделать так, чтобы система перестала врать о своём состоянии.

Вывод

Если Telegram-бот “принял” pptx, а AI-агент его не видит, проблема может быть вовсе не в агенте.
Иногда это просто ограничение Telegram Bot API на скачивание больших файлов.

То есть файл в чат пришёл, но до мозга системы уже не добрался.

В моём случае решение было таким:

  • обновить OpenClaw
  • исправить файловую отправку из агента
  • добавить понятную обработку больших вложений
  • и признать, что Telegram тоже умеет ставить палки в колёса, пусть и очень вежливо