stream_media()
- Client.stream_media()
Stream the media from a message chunk by chunk.
You can use this method to partially download a file into memory or to selectively download chunks of file. The chunk maximum size is 1 MiB (1024 * 1024 bytes).
Usable by Users Bots
- Parameters:
message (
Message
|str
) – Pass a Message containing the media, the media itself (message.audio, message.video, …) or a file id as string.limit (
int
, optional) – Limit the amount of chunks to stream. Defaults to 0 (stream the whole media).offset (
int
, optional) – How many chunks to skip before starting to stream. Defaults to 0 (start from the beginning).
- Returns:
Generator
– A generator yielding bytes chunk by chunk
Example
# Stream the whole media async for chunk in app.stream_media(message): print(len(chunk)) # Stream the first 3 chunks only async for chunk in app.stream_media(message, limit=3): print(len(chunk)) # Stream the rest of the media by skipping the first 3 chunks async for chunk in app.stream_media(message, offset=3): print(len(chunk)) # Stream the last 3 chunks only (negative offset) async for chunk in app.stream_media(message, offset=-3): print(len(chunk))