- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/bot.php
- Класс: BitrixImBot
- Вызов: Bot::onMessageDelete
static function onMessageDelete($messageId, $messageFields)
{
$botExecModule = self::getBotsForMessage($messageFields);
if (!$botExecModule)
{
return true;
}
$messageFields['DIALOG_ID'] = self::getDialogId($messageFields);
$messageFields = self::removeFieldsToEvent($messageFields);
foreach ($botExecModule as $params)
{
if (!$params['MODULE_ID'] || !BitrixMainLoader::includeModule($params['MODULE_ID']))
{
continue;
}
$messageFields['BOT_ID'] = $params['BOT_ID'];
if ($params["METHOD_MESSAGE_DELETE"] && class_exists($params["CLASS"]) && method_exists($params["CLASS"], $params["METHOD_MESSAGE_DELETE"]))
{
call_user_func_array(array($params["CLASS"], $params["METHOD_MESSAGE_DELETE"]), Array($messageId, $messageFields));
}
else if (class_exists($params["CLASS"]) && method_exists($params["CLASS"], "onMessageDelete"))
{
call_user_func_array(array($params["CLASS"], "onMessageDelete"), Array($messageId, $messageFields));
}
}
unset($messageFields['BOT_ID']);
foreach(BitrixMainEventManager::getInstance()->findEventHandlers("im", "onImBotMessageDelete") as $event)
{
ExecuteModuleEventEx($event, Array($botExecModule, $messageId, $messageFields));
}
return true;
}