Rich Messages в Telegram-ботах: сложные сообщения, черновики и ограничения
Rich Messages работают отдельно от обычного sendMessage. Для отправки используется InputRichMessage и метод sendRichMessage, для получения — RichMessage, а готовую структуру можно передавать в виде HTML-шаблона. Формат поддерживает заголовки, таблицы, цитаты, сноски, раскрывающиеся блоки, формулы, коллажи, слайдшоу, карты и медиа практически в любой части сообщения.
Для AI-ассистентов предусмотрен метод sendRichMessageDraft: он показывает временный результат во время генерации длинного ответа. Черновик доступен около 30 секунд, после чего финальную версию всё равно нужно отправить через sendRichMessage.
Одно rich-сообщение может содержать до 32 768 UTF-8 символов, 500 блоков, 16 уровней вложенности, 50 медиа-вложений и таблицы шириной до 20 колонок. В статье также приведён пример реализации на aiogram версии 3.29.1 и выше.
Коротко
- Rich Messages позволяют собирать в одном сообщении заголовки, таблицы, списки, формулы, цитаты, карты и медиа-блоки.
- Для нового формата используются отдельные сущности InputRichMessage и RichMessage, а также метод отправки sendRichMessage.
- sendRichMessageDraft показывает временный результат генерации примерно на 30 секунд, но не заменяет отправку финального сообщения.
- Лимиты формата: 32 768 UTF-8 символов, 500 блоков, 16 уровней вложенности, 50 медиа и 20 колонок в таблице.
FAQ
Зачем Telegram-ботам использовать Rich Messages вместо обычного форматирования через HTML или Markdown?
Rich Messages нужны для сложных ответов с таблицами, формулами, вложенными блоками, медиа и другими элементами, которые нельзя удобно представить обычным текстовым сообщением.
Можно ли использовать sendRichMessageDraft как окончательный ответ AI-бота пользователю?
Нет. Этот метод показывает временный черновик примерно на 30 секунд, а готовый ответ затем нужно отправить через sendRichMessage.
Какая версия aiogram поддерживает показанный в статье способ отправки Rich Messages?
Пример кода рассчитан на aiogram версии 3.29.1 и выше и использует InputRichMessage вместе с методом answer_rich.
Читайте также
Telegram Bot API 10.1: революция форматирования
Как я склеиваю 23 тысячи событий из пяти афиш — и почему дедуп нельзя делать необратимым
Перевёз ИИ-агентов на российский сервер. Оказалось, полмира с ним разговаривать не хочет
Персонализация без Big Data: как ранжировать новости в Telegram с помощью pgvector и пяти сигналов
Telegram Bot API 10.0: взаимодействие ботов и бесплатные ассистенты
- Rich Messages как формат сложных интерфейсов Telegram-ботов: Telegram Bot API 10.1 позволяет отправлять сообщения с блочной структурой: заголовками, таблицами, списками, формулами, раскрывающимися секциями, картами и встроенными медиа. Формат подходит для AI-ассистентов, аналитических отчётов, карточек заказов и других сценариев, где обычного текста с HTML- или Markdown-форматированием недостаточно.
[Telegram-боты и интерфейсы]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
В Telegram Bot API 10.1 появился формат Rich Messages для сложных сообщений, которые по структуре ближе к небольшим документам, чем к обычному тексту. Он подходит для ботов, которым нужно показывать таблицы, формулы, списки, медиа и вложенные блоки.