- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/Send/MentionService.php
- Класс: BitrixImV2MessageSendMentionService
- Вызов: MentionService::preparePushForMentionInChat
private function preparePushForMentionInChat(string $pushText, Message $message, Chat $chat, string $chatTitle): array
{
$avatarUser = $message->getAuthor()->getAvatar();
if ($avatarUser && mb_strpos($avatarUser, 'http') !== 0)
{
$avatarUser = BitrixImCommon::getPublicDomain(). $avatarUser;
}
$avatarChat = CIMChat::GetAvatarImage($chat->getAvatarId(), 200, false);
if ($avatarChat && mb_strpos($avatarChat, 'http') !== 0)
{
$avatarChat = BitrixImCommon::getPublicDomain(). $avatarChat;
}
$result = [];
$result['push'] = [];
$result['module_id'] = 'im';
$result['push']['params'] = [
'TAG' => 'IM_CHAT_'.$chat->getChatId(),
'CHAT_TYPE' => $chat->getType(),
'CATEGORY' => 'ANSWER',
'URL' => SITE_DIR.'mobile/ajax.php?mobile_action=im_answer',
'PARAMS' => [
'RECIPIENT_ID' => 'chat'.$chat->getChatId()
]
];
$result['push']['type'] = ($chat->getType() == Chat::IM_TYPE_OPEN ? 'openChat' : 'chat');
$result['push']['tag'] = 'IM_CHAT_'.$chat->getChatId();
$result['push']['sub_tag'] = 'IM_MESS';
$result['push']['app_id'] = 'Bitrix24';
$result['push']['message'] = $pushText;
$result['push']['advanced_params'] = [
'group' => ($chat->getEntityType() == Chat::ENTITY_TYPE_LINE ? 'im_lines_message' : 'im_message'),
'avatarUrl' => $avatarChat ?: $avatarUser,
'senderName' => $chatTitle,
'senderMessage' => $pushText,
];
return $result;
}