mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-03 03:30:09 +03:00
added supports albums contains photos and videos in send_file
This commit is contained in:
parent
5e6d33e104
commit
5405e6a2ba
|
@ -269,51 +269,36 @@ class UploadMethods:
|
||||||
# First check if the user passed an iterable, in which case
|
# First check if the user passed an iterable, in which case
|
||||||
# we may want to send as an album if all are photo files.
|
# 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 = []
|
media_captions = []
|
||||||
document_captions = []
|
|
||||||
video_captions = []
|
|
||||||
if utils.is_list_like(caption):
|
if utils.is_list_like(caption):
|
||||||
captions = caption
|
captions = caption
|
||||||
else:
|
else:
|
||||||
captions = [caption]
|
captions = [caption]
|
||||||
|
|
||||||
# TODO Fix progress_callback
|
# TODO Fix progress_callback
|
||||||
images = []
|
media = []
|
||||||
videos = []
|
|
||||||
if force_document:
|
if force_document:
|
||||||
documents = file
|
documents = file
|
||||||
else:
|
else:
|
||||||
documents = []
|
documents = []
|
||||||
for doc, cap in itertools.zip_longest(file, captions):
|
for doc, cap in itertools.zip_longest(file, captions):
|
||||||
if utils.is_image(doc):
|
if utils.is_image(doc) or utils.is_video(doc):
|
||||||
images.append(doc)
|
media.append(doc)
|
||||||
image_captions.append(cap)
|
media_captions.append(cap)
|
||||||
elif utils.is_video(doc):
|
|
||||||
videos.append(doc)
|
|
||||||
video_captions.append(cap)
|
|
||||||
else:
|
else:
|
||||||
documents.append(doc)
|
documents.append(doc)
|
||||||
document_captions.append(cap)
|
document_captions.append(cap)
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
while images:
|
while media:
|
||||||
result += await self._send_album(
|
result += await self._send_album(
|
||||||
entity, images[:10], caption=image_captions[:10],
|
entity, media[:10], caption=media_captions[:10],
|
||||||
progress_callback=progress_callback, reply_to=reply_to,
|
|
||||||
parse_mode=parse_mode, silent=silent, schedule=schedule
|
|
||||||
)
|
|
||||||
images = images[10:]
|
|
||||||
image_captions = image_captions[10:]
|
|
||||||
|
|
||||||
while videos:
|
|
||||||
result += await self._send_album(
|
|
||||||
entity, videos[:10], caption=video_captions[:10],
|
|
||||||
progress_callback=progress_callback, reply_to=reply_to,
|
progress_callback=progress_callback, reply_to=reply_to,
|
||||||
parse_mode=parse_mode, silent=silent, schedule=schedule,
|
parse_mode=parse_mode, silent=silent, schedule=schedule,
|
||||||
supports_streaming=supports_streaming
|
supports_streaming=supports_streaming
|
||||||
)
|
)
|
||||||
videos = videos[10:]
|
media = media[10:]
|
||||||
video_captions = video_captions[10:]
|
media_captions = media_captions[10:]
|
||||||
|
|
||||||
for doc, cap in zip(documents, captions):
|
for doc, cap in zip(documents, captions):
|
||||||
result.append(await self.send_file(
|
result.append(await self.send_file(
|
||||||
|
@ -407,6 +392,7 @@ class UploadMethods:
|
||||||
r = await self(functions.messages.UploadMediaRequest(
|
r = await self(functions.messages.UploadMediaRequest(
|
||||||
entity, media=fm
|
entity, media=fm
|
||||||
))
|
))
|
||||||
|
|
||||||
fm = utils.get_input_media(
|
fm = utils.get_input_media(
|
||||||
r.document, supports_streaming=supports_streaming)
|
r.document, supports_streaming=supports_streaming)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user