При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Добавить команду imbot.command.register», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.
Добавить команду imbot.command.register
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
- не указаны типы параметров
- не указана обязательность параметров
- не для всех параметров есть пример в таблице
- отсутствуют примеры
- отсутствует ответ в случае успеха
- отсутствует ответ в случае ошибки
- не прописаны ссылки на несозданные ещё страницы
> Scope: imbot
>
> Кто может выполнять метод: любой пользователь
Метод imbot.command.register регистрирует команду для обработки чат-ботом.
| Параметр | Пример | Описание | Ревизия |
|---|---|---|---|
BOT_IDunknown | 62 | Идентификатор чат-бота владельца команды | |
COMMANDunknown | 'echo' | Текст команды, которую пользователь будет вводить в чатах. Можно использовать только латинские буквы и цифры. Не принимает пробелы и спецсимволы | |
COMMONunknown | 'Y' | Если указан Y, то команда доступна во всех чатах, если N — то доступна только в тех, где присутствует чат-бот | |
HIDDENunknown | 'N' | Скрытая команда или нет — по умолчанию N | |
EXTRANET_SUPPORTunknown | 'N' | Доступна ли команда пользователям Экстранет, по умолчанию N | |
CLIENT_IDunknown | '' | Строковый идентификатор чат-бота, используется только в режиме Вебхуков | |
*LANG^^unknown | | Массив переводов, обязательно указывать как минимум для RU и EN | |
EVENT_COMMAND_ADDunknown | 'http://www.hazz/chatApi/bot.php' | Ссылка на обработчик для команд |
Для обработки команды нужно, чтобы в приложении была обработка события добавления команды ONIMCOMMANDADD.
Внимание! Если планируется устанавливать более одной команды для чат-бота: Bitrix24 Rest накладывает ограничение на работу с обработчиками событий — обработчик может быть только один на одно приложение. Поэтому при регистрации второй команды ссылки на обработчики
EVENT_COMMAND_ADD должны быть такими же, как и у первой команды.Если необходимо обрабатывать несколько команд в рамках одного приложения, то необходимо предусмотреть это внутри обработчика событий. Для этого при поступлении события передается массив команд, чтобы можно было корректно их обработать.
Обязательно указывать массив переводов
LANG как минимум для RU и EN. Если нет фразы для BY, UA, KZ, то показываются по умолчанию фразы RU, если в RU нет фразы — команда скрывается. Для остальных языков то же самое — если нет фраз, то по умолчанию показываются фразы EN, если в EN нет фразы, то команда скрывается в публичной части.Практические примеры использования в коде
- PHP
$result = restCommand(
'imbot.command.register',
Array(
'BOT_ID' => 62,
'COMMAND' => 'echo',
'COMMON' => 'Y',
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'N',
'CLIENT_ID' => '',
'LANG' => Array(
Array(
'LANGUAGE_ID' => 'en',
'TITLE' => 'Get echo message',
'PARAMS' => 'some text'
),
),
'EVENT_COMMAND_ADD' => 'http://www.hazz/chatApi/bot.php',
),
$_REQUEST[
"auth"
]
);Ответ в случае успеха
Идентификатор команды COMMAND_ID.
Ответ в случае ошибки
ошибка
Возможные коды ошибок
| Код | Описание |
|---|---|
| EVENT_COMMAND_ADD | Ссылка обработчик события невалидная или не указана. |
| COMMAND_ERROR | Не указан текст команды, на которую должен откликаться чат-бот. |
| BOT_ID_ERROR | Чат-бот не найден. |
| APP_ID_ERROR | Чат-бот не принадлежит этому приложению. Работать можно только с чат-ботами, установленными в рамках приложения. |
| LANG_ERROR | Не переданы языковые фразы для видимой команды. |
| WRONG_REQUEST** | Что-то пошло не так. |
Ссылки по теме
- Событие на получение чат-ботом команды ONIMCOMMANDADD
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Добавить команду imbot.command.register»:
Использование современных стандартов D7 при работе с imbot.command.register позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru