Fix return value of send_file(album) of the same media

This commit is contained in:
Lonami Exo 2019-11-10 14:56:28 +01:00
parent 57dd0827f4
commit 6817e19923
2 changed files with 7 additions and 14 deletions

View File

@ -164,7 +164,7 @@ class MessageParseMethods:
mapping = sched_to_message
opposite = id_to_message # scheduled may be treated as normal, though
random_id = request if isinstance(request, int) else request.random_id
random_id = request if isinstance(request, (int, list)) else request.random_id
if not utils.is_list_like(random_id):
msg = mapping.get(random_to_id.get(random_id))
if not msg:

View File

@ -395,25 +395,18 @@ class UploadMethods:
fm,
message=caption,
entities=msg_entities
# random_id is autogenerated
))
# Now we can construct the multi-media request
result = await self(functions.messages.SendMultiMediaRequest(
request = functions.messages.SendMultiMediaRequest(
entity, reply_to_msg_id=reply_to, multi_media=media,
silent=silent, schedule_date=schedule
))
)
result = await self(request)
# We never sent a `random_id` for the messages that resulted from
# the request so we can't pair them up with the `Updates` that we
# get from Telegram. However, the sent messages have a photo and
# the photo IDs match with those we did send.
#
# Updates -> {_: message}
messages = self._get_response_message(None, result, entity)
# {_: message} -> {photo ID: message}
messages = {m.photo.id: m for m in messages.values()}
# Sent photo IDs -> messages
return [messages[m.media.id.id] for m in media]
random_ids = [m.random_id for m in media]
return self._get_response_message(random_ids, result, entity)
async def upload_file(
self: 'TelegramClient',