• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Entity/Command/Command.php
  • Класс: Bitrix\Im\V2\Entity\Command\Command
  • Вызов: Command::mergeWithDefaultCommands
protected function mergeWithDefaultCommands($commandList): array
{
	$defaultCommands = [
		[
			'COMMAND' => 'me',
			'TITLE' => Loc::getMessage("COMMAND_DEF_ME_TITLE"),
			'PARAMS' => Loc::getMessage("COMMAND_DEF_ME_PARAMS"),
			'HIDDEN' => 'N',
			'EXTRANET_SUPPORT' => 'Y',
		],
		[
			'COMMAND' => 'loud',
			'TITLE' => Loc::getMessage("COMMAND_DEF_LOUD_TITLE"),
			'PARAMS' => Loc::getMessage("COMMAND_DEF_LOUD_PARAMS"),
			'HIDDEN' => 'N',
			'EXTRANET_SUPPORT' => 'Y',
		],
		[
			'COMMAND' => '>>',
			'TITLE' => Loc::getMessage("COMMAND_DEF_QUOTE_TITLE"),
			'PARAMS' => Loc::getMessage("COMMAND_DEF_QUOTE_PARAMS"),
			'HIDDEN' => 'N',
			'EXTRANET_SUPPORT' => 'Y',
		],
		[
			'COMMAND' => 'rename',
			'TITLE' => Loc::getMessage("COMMAND_DEF_RENAME_TITLE"),
			'PARAMS' => Loc::getMessage("COMMAND_DEF_RENAME_PARAMS"),
			'HIDDEN' => 'N',
			'EXTRANET_SUPPORT' => 'Y',
			'CATEGORY' => Loc::getMessage("COMMAND_DEF_CATEGORY_CHAT"),
			'CONTEXT' => 'chat',
		],
		[
			'COMMAND' => 'getDialogId',
			'TITLE' => Loc::getMessage("COMMAND_DEF_DIALOGID_TITLE"),
			'HIDDEN' => 'N',
			'EXTRANET_SUPPORT' => 'N',
			'CATEGORY' => Loc::getMessage("COMMAND_DEF_CATEGORY_CHAT")
		],
		[
			'COMMAND' => 'webrtcDebug',
			'TITLE' => Loc::getMessage("COMMAND_DEF_WD_TITLE"),
			'HIDDEN' => 'N',
			'EXTRANET_SUPPORT' => 'Y',
			'CATEGORY' => Loc::getMessage("COMMAND_DEF_CATEGORY_DEBUG"),
			'CONTEXT' => 'call'
		],
	];

	$imCommands = Array();
	foreach ($defaultCommands as $i => $command)
	{
		$newCommand['ID'] = 'def'.$i;
		$newCommand['BOT_ID'] = 0;
		$newCommand['APP_ID'] = '';
		$newCommand['COMMAND'] = $command['COMMAND'];
		$newCommand['HIDDEN'] = $command['HIDDEN'] ?? 'N';
		$newCommand['COMMON'] = 'Y';
		$newCommand['EXTRANET_SUPPORT'] = $command['EXTRANET_SUPPORT'] ?? 'N';
		$newCommand['SONET_SUPPORT'] = $command['SONET_SUPPORT'] ?? 'N';
		$newCommand['CLASS'] = '';
		$newCommand['METHOD_COMMAND_ADD'] = '';
		$newCommand['METHOD_LANG_GET'] = '';
		if (!$command['TITLE'])
		{
			$newCommand['HIDDEN'] = 'Y';
		}
		$newCommand['MODULE_ID'] = 'im';
		$newCommand['COMMAND_ID'] = $newCommand['ID'];
		$newCommand['CATEGORY'] = $command['CATEGORY'] ?? Loc::getMessage('COMMAND_IM_CATEGORY');
		$newCommand['CONTEXT'] = $command['CONTEXT'] ?? '';
		$newCommand['TITLE'] = $command['TITLE'] ?? '';
		$newCommand['PARAMS'] = $command['PARAMS'] ?? '';

		$imCommands[$newCommand['COMMAND_ID']] = $newCommand;
	}

	$result = $imCommands;
	if (is_array($commandList))
	{
		foreach ($commandList as $key => $command)
		{
			$result[$key] = $command;
		}
	}

	return $result;
}