- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/service/notifier.php
- Класс: BitrixImBotServiceNotifier
- Вызов: Notifier::onReceiveCommand
static function onReceiveCommand(string $command, array $params)
{
unset(
$params['BX_BOT_NAME'],
$params['BX_SERVICE_NAME'],
$params['BX_COMMAND']
);
if (
!BitrixMainLoader::includeModule('im')
|| !BitrixMainLoader::includeModule('imbot')
)
{
return false;
}
$params['BX_COMMAND'] = $command;
Log::write($params, 'NOTIFIER SERVICE');
$result = new Result;
if ($command === self::COMMAND_FORWARD_MESSAGE)
{
try
{
$resultReception = self::forwardMessage($params);
if ($resultReception->isSuccess())
{
$result->setData([
'RESULT' => 'OK'
]);
}
else
{
$result->addErrors($resultReception->getErrors());
}
}
catch (BitrixMainSystemException $exception)
{
$result->addError(new BitrixMainError(
$exception->getMessage(),
$exception->getCode(),
$params
));
}
}
else
{
$result->addError(new BitrixMainError(
'Command "'.$command.'" is not found.',
'UNKNOWN_COMMAND',
$params
));
}
if (!$result->isSuccess() && $result->getErrorCollection()->isEmpty())
{
$result->addError(new BitrixMainError(
'Command "'.$command.'" execute with errors.',
'ERROR_COMMAND',
$params
));
}
return $result;
}