• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/network.php
  • Класс: BitrixImBotBotNetwork
  • Вызов: Network::getCommandByMessage
static function getCommandByMessage(array $messageFields): ?array
{
	if (
		(isset($messageFields['SYSTEM']) && $messageFields['SYSTEM'] === 'Y')
		|| empty($messageFields['COMMAND'])
	)
	{
		return null;
	}

	$command = static::getCommandList()[$messageFields['COMMAND']] ?? null;
	if (!$command)
	{
		return null;
	}

	$result = null;
	foreach ($command['context'] as $context)
	{
		$diff = array_intersect_assoc($messageFields, $context);
		if (count($diff) == count($context))
		{
			$result = $command;
			break;
		}
	}

	return $result;
}