• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Chat.php
  • Класс: BitrixImV2Chat
  • Вызов: Chat::sendPushUserDelete
protected function sendPushUserDelete(int $userId, RelationCollection $oldRelations): array
{
	if (!BitrixMainLoader::includeModule('pull'))
	{
		return [];
	}

	$pushMessage = [
		'module_id' => 'im',
		'command' => 'chatUserLeave',
		'params' => [
			'chatId' => $this->getChatId(),
			'dialogId' => 'chat' . $this->getChatId(),
			'chatTitle' => BitrixImText::decodeEmoji($this->getTitle() ?? ''),
			'userId' => $userId,
			'message' => $userId === $this->getContext()->getUserId() ? '' : $this->getMessageUserDeleteText($userId),
			'userCount' => $this->getUserCount()
		],
		'extra' => BitrixImCommon::getPullExtra()
	];

	$allUsersIds = $oldRelations->getUserIds();
	if ($this->getEntityType() === self::ENTITY_TYPE_LINE) //todo: refactor this
	{
		foreach ($oldRelations as $relation)
		{
			if ($relation->getUser()->getExternalAuthId() === 'imconnector')
			{
				unset($allUsersIds[$relation->getUserId()]);
			}
		}
	}
	BitrixPullEvent::add(array_values($allUsersIds), $pushMessage);

	return $pushMessage;
}