- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/bot.php
- Класс: BitrixImBot
- Вызов: Bot::onLeaveChat
static function onLeaveChat($dialogId, $leaveFields)
{
$bots = self::getListCache();
if (empty($bots))
{
return true;
}
if (!isset($leaveFields['BOT_ID']) || !$bots[$leaveFields['BOT_ID']])
{
return false;
}
$bot = $bots[$leaveFields['BOT_ID']];
if (!BitrixMainLoader::includeModule($bot['MODULE_ID']))
{
return false;
}
if ($leaveFields['CHAT_TYPE'] == IM_MESSAGE_PRIVATE)
{
$updateCounter = array("COUNT_USER" => new BitrixMainDBSqlExpression("?# - 1", "COUNT_USER"));
}
else
{
$updateCounter = array("COUNT_CHAT" => new BitrixMainDBSqlExpression("?# - 1", "COUNT_CHAT"));
}
BitrixImModelBotTable::update($leaveFields['BOT_ID'], $updateCounter);
foreach(BitrixMainEventManager::getInstance()->findEventHandlers("im", "onImBotLeaveChat") as $event)
{
ExecuteModuleEventEx($event, Array($bot, $dialogId, $leaveFields));
}
return true;
}