• Модуль: 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;
}