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

	if (!Support24::getBotId())
	{
		Support24::register();
	}

	$supportCode = !empty($params['CODE'])? $params['CODE']: self::getBotCode();

	$settings = self::getBotSettings();
	if ($settings)
	{
		self::saveSettings($settings);
	}

	if (self::getBotId() > 0)
	{
		$botId = parent::getNetworkBotId($supportCode, true);
		if ($botId)
		{
			self::updateBotProperties();

			return $botId;
		}

		//todo: use change method instead
		return false;
	}

	$search = parent::search($supportCode, true);
	if (!$search)
	{
		return false;
	}

	$botId = parent::register($search[0]);
	if (!$botId)
	{
		return false;
	}

	if (isset($params['NAME']) && !empty($params['NAME']))
	{
		$supportName = $params['NAME'];
	}
	else
	{
		$supportName = $search[0]['LINE_NAME'];
	}

	Option::set('imbot', self::OPTION_BOT_ID, $botId);
	Option::set('imbot', self::OPTION_BOT_SUPPORT_NAME, $supportName);

	self::updateBotProperties();

	return $botId;
}