Rich Messages в Telegram-ботах: сложные сообщения, черновики и ограничения

В Telegram Bot API 10.1 появился формат Rich Messages для сложных сообщений, которые по структуре ближе к небольшим документам, чем к обычному тексту. Он подходит для ботов, которым нужно показывать таблицы, формулы, списки, медиа и вложенные блоки.

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.

Читайте также

  1. Telegram Bot API 10.1: революция форматирования
  2. Как я склеиваю 23 тысячи событий из пяти афиш — и почему дедуп нельзя делать необратимым
  3. Перевёз ИИ-агентов на российский сервер. Оказалось, полмира с ним разговаривать не хочет
  4. Персонализация без Big Data: как ранжировать новости в Telegram с помощью pgvector и пяти сигналов
  5. Telegram Bot API 10.0: взаимодействие ботов и бесплатные ассистенты
Ключевые инсайты из новости (по версии ChatGPT)
  • Rich Messages как формат сложных интерфейсов Telegram-ботов: Telegram Bot API 10.1 позволяет отправлять сообщения с блочной структурой: заголовками, таблицами, списками, формулами, раскрывающимися секциями, картами и встроенными медиа. Формат подходит для AI-ассистентов, аналитических отчётов, карточек заказов и других сценариев, где обычного текста с HTML- или Markdown-форматированием недостаточно.
    [Telegram-боты и интерфейсы]
Для получения полного доступа оформите подписку PubMag PRO.
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Инсайты автоматически генерируются с помощью искусственного интеллекта на основе текста статьи.
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!