9 ноября Telegram выпустил Bot API 10.4. Главное нововведение обновления – виджеты: небольшие интерактивные блоки на HTML, CSS и JavaScript, которые бот отправляет прямо в чат через метод sendWidget. Пользователям такие сообщения стали доступны чуть раньше, с выходом Telegram 13.2, где энтузиасты уже успели собрать в них «Раннера», 2048 и простенький 3D-шутер.
Виджет не стоит путать с Mini Apps, на что отдельно указывает документация. Мини-приложение представляет собой веб-страницу на сервере разработчика, которая открывается в отдельном окне и работает с сетью. Виджет же встроен в само сообщение, остается на виду при прокрутке переписки, а выход в интернет у него закрыт: внешние скрипты, шрифты и картинки не загружаются. Код фиксируется при отправке, меняться может только состояние, которое обновляет бот без отправки нового сообщения. Из элементов управления разрешены лишь кнопки, поля ввода из разметки вырезаются. При нажатии виджет отправляет боту короткий запрос размером до 64 байт, а тот должен ответить в течение 15 секунд.
Ограничения по объему жесткие. HTML-документ не должен превышать 32 КБ, а после сжатия – 4 КБ, при этом размер пузыря составляет от 200 до 600 пикселей по ширине и от 50 до 600 по высоте, без прокрутки внутри. Если не задавать размеры вручную, Telegram подстроит их под содержимое автоматически.
Отдельно предусмотрены общие виджеты. По принципу работы они похожи на опрос: один объект на сервере показывается в разных сообщениях с единым состоянием, поэтому достаточно обновить его один раз, чтобы изменения увидели все. Через виджет можно также запросить у пользователя подпись или перевод во встроенном TON-кошельке, причем подтверждать операцию все равно придется самому владельцу.
Пока в рабочей среде виджеты отправляются только в личные чаты с ботом, а переслать их нельзя. Группы, пересылка и инлайн-режим доступны лишь на тестовом сервере.
Кроме виджетов, в Bot API 10.4 появились эфемерные ответы на нажатие кнопок, которые видит только нажавший пользователь, цитаты из сообщений с расширенным форматированием и получение уникального подарка по названию. Владельцы Telegram Premium теперь могут выдать своим ботам, но не больше чем двум, дополнительные юзернеймы с окончаниями agent, ai, app, game или gay.
Изображение на обложке: генерация Claude
Комментарии