Просмотров: 19457
Дата последнего изменения: 26.08.2022
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Отправка сообщения от чат-бота
Обратите внимание! Метод указан с использованием функции
restCommand - это метод отправки данных в
Битрикс24, данный метод есть в примере
ЭхоБота и представлен здесь в качестве примера. Вы можете использовать свою функцию или javascript-метод
BX24.callMethod или
bitrix24-php-sdk.
Примечание: Данный метод работы с сообщениями обычно применяется, когда пользователь что-то пишет, поэтому нужно обязательно обрабатывать событие
ONIMBOTMESSAGEADD.
Вызов метода
$result = restCommand('imbot.message.add', Array(
'BOT_ID' => 39, // Идентификатор чат-бота, от которого идет запрос; можно не указывать, если чат-бот всего один
'DIALOG_ID' => 1, // Идентификатор диалога; это либо USER_ID пользователя, либо chatXX - где XX идентификатор чата, передается в событии ONIMBOTMESSAGEADD и ONIMJOINCHAT
'MESSAGE' => 'answer text', // Тест сообщения
'ATTACH' => '', // Вложение, необязательное поле
'KEYBOARD' => '', // Клавиатура, необязательное поле
'MENU' => '', // Контекстное меню, необязательное поле
'SYSTEM' => 'N', // Отображать сообщения в виде системного сообщения, необязательное поле, по умолчанию 'N'
'URL_PREVIEW' => 'Y' // Преобразовывать ссылки в rich-ссылки, необязательное поле, по умолчанию 'Y'
), $_REQUEST["auth"]);
Вы можете публиковать сообщение от имени бота в приватные диалоги (будут показаны как системное сообщение). Для этого вместо DIALOG_ID
укажите FROM_USER_ID
и TO_USER_ID
.
Результат выполнения
Идентификатор сообщения MESSAGE_ID
или ошибка.
Ссылки по теме
Возможные коды ошибок
Код |
Описание |
BOT_ID_ERROR |
Чат-бот не найден. |
APP_ID_ERROR |
Чат-бот не принадлежит этому приложению. Работать можно только с чат-ботами, установленными в рамках приложения. |
DIALOG_ID_EMPTY |
Не передан идентификатор диалога. |
MESSAGE_EMPTY |
Не передан текст сообщения. |
ATTACH_ERROR |
Весь переданный объект вложения не прошел валидацию. |
ATTACH_OVERSIZE |
Превышен максимально допустимый размер вложения (30 Кб). |
KEYBOARD_ERROR |
Весь переданный объект клавиатуры не прошел валидацию. |
KEYBOARD_OVERSIZE |
Превышен максимально допустимый размер клавиатуры (30 Кб). |
MENU_ERROR |
Весь переданный объект меню не прошел валидацию. |
MENU_OVERSIZE |
Превышен максимально допустимый размер меню (30 Кб). |
WRONG_REQUEST |
Что-то пошло не так. |
|