- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/disk/sender.php
- Класс: BitrixImDiskSender
- Вызов: Sender::sendExistingFileToChat
static function sendExistingFileToChat(
File $file,
int $chatId,
string $text,
$params = [],
int $userId
): Result
{
$result = new Result();
$chat = ChatTable::getByPrimary($chatId, [
'select' => ['TYPE']
])->fetch();
if (!$chat)
{
return $result->addError(new Error("Getting chat error"));
}
$attach = new CIMMessageParamAttach(null, CIMMessageParamAttach::CHAT);
$attach->AddMessage($text);
$addResult = CIMMessenger::Add([
"TO_CHAT_ID" => $chatId,
"FROM_USER_ID" => $userId,
"FILES" => [(int)$file->getId()],
"MESSAGE_TYPE" => $chat['TYPE'],
"ATTACH" => $attach,
"PARAMS" => $params
]);
if (!$addResult)
{
return $result->addError(new Error("Adding message error"));
}
return $result;
}