mirror of
https://github.com/TeamPGM/pyrogram.git
synced 2024-11-24 07:51:44 +00:00
Don't throw errors if auth key creation fails; try again instead
This commit is contained in:
parent
87b2c4b1e7
commit
cbcb1c78c4
@ -31,9 +31,6 @@ from .internals import MsgId, DataCenter
|
|||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
# TODO: When using TCP connection mode, the server may close it at any time, causing the Auth key creation to fail
|
|
||||||
# The above is true when dealing with temporary keys, although for perm keys it didn't happened, yet.
|
|
||||||
|
|
||||||
class Auth:
|
class Auth:
|
||||||
CURRENT_DH_PRIME = int(
|
CURRENT_DH_PRIME = int(
|
||||||
"C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F"
|
"C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F"
|
||||||
@ -79,6 +76,11 @@ class Auth:
|
|||||||
https://core.telegram.org/mtproto/auth_key
|
https://core.telegram.org/mtproto/auth_key
|
||||||
https://core.telegram.org/mtproto/samples-auth_key
|
https://core.telegram.org/mtproto/samples-auth_key
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# The server may close the connection at any time, causing the auth key creation to fail.
|
||||||
|
# If that happens, just try again until it succeed.
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
log.info("Start creating a new auth key on DC{}".format(self.dc_id))
|
log.info("Start creating a new auth key on DC{}".format(self.dc_id))
|
||||||
|
|
||||||
self.connection.connect()
|
self.connection.connect()
|
||||||
@ -240,7 +242,10 @@ class Auth:
|
|||||||
set_client_dh_params_answer.__class__.__name__
|
set_client_dh_params_answer.__class__.__name__
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
except: # TODO: Too broad exception clause
|
||||||
self.connection.close()
|
log.warning("Auth key creation failed. Let's try again.")
|
||||||
|
continue
|
||||||
|
else:
|
||||||
return auth_key
|
return auth_key
|
||||||
|
finally:
|
||||||
|
self.connection.close()
|
||||||
|
Loading…
Reference in New Issue
Block a user