- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/PushFormat.php
- Класс: BitrixImV2MessagePushFormat
- Вызов: PushFormat::formatPrivateMessage
public function formatPrivateMessage(Message $message, PrivateChat $chat): array
{
$fromUserId = $message->getAuthorId();
$toUserId = $chat->getCompanion()->getId();
$users = CIMContactList::GetUserData([
'ID' => [$toUserId, $fromUserId],
'PHONES' => 'Y',
]);
return [
'chatId' => $chat->getChatId(),
'dialogId' => 0,
'chat' => [],
'lines' => null,
'userInChat' => [],
'userBlockChat' => [],
'users' => !empty($users['users']) ? $users['users'] : null,
'message' => [
'id' => $message->getMessageId(),
'templateId' => $message->getUuid(),
'templateFileId' => $message->getFileUuid(),
'prevId' => $chat->getPrevMessageId(),
'chatId' => $chat->getChatId(),
'senderId' => $fromUserId,
'recipientId' => $toUserId,
'system' => ($message->isSystem() ? 'Y' : 'N'),
'date' => $message->getDateCreate() ?? DateTime::createFromTimestamp(time()),// DATE_CREATE
'text' => Text::parse($message->getMessage()),
'textLegacy' => Text::parseLegacyFormat($message->getMessage()),
'params' => $message->getParams()->toPullFormat(),
'counter' => 0,
'isImportant' => $message->isImportant(),
'importantFor' => $message->getImportantFor(),
],
'files' => $message->getFilesDiskData(),
'notify' => true,
];
}