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

	$botCode = self::getBotCode();
	if (!$botCode)
	{
		$settings = self::getBotSettings();
		if (!$settings)
		{
			return false;
		}

		if (!self::saveSettings($settings))
		{
			return false;
		}
	}

	$botId = parent::join(self::getBotCode());
	if (!$botId)
	{
		return false;
	}

	Option::set(self::MODULE_ID, self::OPTION_BOT_ID, $botId);
	Option::set(self::MODULE_ID, self::OPTION_BOT_SUPPORT_LEVEL, self::getSupportLevel());

	self::updateBotProperties();

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

	self::scheduleAction(1, self::SCHEDULE_ACTION_WELCOME, '', 10);

	self::restoreQuestionHistory();

	self::addAgent([
		'agent' => 'refreshAgent()',/** @see Support24::refreshAgent */
		'class' => __CLASS__,
		'delay' => random_int(30, 360),
	]);

	return $botId;
}