- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/bot/network.php
- Класс: BitrixImBotBotNetwork
- Вызов: Network::clientMessageUpdate
static function clientMessageUpdate($messageId, $messageFields)
{
$messageFields['MESSAGE'] = self::removeMentions($messageFields['MESSAGE'] ?? '');
if ($relatedMessages = (new CIMHistory)->getRelatedMessages($messageId, 1, 0, false, false))
{
$relatedMessageText = '';
foreach ($relatedMessages['message'] as $message)
{
if (
$message['system'] != 'Y'
&& isset($message['params'][self::MESSAGE_PARAM_ALLOW_QUOTE])
&& $message['params'][self::MESSAGE_PARAM_ALLOW_QUOTE] == 'Y'
)
{
$relatedMessageText = $message['text'];
break;
}
}
if ($relatedMessageText)
{
$messageFields['MESSAGE'] =
str_repeat("-", 54)."n".
$relatedMessageText."n".
str_repeat("-", 54)."n".
$messageFields['MESSAGE'];
}
}
$user = self::getUserInfo((int)($messageFields['FROM_USER_ID'] ?? $messageFields['AUTHOR_ID']));
$http = self::instanceHttpClient();
$response = $http->query(
'clientMessageUpdate',
[
'BOT_ID' => $messageFields['BOT_ID'],
'DIALOG_ID' => $messageFields['DIALOG_ID'],
'MESSAGE_ID' => $messageId,
'CONNECTOR_MID' => $messageFields['PARAMS'][self::MESSAGE_PARAM_CONNECTOR_MID][0] ?? '',
'MESSAGE_TEXT' => $messageFields['MESSAGE'],
'USER' => $user,
]
);
return $response !== false && !isset($response['error']);
}