Блог Горошко Андрея Bitrix24 На изменение сообщения ONIMBOTMESSAGEUPDATE

На изменение сообщения ONIMBOTMESSAGEUPDATE

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «На изменение сообщения ONIMBOTMESSAGEUPDATE», проанализируем лучшие практики и покажем, как правильно использовать изменение сообщения в реальных задачах.

На изменение сообщения ONIMBOTMESSAGEUPDATE

Тут может не хватать некоторых данных — дополним в ближайшее время

  • нужны правки под стандарт написания
  • не указаны типы параметров
  • не указана обязательность параметров
  • таблицы параметров сгенерированы по примеру. Что такое [39] в примере??? BOT_ID? И как это записать в таблицу?

> Scope: imbot
>
> Кто может подписаться: любой пользователь

Событие ONIMBOTMESSAGEUPDATE, возникающее при редактировании сообщения.

Предупреждение
Описанные ниже поля — это содержимое поля [data] в событии. Данные авторизации в ключе [auth] содержат данные пользователя инициатора события, для получения данных авторизации бота, необходимо использовать [data][BOT][__BOT_CODE__].

ПолеОписаниеРевизия
BOT
unknown
Массив кодов чат-ботов, которым предназначено сообщение
PARAMS
unknown
Массив данных сообщения
USER
unknown
Массив данных автора сообщения, может быть пустым, если ID = 0

BOT/[39]???

ПолеОписаниеРевизия
AUTH
unknown
Параметры для авторизации под ботом, для выполнения действий
BOT_ID
unknown
Идентификатор бота
BOT_CODE
unknown
Код бота

AUTH

ПолеОписаниеРевизия
domain
unknown
Домен
member_id
unknown
Уникальный идентификатор
application_token
unknown
Токен приложения

PARAMS

ПолеОписаниеРевизия
DIALOG_ID
unknown
Идентификатор диалога
CHAT_TYPE
unknown
Тип сообщения и чата, может быть P (чат один-на-один), C (с ограниченным количеством участников), O (публичный чат), S (чат-бот с повышенными привилегиями — supervisor)
CHAT_ENTITY_TYPE
unknown
для идентификации чата (данные поле вы можете задать в момент создания), для чатов открытых линий в данном поле будет указано LINES
CHAT_ENTITY_ID
unknown
для идентификации чата (данные поле вы можете задать в момент создания)
MESSAGE_ID
unknown
Идентификатор сообщения
MESSAGE
unknown
Сообщение
MESSAGE_ORIGINAL
unknown
Оригинальное сообщение с BB-кодом чат-бота (параметр доступен только в групповых чатах)
FROM_USER_ID
unknown
Идентификатор пользователя отправившего сообщение
TO_USER_ID
unknown
Идентификатор бота или пользователя: в диалоге «один-на-один» это будет идентификатор бота, а в групповом чате — идентификатор пользователя, кому направлено обращение. Если указано 0 — значит всем участникам чата
TO_CHAT_ID
unknown
Идентификатор чата (параметр доступен только в групповых чатах)
LANGUAGE
unknown
Идентификатор языка портала по умолчанию

USER

ПолеОписаниеРевизия
ID
unknown
Идентификатор пользователя
NAME
unknown
Имя и фамилия пользователя
FIRST_NAME
unknown
Имя пользователя
LAST_NAME
unknown
Фамилия пользователя
WORK_POSITION
unknown
Занимаемая должность
GENDER
unknown
Пол, может быть либо M (мужской), либо F (женский)
IS_BOT
unknown
Это пользователь — бот (Y), иначе — N.
IS_CONNECTOR
unknown
Это пользователь — коннектор (участник ОЛ-чата, клиент), иначе — N.
IS_NETWORK
unknown
Это пользователь нетворка (может быть участником ОЛ-чата, клиент или просто внешний пользователь), иначе — N.
IS_EXTRANET
unknown
Это пользователь экстранет (все пользователи, которые не-интранет), иначе — N.

Практические примеры использования в коде

  • JS
    [BOT] => Array (
        [39] => Array (
            [AUTH] => Array (
                [domain] => b24.hazz
                [member_id] => d41d8cd98f00b204e9800998ecf8427e
                [application_token] => 8006ddd764e69deb28af0c768b10ed65
            )
            [BOT_ID] => 39    
            [BOT_CODE] => newbot
        )
    )
    [PARAMS] => Array (
        [DIALOG_ID] => 1    
        [CHAT_TYPE] => P    
        [CHAT_ENTITY_TYPE] => 'LINES'    
        [CHAT_ENTITY_ID] => 13    
        [MESSAGE_ID] => 392
        [MESSAGE] => test3
        [MESSAGE_ORIGINAL] => [USER=39]NewBot[/USER] test3
        [FROM_USER_ID] => 1
        [TO_USER_ID] => 1
        [TO_CHAT_ID] => 6
        [LANGUAGE] => ru    
    )
    [USER] => Array (
        [ID] => 1
        [NAME] => Евгений Шеленков
        [FIRST_NAME] => Евгений
        [LAST_NAME] => Шеленков
        [WORK_POSITION] =>
        [GENDER] => M
        [IS_BOT] => 'Y'
        [IS_CONNECTOR] => 'Y'
        [IS_NETWORK] => 'Y'
        [IS_EXTRANET] => 'Y'
    )

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к изменение сообщения, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «На изменение сообщения ONIMBOTMESSAGEUPDATE».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Остановить активный бизнес-процесс bizproc.workflow.terminateОстановить активный бизнес-процесс bizproc.workflow.terminate

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Остановить активный бизнес-процесс bizproc.workflow.terminate». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции. Остановить

Удалить страну documentgenerator.region.deleteУдалить страну documentgenerator.region.delete

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Удалить страну documentgenerator.region.delete», разберем архитектурные особенности и предоставим

Как использовать метод SDK sale.property.add в Битрикс24Как использовать метод SDK sale.property.add в Битрикс24

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Как использовать метод SDK sale.property.add в Битрикс24». Мы подготовили подробный разбор принципов работы и развернутые