# AI-агент в Telegram: статусы инструментов, анимации и кнопка Stop

> 2026-10-05 · AI Release · @ai_release1

> #Telegram #AI-агент #Bot

### ⚡ Главное за 5 секунд - В Telegram есть встроенный интерфейс для отображения прогресса AI-агента: временный черновик с блоком состояния и анимированными иконками. - Метод `sendRichMessageDraft` позволяет показывать статусы инструментов, а параметр `can_stop` включает кнопку Stop. - Без обновлений черновик исчезает через 30 секунд, поэтому его нужно обновлять по событиям и таймеру. ### 🔍 Что обнаружено Автор статьи на Хабре, Иван Магда, разобрал работу агента swift-claw, который ищет обзоры наушников, читает страницы и проверяет отзывы о микрофонах. Чтобы пользователь видел ход выполнения, бот использует `sendRichMessageDraft` с тегом ` ` в `rich_message.html`. Статусы обновляются отправкой запроса с тем же `draft_id` — так Telegram заменяет содержимое существующего черновика. Кнопка Stop активируется параметром `can_stop`. Для привязки статусов к вызовам инструментов нужны события начала и завершения: при старте добавляется шаг с понятной подписью, при завершении записывается результат. Несколько событий объединяются в одно обновление черновика. Весь динамический текст (поисковые запросы, заголовки страниц) экранируется перед вставкой в HTML. Когда агент завершил работу, готовый ответ отправляется через `sendRichMessage` — в нём блок ` ` не используется, так как он допустим только в черновиках. Это сохраняет итоговое сообщение в истории чата. ### 💡 Почему это важно Такой подход превращает пустой чат с надписью «печатает…» в наглядную панель состояний. Пользователь видит, на каком этапе находится агент: поиск, чтение источника, обработка результата. Анимированные эмодзи из набора AIActions дополняют текстовые статусы, а кнопка Stop позволяет остановить задачу, если она пошла не туда. Примеры в статье используют HTTP и псевдокод, поэтому реализацию можно перенести в бота на любом языке или фреймворке. ### 🧩 Контекст В статье упоминаются предыдущие разборы на Хабре: стриминг через `sendMessageDraft` и формат Rich Messages. Здесь эти возможности собраны в единый интерфейс для агента, который выполняет несколько действий перед финальным ответом. Важно помнить про таймер: если инструмент работает дольше 30 секунд, черновик нужно периодически обновлять, даже когда текст статуса не меняется. Иначе блок состояния исчезнет, пока агент ещё выполняет задачу.

[Источник](https://habr.com/ru/articles/1090336/)
