• Модуль: 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']);
}