• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/support24.php
  • Класс: BitrixImBotBotSupport24
  • Вызов: Support24::unRegister
static function unRegister($code = '', $notifyController = true)
{
	if (!MainLoader::includeModule('im'))
	{
		return false;
	}

	$result = false;
	$botCode = self::getBotCode();
	$botId = self::getBotId();

	if ($botCode !== '')
	{
		self::sendRequestFinalizeSession();

		$result = parent::unRegister($botCode, $notifyController);

		if (is_array($result) && isset($result['result']))
		{
			$result = $result['result'];
			if ($result)
			{
				Option::delete(self::MODULE_ID, ['name' => parent::BOT_CODE.'_'.$botCode.'_bot_id']);
			}
		}
	}

	if ($result === false && $botId > 0)
	{
		$result = ImBot::unRegister(['BOT_ID' => $botId]);
	}

	if ($result)
	{
		self::deleteScheduledAction(self::SCHEDULE_DELETE_ALL);

		Option::delete(self::MODULE_ID, ['name' => self::OPTION_BOT_ID]);

		$eventManager = MainEventManager::getInstance();
		foreach (self::getEventHandlerList() as $handler)
		{
			$eventManager->unregisterEventHandler(
				$handler['module'],
				$handler['event'],
				self::MODULE_ID,
				__CLASS__,
				$handler['handler']
			);
		}

		self::deleteAgent([
			'mask' => 'refreshAgent',/** @see Support24::refreshAgent */
		]);
	}

	return $result;
}