- Модуль: 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;
}