• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Chat.php
  • Класс: BitrixImV2Chat
  • Вызов: Chat::riseInRecent
public function riseInRecent(Message $message): void
{
	/** @var Relation $relation */
	foreach ($this->getRelations() as $relation)
	{
		if (!User::getInstance($relation->getUserId())->isActive())
		{
			continue;
		}

		if ($this->getEntityType() == self::ENTITY_TYPE_LINE)
		{
			if (User::getInstance($relation->getUserId())->getExternalAuthId() == 'imconnector')
			{
				continue;
			}
		}

		CIMContactList::SetRecent([
			'ENTITY_ID' => $this->getChatId(),
			'MESSAGE_ID' => $message->getMessageId(),
			'CHAT_TYPE' => $this->getType(),
			'USER_ID' => $relation->getUserId(),
			'CHAT_ID' => $relation->getChatId(),
			'RELATION_ID' => $relation->getId(),
		]);

		if ($relation->getUserId() == $message->getAuthorId())
		{
			$relation
				->setLastId($message->getMessageId())
				->save();
		}
	}
}