Используемые типы данных
BotRequest
Запрос к боту. Приходит в поле bot_request объекта Update, когда пользователь нажимает кнопку с директивой server_action.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Нет |
Серверное действие от кнопки |
— |
|
|
|
Нет |
|
ID нажатого элемента (кнопки) |
— |
|
|
Нет |
Массив ошибок при выполнении директив |
— |
BotRequestError
Ошибка при выполнении директивы на клиенте.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Тип ошибки |
Возможные значения:
|
|
|
Нет |
|
Имя директивы, вызвавшей ошибку |
Для типов |
|
|
Нет |
|
Текст ошибки |
Для типа |
Button
Важно
Тип Button и параметр inline_keyboard устарели. Рекомендуется использовать SuggestButtons.
Используется в запросах для описания инлайн-кнопки под текстовым сообщением.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Текст на инлайн-кнопке |
— |
|
|
Нет |
|
Данные, которые будут отправлены на сервер при нажатии кнопки |
— |
|
|
Нет |
|
URL, который откроется при нажатии кнопки |
— |
Chat
Используется в ответах для описания чата (канала).
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Тип чата |
Возможные значения:
|
|
|
Нет |
|
Идентификатор чата |
У чата с типом |
(*) Для группового чата (group) или канала (channel) идентификатор можно получить из адресной строки браузера:
- Откройте чат в веб-версии Мессенджера.
- Из адресной строки скопируйте набор символов после
https://yandex.ru/chat/#/chats/. - Если браузер применяет URL-кодирование в ссылке, замените
%2Fна слэш/.
Directive
Директива — это действие, которое выполняется при нажатии на кнопку. Одна кнопка может содержать несколько директив (до 3).
Типы директив
OpenUriDirective
Открывает URL в браузере.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Тип директивы |
Значение: |
|
|
Да |
|
URL для открытия |
— |
SendMessageDirective
Отправляет сообщение в чат от имени пользователя, нажавшего кнопку.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Тип директивы |
Значение: |
|
|
Да |
|
Текст сообщения |
Не более 6000 символов |
|
|
Нет |
|
Произвольные данные, которые бот получит вместе с сообщением |
— |
ServerActionDirective
Отправляет серверное действие боту. В отличие от send_message, сообщение не появляется в чате — бот получает только уведомление о нажатии кнопки.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Тип директивы |
Значение: |
|
|
Да |
|
Имя действия |
— |
|
|
Да |
|
Произвольные данные |
— |
При нажатии бот получит обновление с полем bot_request, содержащим server_action с указанными name и payload.
SetElementsStateDirective
Изменяет состояние элементов интерфейса (например, блокирует кнопки на время обработки).
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Тип директивы |
Значение: |
|
|
Да |
|
Идентификаторы элементов для изменения |
— |
|
|
Да |
|
Новое состояние |
Значения: |
|
|
Нет |
|
Время действия состояния в секундах |
От 1 до 60. По умолчанию: 15 |
File
Используется в ответах для описания файла.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Идентификатор файла для загрузки через API |
— |
|
|
Да |
|
Имя файла |
— |
|
|
Да |
|
Размер файла в байтах |
— |
Image
Используется в ответах для описания изображения.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Идентификатор файла для загрузки через API |
— |
|
|
Да |
|
Ширина картинки |
— |
|
|
Да |
|
Высота картинки |
— |
|
|
Нет |
|
Размер файла в байтах |
Указывается только для оригинала |
|
|
Нет |
|
Название файла (каким оно было при загрузке) |
Указывается только для оригинала |
InlineSuggestButton
Кнопка, отображаемая под сообщением.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Нет |
|
Уникальный идентификатор кнопки |
Не более 255 символов |
|
|
Нет |
|
Текст на кнопке |
Не более 255 символов |
|
|
Нет |
Действия при нажатии |
Не более 3 действий |
Sender
Используется в ответах для описания отправителя сообщения.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да* |
|
Логин пользователя, который отправил сообщение |
Указывается для сообщений из чатов |
|
ИЛИ |
Да* |
|
|
Указывается для сообщений в каналах |
|
|
Нет |
|
Отображаемое имя отправителя |
— |
|
|
Нет |
|
Признак, является ли отправитель ботом |
— |
(*) В ответе придет только один из параметров login или id в зависимости от того, куда было отправлено сообщение — в чат или канал.
ServerAction
Серверное действие, которое бот получает при нажатии кнопки с директивой server_action.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Имя действия (то, что было указано в директиве) |
— |
|
|
Нет |
|
Произвольные данные действия |
— |
SuggestButtons
Используется в запросах для описания клавиатуры с кнопками под сообщением.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Нет |
|
Режим отображения кнопок. |
— |
|
|
Нет |
|
Сохранять ли кнопки после нажатия. Если |
— |
|
|
Нет |
InlineSuggestButton |
Массив кнопок. При |
Не более 100 кнопок |
Vote
Используется в ответах для описания проголосовавшего в опросе.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
ID голоса |
— |
|
|
Да |
Проголосовавший пользователь |
— |
Update
Используется в ответах для описания сообщения в обновлении.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
Отправитель сообщения |
— |
|
|
|
Да |
Чат, в который было отправлено сообщение |
— |
|
|
|
Нет |
|
Текст сообщения |
— |
|
|
Да |
|
Время отправки сообщения по серверным часам: UNIX timestamp |
— |
|
|
Да |
|
Идентификатор сообщения в чате |
— |
|
|
Да |
|
Идентификатор обновления |
— |
|
|
Нет |
Информация о вложенном в сообщение файле |
— |
|
|
|
Нет |
Image |
Информация о картинках |
— |
|
|
Нет |
Запрос к боту |
— |
User
Используется в запросах для описания пользователя.
|
Имя параметра |
Обязат. |
Тип |
Описание |
Ограничения |
|
|
Да |
|
Логин пользователя |
|
(*) В качестве login может быть также указан адрес рассылки группы или подразделения, тогда в качестве User будет использоваться группа или подразделение.