• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/marta.php
  • Класс: BitrixImBotBotMarta
  • Вызов: Marta::addRenameMessageAgent
static function addRenameMessageAgent($userId = null)
{
	if (!BitrixMainLoader::includeModule('im') || !BitrixMainLoader::includeModule('bitrix24'))
		return "";

	if (CBitrix24::isDomainChanged())
		return "";

	$language = null;
	$botData = BitrixImBot::getCache(self::getBotId());
	if ($botData['LANG'])
	{
		$language = $botData['LANG'];
		Loc::loadLanguageFile(__FILE__, $language);
	}

	$option = Option::get(self::MODULE_ID, 'marta_rename_message', serialize(Array()));
	$messages = unserialize($option, ['allowed_classes' => false]);

	$userId = intval($userId);
	if ($userId)
	{
		$users = Array($userId);
	}
	else
	{
		$users = CBitrix24::getAllAdminId();
	}
	foreach ($users as $userId)
	{
		$messages[] = self::sendAnswer(0, Array(
			'DIALOG_ID' => $userId,
			'ANSWER' => Loc::getMessage('IMBOT_BOT_RENAME_TEXT', null, $language),
			'KEYBOARD' => Array(
				Array(
					"TEXT" => Loc::getMessage('IMBOT_BOT_RENAME_BUTTON_NOW', null, $language),
					"FUNCTION" => "BX.MessengerCommon.openRenamePortal(this);",
					"BG_COLOR" => "#e98fa6",
					"TEXT_COLOR" => "#FFF",
					"DISPLAY" => "LINE",
				),
				Array(
					"TEXT" => Loc::getMessage('IMBOT_BOT_RENAME_BUTTON_LATER', null, $language),
					"COMMAND" => "renamePortalLater",
					"DISPLAY" => "LINE",
				),
			)
		));
	}

	Option::set(self::MODULE_ID, 'marta_rename_message', serialize($messages));

	RegisterModuleDependences("bitrix24", "OnDomainChange", self::MODULE_ID, __CLASS__, "onRenamePortalDomainChange");

	$commandId = Option::get(self::MODULE_ID, 'marta_rename_command', 0);
	if ($commandId <= 0)
	{
		$commandId = BitrixImCommand::register(Array(
			'MODULE_ID' => self::MODULE_ID,
			'BOT_ID' => self::getBotId(),
			'COMMAND' => 'renamePortalLater',
			'HIDDEN' => 'Y',
			'CLASS' => __CLASS__,
			'METHOD_COMMAND_ADD' => 'onRenamePortalLaterCommand'
		));
		Option::set(self::MODULE_ID, 'marta_rename_command', $commandId);
	}

	return "";
}