OnSendMessageCustom
Описание и параметры
OnSendMessageCustom - новое сообщение из Открытой Линии. Обязательно нужно вызвать в ответ метод sendStatusDelivery иначе в мессенджере сообщение будет значиться как недоставленное.
В событие приходят следующие параметры:
Параметр | Описание |
---|---|
CONNECTOR | ID коннектора, по нему проверяете, касается ли событие вас. |
LINE | ID линии |
DATA | Массив массивов, описывающих сообщение:
array ( //Массив параметров для связи (возвращается в сообщении о доставке) 'im' => array ( //ID чата в рамках битрикс24 'chat_id' => 845, //ID сообщения в рамках битрикс24 'message_id' => 344029, ), 'message' => array ( //Текст сообщения 'text' => '[b]Сергей "Покоев":[/b][br] Тестовое сообщение' ), 'chat' => array ( //ID внешнего чата 'id' => '2', ), ); |
Пример
\Bitrix\Main\EventManager::getInstance()->addEventHandler("imconnector", "OnSendMessageCustom", Array("Message", "OnSendMessageCustomHandler")); class Message { function OnSendMessageCustomHandler(\Bitrix\Main\Event $event) { $connector = $event->getParameter('CONNECTOR'); $line = $event->getParameter('LINE'); $data = $event->getParameter('DATA'); foreach ($data as $message) { $statusDelivery[]= array( 'im' => $message['im'], 'message' => array( 'id' => array(5), ), 'chat' => array( 'id' => $message['chat']['id'] ), ); } if(!empty($statusDelivery)) { \Bitrix\ImConnector\CustomConnectors::sendStatusDelivery($connector, $line, $statusDelivery); } //test define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt"); AddMessage2Log(var_export(array('$connector' => $connector, '$line' => $line,'$data' => $data),1), 'SendMessage'); //END test } }
© «Битрикс», 2001-2024, «1С-Битрикс», 2024