- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Chat.php
- Класс: BitrixImV2Chat
- Вызов: Chat::unreadToMessage
public function unreadToMessage(Message $message): Result
{
$result = new Result();
if ($message->getChatId() !== $this->chatId)
{
return $result->addError(new MessageError(MessageError::MESSAGE_NOT_FOUND));
}
$readService = $this->getReadService();
$lastId = $readService->getLastMessageIdInChat($this->chatId);
$counter = $readService->unreadTo($message)->getResult()['COUNTER'];
$lastMessageIds = $this->getLastMessages($lastId, $message->getMessageId());
$lastMessageStatuses = $this->getReadService()->getViewedService()->getMessageStatuses($lastMessageIds);
/*if (MainLoader::includeModule('pull'))
{
$this->sendPushUnreadSelf($message->getMessageId(), $lastId, $counter, $lastMessageStatuses);
$this->sendPushUnreadOpponent($lastMessageStatuses[$lastId] ?? IM_MESSAGE_STATUS_RECEIVED, $lastId, $lastMessageStatuses);
}*/
return $result->setResult([
'CHAT_ID' => $this->chatId,
'LAST_ID' => $lastId,
'COUNTER' => $counter,
'UNREAD_TO' => $message->getId(),
'LAST_MESSAGE_STATUSES' => $lastMessageStatuses,
]);
}