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