Дата последнего изменения: 16.05.2022
Контекстное меню позволит пользователю взаимодействовать с чат-ботом или приложением для чата из контекстного меню сообщения.
Контекстное меню – это часть сообщения, при создании сообщения нужно добавить ключ MENU
и передать параметры.
Методы, которые поддерживают контекстное меню:
Рассмотрим на примере это сообщение:
restCommand('im.message.add', Array( "DIALOG_ID" => 12, "MESSAGE" => "Hello! Message with context menu!", "MENU" => Array( Array( "TEXT" => "Bitrix24", "LINK" => "http://bitrix24.com", ), Array( "TEXT" => "Echo", "COMMAND" => "echo", "COMMAND_PARAMS" => "test from keyboard" ), Array( "TEXT" => "Open app", "APP_ID" => "12", "APP_PARAMS" => "TEST" ), ) ), $_REQUEST["auth"]);
Контекстное меню - это набор кнопок, каждая кнопка может состоять из следующих ключей:
Y
, то данная кнопка не будет кликабельной.chatXXX
.Обязательными полями является TEXT и либо поле LINK, либо поле COMMAND.
Если указан ключ LINK, то кнопка становится внешней ссылкой. Если указаны поля COMMAND и COMMAND_PARAMS, то кнопка является действием и отправляет команду чат-боту, не публикуя ее в чат. Доступно с 26 версии ревизии API (версии платформы).
Если указаны поля APP_ID и APP_PARAMS, то кнопка откроет окно с приложением для чата.
Если необходимо сделать две строки с кнопками в ряд, то для их разделения нужно добавить кнопку со следующим содержимым: "TYPE" => "NEWLINE"
.
Для обработки нажатия кнопок клавиатуры и пунктов меню, используются команды.
"HIDDEN" => "Y"
).
В кнопке указывается следующие ключи:
"COMMAND" => "page", // команда, которая будет отправлена чат-боту "COMMAND_PARAMS" => "1", // параметры для команды
Нажатие на кнопку создаст событие ONIMCOMMANDADD.
Внутри этого события нужно либо создать новое сообщение, либо отредактировать старое (тем самым формируя эффект постраничной навигации).
Приложение для чата, запускаемые из контекстного меню, работают по принципам Контекстного приложения.