Telegram выпустил 9 ноября Bot API 10.4: боты теперь могут присылать HTML-виджеты, небольшие интерактивные блоки прямо внутри сообщения. Вместо обычных кнопок в чате с ботом может появиться опрос с живыми столбиками, ценник или промокод, который копируется одним нажатием. Изменения описаны в журнале обновлений Bot API.
Виджет представляет собой один HTML-документ со встроенными стилями и скриптами, размером до 32 КБ и не больше 4 КБ после сжатия. Приложение Telegram запускает его на устройстве пользователя в изолированной среде без доступа к сети. Код после отправки не меняется, а данные на экране обновляет только бот: например, результаты опроса можно менять, не присылая нового сообщения.
Что работает уже сейчас
В рабочей версии Telegram виджеты доступны только в личном чате с ботом. Группы, встроенный режим и пересылка пока работают лишь на тестовом сервере, хотя в документации среди примеров уже есть настольная игра для двоих в группе. Отправленный виджет защищён от копирования, переслать его нельзя.
Вместе с виджетами появились эфемерные ответы. Если нажать кнопку в общем чате, бот сможет ответить только этому человеку, остальные участники сообщения не увидят. Исключение составляют чаты личных сообщений каналов.
Как виджет работает с оплатой и ссылками
Виджет может попросить оплатить что-то или подписать данные через встроенный кошелёк Telegram на TON. Перед этим приложение показывает бота, сумму и адрес получателя, и подтвердить операцию должен сам пользователь. Внешние ссылки открываются тоже после подтверждения, и адрес показывается целиком.
Эти окна стоит читать внимательно. Оформление виджета задаёт разработчик бота, поэтому блок в сообщении сам по себе не доказывает, что бот надёжный. Проверять лучше адрес и сумму в окне подтверждения, а не надписи внутри виджета.

