static function onReceiveCommand($command, $params)
{
$result = ['RESULT' => 'OK'];
if ($command === self::COMMAND_OPERATOR_MESSAGE_ADD)
{
Log::write($params, 'NETWORK: operatorMessageAdd');
static::operatorMessageAdd($params['MESSAGE_ID'], [
'BOT_ID' => $params['BOT_ID'],
'BOT_CODE' => $params['BOT_CODE'] ?? '',
'DIALOG_ID' => $params['DIALOG_ID'],
'MESSAGE' => $params['MESSAGE'],
'FILES' => $params['FILES'] ?? '',
'ATTACH' => $params['ATTACH'] ?? '',
'KEYBOARD' => $params['KEYBOARD'] ?? '',
'PARAMS' => $params['PARAMS'] ?? '',
'USER' => $params['USER'] ?? '',
'LINE' => $params['LINE'] ?? ''
]);
}
else if($command === self::COMMAND_OPERATOR_MESSAGE_UPDATE)
{
Log::write($params, 'NETWORK: operatorMessageUpdate');
static::operatorMessageUpdate($params['MESSAGE_ID'], [
'BOT_ID' => $params['BOT_ID'],
'DIALOG_ID' => $params['DIALOG_ID'],
'MESSAGE' => $params['MESSAGE'],
'FILES' => $params['FILES'] ?? '',
'ATTACH' => $params['ATTACH'] ?? '',
'KEYBOARD' => $params['KEYBOARD'] ?? '',
'PARAMS' => $params['PARAMS'] ?? '',
'CONNECTOR_MID' => $params['CONNECTOR_MID'],
]);
}
else if($command === self::COMMAND_OPERATOR_MESSAGE_DELETE)
{
Log::write($params, 'NETWORK: operatorMessageDelete');
static::operatorMessageDelete($params['MESSAGE_ID'], [
'BOT_ID' => $params['BOT_ID'],
'DIALOG_ID' => $params['DIALOG_ID'],
'CONNECTOR_MID' => $params['CONNECTOR_MID'],
]);
}
else if($command === self::COMMAND_OPERATOR_START_WRITING)
{
Log::write($params, 'NETWORK: operatorStartWriting');
static::operatorStartWriting([
'BOT_ID' => $params['BOT_ID'],
'DIALOG_ID' => $params['DIALOG_ID'],
'USER' => isset($params['USER'])? $params['USER']: ''
]);
}
else if($command === self::COMMAND_OPERATOR_MESSAGE_RECEIVED)
{
Log::write($params, 'NETWORK: operatorMessageReceived');
static::operatorMessageReceived([
'BOT_ID' => $params['BOT_ID'],
'DIALOG_ID' => $params['DIALOG_ID'],
'MESSAGE_ID' => $params['MESSAGE_ID'],
'CONNECTOR_MID' => $params['CONNECTOR_MID'],
'SESSION_ID' => $params['SESSION_ID']
]);
}
// operator OL session start
else if($command === self::COMMAND_START_DIALOG_SESSION)
{
Log::write($params, 'NETWORK: startDialogSession');
static::startDialogSession([
'BOT_ID' => $params['BOT_ID'],
'DIALOG_ID' => $params['DIALOG_ID'],
'SESSION_ID' => $params['SESSION_ID'],
'PARENT_ID' => $params['PARENT_ID'],
'CLOSE_TERM' => $params['CLOSE_TERM'],
]);
}
// operator OL session finish
else if($command === self::COMMAND_FINISH_DIALOG_SESSION)
{
Log::write($params, 'NETWORK: finishDialogSession');
static::finishDialogSession([
'BOT_ID' => $params['BOT_ID'],
'DIALOG_ID' => $params['DIALOG_ID'],
'SESSION_ID' => $params['SESSION_ID'],
'PARENT_ID' => $params['PARENT_ID'],
'CLOSE_TERM' => $params['CLOSE_TERM'],
]);
}
// checking access to public url
else if($command === self::COMMAND_CHECK_PUBLIC_URL)
{
Log::write($params, 'NETWORK: '.self::COMMAND_CHECK_PUBLIC_URL);
$result = ['PONG' => 'OK'];
}
else
{
$result = new ImBotError(__METHOD__, 'UNKNOWN_COMMAND', 'Command is not found');
}
return $result;
}