• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_chat.php
  • Класс: CIMChat
  • Вызов: CIMChat::GetPersonalChat
public function GetPersonalChat(?int $userId = null)
{
	if (!$userId)
	{
		$userId = $this->user_id;
	}

	$favoriteChatResult = BitrixIMV2ChatFavoriteChat::find(['TO_USER_ID' => $userId]);
	if (!$favoriteChatResult->hasResult())
	{
		$favoriteChatResult = IMV2ChatChatFactory::getInstance()->addChat([
			'TYPE' => BitrixImV2Chat::IM_TYPE_PRIVATE,
			'ENTITY_TYPE' => BitrixImV2Chat::ENTITY_TYPE_FAVORITE,
			'AUTHOR_ID' => $userId,
			'USERS' => [$userId],
			'MESSAGE' => GetMessage('IM_PERSONAL_DESCRIPTION')
		]);

		return $favoriteChatResult->getResult()['CHAT_ID'];
	}

	return $favoriteChatResult->getResult()['ID'];
}