- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/bot/marta.php
- Класс: BitrixImBotBotMarta
- Вызов: Marta::sendAnswerCommand
static function sendAnswerCommand($messageId, $messageFields)
{
$attach = Array();
if (!empty($messageFields['ATTACH']))
{
$attach = CIMMessageParamAttach::GetAttachByJson($messageFields['ATTACH']);
}
$keyboard = Array();
if (!empty($messageFields['KEYBOARD']))
{
$keyboard = Array('BOT_ID' => self::getBotId());
if (!isset($messageFields['KEYBOARD']['BUTTONS']))
{
$keyboard['BUTTONS'] = $messageFields['KEYBOARD'];
}
else
{
$keyboard = $messageFields['KEYBOARD'];
}
$keyboard = BitrixImBotKeyboard::getKeyboardByJson($keyboard);
}
$messageParams = Array(
'DIALOG_ID' => $messageFields['DIALOG_ID'],
'MESSAGE' => $messageFields['MESSAGE_ANSWER'],
'ATTACH' => $attach,
'KEYBOARD' => $keyboard
);
if ($messageFields['COMMAND_ID'] > 0)
{
if ($messageFields['COMMAND_CONTEXT'] == 'KEYBOARD')
{
CIMMessageParam::Set($messageFields['MESSAGE_ID'], Array('KEYBOARD' => $keyboard? $keyboard: 'N', 'ATTACH' => $attach? $attach: Array()));
if (!empty($messageParams['MESSAGE']))
{
CIMMessenger::Update($messageFields['MESSAGE_ID'], $messageParams['MESSAGE'], true, false, self::getBotId());
}
CIMMessageParam::SendPull($messageFields['MESSAGE_ID'], Array('KEYBOARD', 'ATTACH'));
}
else
{
BitrixImCommand::addMessage(Array('MESSAGE_ID' => $messageFields['MESSAGE_ID'], 'COMMAND_ID' => $messageFields['COMMAND_ID']), $messageParams);
}
}
else
{
BitrixImBot::addMessage(Array('BOT_ID' => self::getBotId()), $messageParams);
}
}