• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/giphy.php
  • Класс: BitrixImBotBotGiphy
  • Вызов: Giphy::register
static function register(array $params = Array())
{
	if (!BitrixMainLoader::includeModule('im'))
		return false;

	$agentMode = isset($params['AGENT']) && $params['AGENT'] == 'Y';

	if (self::getBotId())
		return $agentMode? "": self::getBotId();

	$botId = BitrixImBot::register(Array(
		'APP_ID' => isset($params['APP_ID'])? $params['APP_ID']: "",
		'CODE' => self::BOT_CODE,
		'MODULE_ID' => self::MODULE_ID,
		'CLASS' => __CLASS__,
		'METHOD_MESSAGE_ADD' => 'onMessageAdd',
		'METHOD_WELCOME_MESSAGE' => 'onChatStart',
		'METHOD_BOT_DELETE' => 'onBotDelete',
		'PROPERTIES' => Array(
			'NAME' => Loc::getMessage('IMBOT_GIPHY_BOT_NAME'),
			'COLOR' => Loc::getMessage('IMBOT_GIPHY_BOT_COLOR'),
			'WORK_POSITION' => Loc::getMessage('IMBOT_GIPHY_BOT_WORK_POSITION'),
			'PERSONAL_GENDER' => Loc::getMessage('IMBOT_GIPHY_BOT_GENDER'),
			'PERSONAL_PHOTO' => self::uploadAvatar(),
		)
	));
	if ($botId)
	{
		self::setBotId($botId);

		BitrixImCommand::register(Array(
			'MODULE_ID' => self::MODULE_ID,
			'BOT_ID' => $botId,
			'COMMAND' => 'giphy',
			'COMMON' => 'Y',
			'HIDDEN' => 'N',
			'SONET_SUPPORT' => 'Y',
			'EXTRANET_SUPPORT' => 'Y',
			'CLASS' => __CLASS__,
			'METHOD_COMMAND_ADD' => 'onCommandAdd',
			'METHOD_LANG_GET' => 'onCommandLang'
		));

		BitrixImApp::register(Array(
			'MODULE_ID' => 'imbot',
			'BOT_ID' => $botId,
			'CODE' => 'browse',
			'REGISTERED' => 'N',
			'ICON_ID' => self::uploadIcon('browse'),
			'IFRAME' => self::getIframeUrl(),
			'IFRAME_WIDTH' => '270',
			'IFRAME_HEIGHT' => '370',
			'EXTRANET_SUPPORT' => 'Y',
			'LIVECHAT_SUPPORT' => 'Y',
			'CONTEXT' => 'all',
			'CLASS' => __CLASS__,
			'METHOD_LANG_GET' => 'onAppLang',
		));
	}

	return $agentMode? "": $botId;
}