• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/disk/sender.php
  • Класс: BitrixImDiskSender
  • Вызов: Sender::sendFileToChat
static function sendFileToChat(
	File $file,
	int $chatId,
	string $text,
	$params = [],
	$userId = null,
	$fileSource = self::SOURCE_DEFAULT
): Result
{
	$result = new Result();
	$sender = new self();

	$initResult = $sender->init($file, $chatId, $text, $params, $userId, $fileSource);
	if (!$initResult)
	{
		return $result->addErrors($sender->errorCollection->getValues());
	}

	$accessResult = $sender->checkAccess();
	if (!$accessResult)
	{
		return $result->addErrors($sender->errorCollection->getValues());
	}

	$uploadResult = $sender->uploadFileToChatStorage();
	if (!$uploadResult)
	{
		return $result->addErrors($sender->errorCollection->getValues());
	}
	$result->setData(['IM_FILE' => $uploadResult]);

	$sender->sendEvent();

	return $result;
}