Журнал изменений
Что поменялось в Liza Bot API и что это значит для уже работающих ботов. Версия API указана в OpenAPI-спецификации.
1.3.0 — 5 октября 2026
Кнопки и answerCallbackQuery
answerCallbackQueryтребуетcallback_query_idи принимает только выданный этому боту, не старше 15 минут и один раз — иначе 400query is too old and response timeout expired or query ID is invalid(раньше любой id →true).text— не длиннее 200 символов (иначе 400MESSAGE_TOO_LONG).- Ответ видит только нажавший: всплывающее уведомление, с
show_alert=true— диалог,urlоткрывается как url-кнопка (показ — в следующей версии приложения). В чат больше ничего не пишется (раньшеshow_alertуходил сообщением, которое видели все). - Ответ номером кнопки в чате с несколькими ботами получает только бот, чьи кнопки показаны последними.
Ответы, правка, файлы
- Неизвестный
reply_to_message_id/reply_parameters.message_id— отправка без цитаты (раньше 400); 400 только при явномallow_sending_without_reply=false. Ответыsend*содержатreply_to_message. editMessage*с тем же содержимым — 400message is not modified.- Повторная отправка по
file_idсохраняет имя, mimetype, размер и размеры файла, который бот получил или отправил после 1.3;file_id, выданные раньше, работают как прежде (без метаданных);file_idневерного формата — 400. Ответыsend*несутfile_size/mime_type/file_name/width/height. chat.typeв ответахsend*/edit*—privateилиgroup, как во входящих.
Ошибки вместо 500 и тихих исправлений
- 403
bot was blocked by the user— человек ушёл, отклонил приглашение или удалил бота из личного чата (startChatи отправки; снимается, когда человек снова зовёт бота). - 403
bot was kicked from the group chat— отправка после исключения бота из группы. startChatнесуществующему пользователю — 400user not found;getChat*без бота в чате — 400chat not found(раньше 500).setMyCommandsс невалидной командой (заглавные буквы, «/», пробелы) — 400 вместо тихого исправления.sendChatAction— только действия Telegram (иначе 400wrong parameter action in request).getChatMember—kickedдля заблокированных,leftдля вышедших.
Вебхук и хранение
- Вебхук: на 4xx (кроме 408/429) — до 3 повторов, затем апдейт снимается; на 5xx и сетевые ошибки — повторы с паузой 30 с · 2ⁿ до истечения 24 часов.
- Очередь обновлений хранится 24 часа; сопоставления сообщений, кнопок и callback — 30 дней (более старые сообщения нельзя править, удалять и отвечать на их кнопки — 400; ответ на них уходит без цитаты).
В приложении (новая версия): кнопки без цифры «1» в чате, меню «/» по
командам setMyCommands; команды бота важнее встроенных команд приложения
(/leave, /logout в чате с ботом уходят боту). Показ ответа
answerCallbackQuery и кнопка меню команд у поля ввода — в следующей версии
приложения.
1.2.0 — 2 октября 2026
entitiesдля команд — обработчики команд библиотек срабатывают как в Telegram.chat.type = groupв группах (раньше всегдаprivate).from.is_botдля ботов иfrom.liza_user_id— полный Matrix ID человека.- Повторная доставка вебхука и заголовок
X-Telegram-Bot-Api-Secret-Token;update_idв вебхуке больше не сбрасывается после рестарта. - Обычная клавиатура присылает текст кнопки.
- Ответ
send*для медиа содержитfile_id. getFileотдаёт относительныйfile_path— скачивайте через/file/bot<токен>/<file_path>.
1.1.0 — 1 октября 2026
- Long polling и подтверждение через
offset. - Стабильный
message_id(сохранённые раньше значения недействительны). - Правка пользователя приходит как
edited_message. - Входящие голосовые, аудио, файлы и видео приходят без поля
text. callback_query.idимеет вид<chat_id>_<n>, аcallback_query.message— сообщение бота с кнопкой.