52  /  166

imbot.command.register

Просмотров: 13971
Дата последнего изменения: 30.09.2024
Анна Кокина
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

Регистрация команды для обработки чат-ботом

Обратите внимание! Метод указан с использованием функции restCommand - это метод отправки данных в Битрикс24, данный метод есть в примере ЭхоБота и представлен здесь в качестве примера. Вы можете использовать свою функцию или javascript-метод BX24.callMethod или bitrix24-php-sdk.

Обратите внимание! Для обработки команды нужно, чтобы в приложении была обработка события добавления команды ONIMCOMMANDADD.

Вызов метода

$result = restCommand('imbot.command.register', Array(

   'BOT_ID' => 62, // Идентификатор чат-бота владельца команды
   'COMMAND' => 'echo', // Текст команды, которую пользователь будет вводить в чатах. Можно использовать только латинские буквы и цифры. Не принимает пробелы и спецсимволы
   'COMMON' => 'Y', // Если указан Y, то команда доступна во всех чатах, если N - то доступна только в тех, где присутствует чат-бот
   'HIDDEN' => 'N', // Скрытая команда или нет - по умолчанию N
   'EXTRANET_SUPPORT' => 'N', // Доступна ли команда пользователям Экстранет, по умолчанию N
   'CLIENT_ID' => '', // Строковый идентификатор чат-бота, используется только в режиме Вебхуков
   'LANG' => Array( // Массив переводов, обязательно указывать как минимум для RU и EN
      Array('LANGUAGE_ID' => 'en', 'TITLE' => 'Get echo message', 'PARAMS' => 'some text'), // Язык, описание команды, какие данные после команды нужно вводить.
   ),
   'EVENT_COMMAND_ADD' => 'http://www.hazz/chatApi/bot.php', // Ссылка на обработчик для команд

), $_REQUEST["auth"]);

Важно! Обязательно указывать массив переводов LANG как минимум для RU и EN. Если нет фразы для BY, UA, KZ, то показываются по умолчанию фразы RU, если в RU нет фразы - команда скрывается. Для остальных языков то же самое - если нет фраз, то по умолчанию показываются фразы EN, если в EN нет фразы, то команда скрывается в публичной части.

Результат выполнения

Идентификатор команды COMMAND_ID или ошибка.

Ссылки по теме

Возможные коды ошибок

Код Описание
EVENT_COMMAND_ADD Ссылка обработчик события невалидная или не указана.
COMMAND_ERROR Не указан текст команды, на которую должен откликаться чат-бот.
BOT_ID_ERROR Чат-бот не найден.
APP_ID_ERROR Чат-бот не принадлежит этому приложению. Работать можно только с чат-ботами, установленными в рамках приложения.
LANG_ERROR Не переданы языковые фразы для видимой команды.
WRONG_REQUEST Что-то пошло не так.

Внимание! Если планируется устанавливать более одной команды для чат-бота: Bitrix24 Rest накладывает ограничение на работу с обработчиками событий - обработчик может быть только один на одно приложение. Поэтому при регистрации второй команды ссылки на обработчики EVENT_COMMAND_ADD должны быть такими же, как и у первой команды.

Если необходимо обрабатывать несколько команд в рамках одного приложения, то необходимо предусмотреть это внутри обработчика событий. Для этого при поступлении события передается массив команд, чтобы можно было корректно их обработать.



2
Курсы разработаны в компании «1С-Битрикс»
Доступна новая документация по REST: понятнее описания, больше примеров, удобнее поиск
Перейти