mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-26 19:33:45 +03:00
Fix-up 5a9a00e
to handle exporting senders to the same DC
This commit is contained in:
parent
46b2d910d7
commit
a332d29c4c
|
@ -203,7 +203,20 @@ class DownloadMethods(UserMethods):
|
||||||
dc_id, input_location = utils.get_input_location(input_location)
|
dc_id, input_location = utils.get_input_location(input_location)
|
||||||
exported = dc_id and self.session.dc_id != dc_id
|
exported = dc_id and self.session.dc_id != dc_id
|
||||||
if exported:
|
if exported:
|
||||||
|
try:
|
||||||
sender = await self._borrow_exported_sender(dc_id)
|
sender = await self._borrow_exported_sender(dc_id)
|
||||||
|
except errors.DcIdInvalidError:
|
||||||
|
# Can't export a sender for the ID we are currently in
|
||||||
|
config = await self(functions.help.GetConfigRequest())
|
||||||
|
for option in config.dc_options:
|
||||||
|
if option.ip_address == self.session.server_address:
|
||||||
|
self.session.set_dc(
|
||||||
|
option.id, option.ip_address, option.port)
|
||||||
|
self.session.save()
|
||||||
|
break
|
||||||
|
|
||||||
|
# TODO Figure out why the session may have the wrong DC ID
|
||||||
|
sender = self._sender
|
||||||
else:
|
else:
|
||||||
# The used sender will also change if ``FileMigrateError`` occurs
|
# The used sender will also change if ``FileMigrateError`` occurs
|
||||||
sender = self._sender
|
sender = self._sender
|
||||||
|
|
Loading…
Reference in New Issue
Block a user