mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-03-12 15:38:03 +03:00
Cleanup send_file and support only 10 files for albums
This commit is contained in:
parent
b3f0c3d2ea
commit
f8137595c5
|
@ -143,8 +143,10 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
To send an album, you should provide a list in this parameter.
|
To send an album, you should provide a list in this parameter.
|
||||||
|
|
||||||
If a list or similar is provided, the files in it will be
|
If a list or similar is provided, the files in it will be
|
||||||
sent as an album in the order in which they appear, sliced
|
sent as an album in the order in which they appear. Currently,
|
||||||
in chunks of 10 if more than 10 are given.
|
only up to 10 files are allowed, and you're responsible for
|
||||||
|
making sure that they are all allowed inside albums (e.g.
|
||||||
|
only photos or only videos, no other documents in between).
|
||||||
|
|
||||||
caption (`str`, optional):
|
caption (`str`, optional):
|
||||||
Optional caption for the sent media message. When sending an
|
Optional caption for the sent media message. When sending an
|
||||||
|
@ -242,52 +244,14 @@ class UploadMethods(ButtonMethods, MessageParseMethods, UserMethods):
|
||||||
if not caption:
|
if not caption:
|
||||||
caption = ''
|
caption = ''
|
||||||
|
|
||||||
# First check if the user passed an iterable, in which case
|
# First check if the user passed an iterable -> send as album
|
||||||
# we may want to send as an album if all are photo files.
|
|
||||||
if utils.is_list_like(file):
|
if utils.is_list_like(file):
|
||||||
image_captions = []
|
|
||||||
document_captions = []
|
|
||||||
if utils.is_list_like(caption):
|
|
||||||
captions = caption
|
|
||||||
else:
|
|
||||||
captions = [caption]
|
|
||||||
|
|
||||||
# TODO Fix progress_callback
|
# TODO Fix progress_callback
|
||||||
images = []
|
return await self._send_album(
|
||||||
if force_document:
|
entity, file, caption=file,
|
||||||
documents = file
|
progress_callback=progress_callback, reply_to=reply_to,
|
||||||
else:
|
parse_mode=parse_mode, silent=silent
|
||||||
documents = []
|
)
|
||||||
for doc, cap in itertools.zip_longest(file, captions):
|
|
||||||
if utils.is_image(doc):
|
|
||||||
images.append(doc)
|
|
||||||
image_captions.append(cap)
|
|
||||||
else:
|
|
||||||
documents.append(doc)
|
|
||||||
document_captions.append(cap)
|
|
||||||
|
|
||||||
result = []
|
|
||||||
while images:
|
|
||||||
result += await self._send_album(
|
|
||||||
entity, images[:10], caption=image_captions[:10],
|
|
||||||
progress_callback=progress_callback, reply_to=reply_to,
|
|
||||||
parse_mode=parse_mode, silent=silent
|
|
||||||
)
|
|
||||||
images = images[10:]
|
|
||||||
image_captions = image_captions[10:]
|
|
||||||
|
|
||||||
for doc, cap in zip(documents, captions):
|
|
||||||
result.append(await self.send_file(
|
|
||||||
entity, doc,
|
|
||||||
caption=cap, force_document=force_document,
|
|
||||||
progress_callback=progress_callback, reply_to=reply_to,
|
|
||||||
attributes=attributes, thumb=thumb, voice_note=voice_note,
|
|
||||||
video_note=video_note, buttons=buttons, silent=silent,
|
|
||||||
supports_streaming=supports_streaming,
|
|
||||||
**kwargs
|
|
||||||
))
|
|
||||||
|
|
||||||
return result
|
|
||||||
|
|
||||||
entity = await self.get_input_entity(entity)
|
entity = await self.get_input_entity(entity)
|
||||||
reply_to = utils.get_message_id(reply_to)
|
reply_to = utils.get_message_id(reply_to)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user