MadelineProtoDocs/docs/PHP/danog/MadelineProto/MTProtoTools/Files.md

13 KiB

title: danog\MadelineProto\MTProtoTools\Files: Manages upload and download of files. description:

danog\MadelineProto\MTProtoTools\Files

Back to index

Author: Daniil Gentili daniil@daniil.it

Manages upload and download of files.


Generated by danog/phpdoc.

Method list:

  • uploadFromUrl(string|\danog\MadelineProto\FileCallbackInterface $url, int $size, string $fileName, callable $cb, bool $encrypted): \Generator
  • uploadFromCallable(mixed $callable, int $size, string $mime, string $fileName, callable $cb, bool $seekable, bool $encrypted): \Generator
  • uploadFromTgfile(mixed $media, callable $cb, bool $encrypted): \Generator
  • getFileInfo(mixed $constructor): \Generator<array>
  • getPropicInfo(mixed $messageMedia): \Generator<array>
  • extractBotAPIFile(array $info): ?array
  • getDownloadInfo(mixed $messageMedia): \Generator<array>
  • downloadToDir(mixed $messageMedia, string|\danog\MadelineProto\FileCallbackInterface $dir, callable $cb): \Generator
  • downloadToFile(mixed $messageMedia, string|\danog\MadelineProto\FileCallbackInterface $file, callable $cb): \Generator Downloaded file path
  • downloadToCallable(mixed $messageMedia, callable|\danog\MadelineProto\FileCallbackInterface $callable, callable $cb, bool $seekable, int $offset, int $end, int $part_size): \Generator
  • downloadToBrowser(array|string $messageMedia, callable $cb): \Generator
  • downloadToStream(mixed $messageMedia, mixed|\danog\MadelineProto\FileCallbackInterface $stream, callable $cb, int $offset, int $end): \Generator
  • downloadToResponse(array|string $messageMedia, \ServerRequest $request, callable $cb): \Generator Returned response
  • uploadEncrypted(\danog\MadelineProto\FileCallbackInterface|string|array $file, string $fileName, callable $cb): \Generator
  • upload(\danog\MadelineProto\FileCallbackInterface|string|array $file, string $fileName, callable $cb, bool $encrypted): \Generator
  • uploadFromStream(mixed $stream, int $size, string $mime, string $fileName, callable $cb, bool $encrypted): \Generator

Methods:

uploadFromUrl(string|\danog\MadelineProto\FileCallbackInterface $url, int $size, string $fileName, callable $cb, bool $encrypted): \Generator

Upload file from URL.

Parameters:

  • $url: string|\danog\MadelineProto\FileCallbackInterface URL of file
  • $size: int Size of file
  • $fileName: string File name
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)
  • $encrypted: bool Whether to encrypt file for secret chats

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|\Amp\Promise<\Amp\Http\Client\Response>|\Amp\Promise<int>|\Amp\Promise<null|string>|\danog\MadelineProto\Stream\StreamInterface|array|int|mixed, mixed, mixed>

See also:

uploadFromCallable(mixed $callable, int $size, string $mime, string $fileName, callable $cb, bool $seekable, bool $encrypted): \Generator

Upload file from callable. The callable must accept two parameters: int $offset, int $size The callable must return a string with the contest of the file at the specified offset and size.

Parameters:

  • $callable: mixed Callable
  • $size: int File size
  • $mime: string Mime type
  • $fileName: string File name
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)
  • $seekable: bool Whether chunks can be fetched out of order
  • $encrypted: bool Whether to encrypt file for secret chats

Fully typed return value:

\Generator<int, \Amp\Promise|\Amp\Promise<array>, mixed, array{_: string, id: string, parts: int, name: string, mime_type: string, key_fingerprint?: mixed, key?: mixed, iv?: mixed, md5_checksum: string}>

See also:

  • \Amp\Promise
  • \Generator

uploadFromTgfile(mixed $media, callable $cb, bool $encrypted): \Generator

Reupload telegram file.

Parameters:

  • $media: mixed Telegram file
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)
  • $encrypted: bool Whether to encrypt file for secret chats

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|array, mixed, mixed>

See also:

  • \Amp\Promise
  • \Generator

getFileInfo(mixed $constructor): \Generator<array>

Get info about file.

Parameters:

  • $constructor: mixed File ID

See also:

  • \Generator

getPropicInfo(mixed $messageMedia): \Generator<array>

Get download info of the propic of a user Returns an array with the following structure:. $info['ext'] - The file extension $info['name'] - The file name, without the extension $info['mime'] - The file mime type $info['size'] - The file size

Parameters:

  • $messageMedia: mixed File ID

See also:

  • \Generator

extractBotAPIFile(array $info): ?array

Extract file info from bot API message.

Parameters:

  • $info: array Bot API message object

getDownloadInfo(mixed $messageMedia): \Generator<array>

Get download info of file Returns an array with the following structure:. $info['ext'] - The file extension $info['name'] - The file name, without the extension $info['mime'] - The file mime type $info['size'] - The file size

Parameters:

  • $messageMedia: mixed File ID

See also:

  • \Generator

downloadToDir(mixed $messageMedia, string|\danog\MadelineProto\FileCallbackInterface $dir, callable $cb): \Generator

Download file to directory.

Parameters:

  • $messageMedia: mixed File to download
  • $dir: string|\danog\MadelineProto\FileCallbackInterface Directory where to download the file
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|\Amp\Promise<\Amp\File\File>|\Amp\Promise<\Amp\Ipc\Sync\ChannelledSocket>|\Amp\Promise<callable|null>|\Amp\Promise<mixed>|array|bool|mixed, mixed, false|string>

See also:

downloadToFile(mixed $messageMedia, string|\danog\MadelineProto\FileCallbackInterface $file, callable $cb): \Generator Downloaded file path

Download file.

Parameters:

  • $messageMedia: mixed File to download
  • $file: string|\danog\MadelineProto\FileCallbackInterface Downloaded file path
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)

Return value: Downloaded file path

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|\Amp\Promise<\Amp\File\File>|\Amp\Promise<\Amp\Ipc\Sync\ChannelledSocket>|\Amp\Promise<callable|null>|\Amp\Promise<mixed>|array|bool|mixed, mixed, false|string>

See also:

downloadToCallable(mixed $messageMedia, callable|\danog\MadelineProto\FileCallbackInterface $callable, callable $cb, bool $seekable, int $offset, int $end, int $part_size): \Generator

Download file to callable. The callable must accept two parameters: string $payload, int $offset The callable will be called (possibly out of order, depending on the value of $seekable). The callable should return the number of written bytes.

Parameters:

  • $messageMedia: mixed File to download
  • $callable: callable|\danog\MadelineProto\FileCallbackInterface Chunk callback
  • $cb: callable Status callback (DEPRECATED, use FileCallbackInterface)
  • $seekable: bool Whether the callable can be called out of order
  • $offset: int Offset where to start downloading
  • $end: int Offset where to stop downloading (inclusive)
  • $part_size: int Size of each chunk

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|array, mixed, true>

See also:

downloadToBrowser(array|string $messageMedia, callable $cb): \Generator

Download file to browser. Supports HEAD requests and content-ranges for parallel and resumed downloads.

Parameters:

  • $messageMedia: array|string File to download
  • $cb: callable Status callback (can also use FileCallback)

See also:

  • \Generator

downloadToStream(mixed $messageMedia, mixed|\danog\MadelineProto\FileCallbackInterface $stream, callable $cb, int $offset, int $end): \Generator

Download file to stream.

Parameters:

  • $messageMedia: mixed File to download
  • $stream: mixed|\danog\MadelineProto\FileCallbackInterface Stream where to download file
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)
  • $offset: int Offset where to start downloading
  • $end: int Offset where to end download

Fully typed return value:

\Generator<int, \Amp\Promise<\Amp\Ipc\Sync\ChannelledSocket>|\Amp\Promise<mixed>|mixed, mixed, mixed>

See also:

downloadToResponse(array|string $messageMedia, \ServerRequest $request, callable $cb): \Generator Returned response

Download file to amphp/http-server response. Supports HEAD requests and content-ranges for parallel and resumed downloads.

Parameters:

  • $messageMedia: array|string File to download
  • $request: \ServerRequest Request
  • $cb: callable Status callback (can also use FileCallback)

Return value: Returned response

Fully typed return value:

\Generator<mixed, array, mixed, \Amp\Http\Server\Response>

See also:

  • \ServerRequest
  • \Amp\Http\Server\Response
  • \Generator

uploadEncrypted(\danog\MadelineProto\FileCallbackInterface|string|array $file, string $fileName, callable $cb): \Generator

Upload file to secret chat.

Parameters:

  • $file: \danog\MadelineProto\FileCallbackInterface|string|array File, URL or Telegram file to upload
  • $fileName: string File name
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|\Amp\Promise<\Amp\File\File>|\Amp\Promise<\Amp\Ipc\Sync\ChannelledSocket>|\Amp\Promise<int>|\Amp\Promise<mixed>|\Amp\Promise<null|string>|\danog\MadelineProto\Stream\StreamInterface|array|int|mixed, mixed, mixed>

See also:

upload(\danog\MadelineProto\FileCallbackInterface|string|array $file, string $fileName, callable $cb, bool $encrypted): \Generator

Upload file.

Parameters:

  • $file: \danog\MadelineProto\FileCallbackInterface|string|array File, URL or Telegram file to upload
  • $fileName: string File name
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)
  • $encrypted: bool Whether to encrypt file for secret chats

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|\Amp\Promise<\Amp\File\File>|\Amp\Promise<\Amp\Ipc\Sync\ChannelledSocket>|\Amp\Promise<int>|\Amp\Promise<mixed>|\Amp\Promise<null|string>|\danog\MadelineProto\Stream\StreamInterface|array|int|mixed, mixed, mixed>

See also:

uploadFromStream(mixed $stream, int $size, string $mime, string $fileName, callable $cb, bool $encrypted): \Generator

Upload file from stream.

Parameters:

  • $stream: mixed PHP resource or AMPHP async stream
  • $size: int File size
  • $mime: string Mime type
  • $fileName: string File name
  • $cb: callable Callback (DEPRECATED, use FileCallbackInterface)
  • $encrypted: bool Whether to encrypt file for secret chats

Fully typed return value:

\Generator<int|mixed, \Amp\Promise|\Amp\Promise<int>|\Amp\Promise<null|string>|\danog\MadelineProto\Stream\StreamInterface|array|int|mixed, mixed, mixed>

See also:

Properties

  • $settings: \Settings Settings