29  /  46

Работа с сообщениями

Просмотров: 3805 (Статистика ведётся с 06.02.2017)

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


Отправка сообщения в чат

Rest-метод: im.message.add

Вызов метода:
$result = restCommand('im.message.add', Array(

    'CHAT_ID' => 13, // Идентификатор чата получателя, если сообщение для чата
    'USER_ID' => 2, // Идентификатор пользователя получателя, если сообщение для приватного диалога
    'MESSAGE' => 'Текст сообщения' // Тест сообщения
    'SYSTEM' => 'N' // Отображать сообщения в виде системного сообщения или нет, необязательное поле, по умолчанию 'N'
    'ATTACH' => '' // Вложение, необязательное поле
    'URL_PREVIEW' => 'Y' // Преобразовывать ссылки в rich-ссылки, необязательное поле, по умолчанию 'Y'
    'KEYBOARD' => '' // Клавиатура, необязательное поле
    'MENU' => '' // Контекстное меню, необязательное поле
), $_REQUEST["auth"]);
Результат выполнения: идентификатор сообщения MESSAGE_ID или ошибка.

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

Как работать с набираемыми клавиатурами
Как работать с вложениями
Форматирование сообщений

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

Код ошибкиОписание ошибки
USER_ID_EMPTY Идентификатор получателя не задан в случае отправки сообщения в чат один-на-один.
CHAT_ID_EMPTY Идентификатор чата получателя не задан в случае отправки сообщения в чат.
ACCESS_ERROR Недостаточно прав для отправки сообщения.
MESSAGE_EMPTY Не передан текст сообщения.
ATTACH_ERROR Весь переданный объект вложения не прошел валидацию.
ATTACH_OVERSIZE Превышен максимально допустимый размер вложения (30 Кб).
KEYBOARD_ERROR Весь переданный объект клавиатуры не прошел валидацию.
KEYBOARD_OVERSIZE Превышен максимально допустимый размер клавиатуры (30 Кб).
MENU_ERROR Весь переданный объект меню не прошел валидацию.
MENU_OVERSIZE Превышен максимально допустимый размер меню (30 Кб).
PARAMS_ERROR Что то пошло не так.


Отправка изменения сообщения чат-бота

Rest-метод: im.message.update

Вызов метода:
$result = restCommand('im.message.update', Array(

    'MESSAGE_ID' => 1, // Идентификатор сообщения
    'MESSAGE' => 'answer text' // Тест сообщения, необязательное поле, если передать пустое значение - сообщение будет удалено
    'ATTACH' => '' // Вложение, необязательное поле
    'URL_PREVIEW' => 'Y' // Преобразовывать ссылки в rich-ссылки, необязательное поле
    'KEYBOARD' => '' // Клавиатура, необязательное поле
    'MENU' => '' // Контекстное меню, необязательное поле
), $_REQUEST["auth"]);
Результат выполнения: true или ошибка.

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

Как работать с набираемыми клавиатурами
Как работать с вложениями
Форматирование сообщений

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

Код ошибкиОписание ошибки
MESSAGE_ID_ERROR Не передан идентификатор сообщения.
CANT_EDIT_MESSAGE У вас нет доступа к этому сообщению или время на его модификацию истекло (после публикации прошло более 3-х суток).
ATTACH_ERROR Весь переданный объект вложения не прошел валидацию.
ATTACH_OVERSIZE Превышен максимально допустимый размер вложения (30 Кб).
KEYBOARD_ERROR Весь переданный объект клавиатуры не прошел валидацию.
KEYBOARD_OVERSIZE Превышен максимально допустимый размер клавиатуры (30 Кб).
MENU_ERROR Весь переданный объект меню не прошел валидацию.
MENU_OVERSIZE Превышен максимально допустимый размер меню (30 Кб).


Удаление сообщения чат-бота

Rest-метод: im.message.delete

Вызов метода:
$result = restCommand('im.message.delete', Array(

    'MESSAGE_ID' => 1, // Идентификатор сообщения

), $_REQUEST["auth"]);
Результат выполнения: true или ошибка.

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

Код ошибкиОписание ошибки
MESSAGE_ID_ERROR Не передан идентификатор сообщения.
CANT_EDIT_MESSAGE У вас нет доступа к этому сообщению.


Установка «Мне нравится»

Rest-метод: im.message.like

Вызов метода:
$result = restCommand('im.message.like', Array(

    'MESSAGE_ID' => 1, // Идентификатор сообщения (любое сообщение, отправленное в личных диалогах или в групповых чатах, где присутствует чат-бот)
    'ACTION' => 'auto' // Действие, связанное с методом: plus - поставит метку «Мне нравится»; minus - снимет метку «Мне нравится»; auto - автоматически вычислит, нужно поставить или снять метку. Если не указывать, будет работать в режиме auto

), $_REQUEST["auth"]);
Результат выполнения: true или ошибка.

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

Код ошибкиОписание ошибки
MESSAGE_ID_ERROR Не передан идентификатор сообщения.
WITHOUT_CHANGES После вызова состоянии статуса «Мне нравится» не изменилось.


1
Курсы разработаны в компании «1С-Битрикс»