diff --git a/telethon/network/authenticator.py b/telethon/network/authenticator.py index a73bae38..32413551 100644 --- a/telethon/network/authenticator.py +++ b/telethon/network/authenticator.py @@ -17,7 +17,7 @@ from ..errors import SecurityError from ..extensions import BinaryReader from ..network import MtProtoPlainSender from ..tl.functions import ( - ReqPqRequest, ReqDHParamsRequest, SetClientDHParamsRequest + ReqPqMultiRequest, ReqDHParamsRequest, SetClientDHParamsRequest ) @@ -53,7 +53,7 @@ def _do_authentication(connection): sender = MtProtoPlainSender(connection) # Step 1 sending: PQ Request, endianness doesn't matter since it's random - req_pq_request = ReqPqRequest( + req_pq_request = ReqPqMultiRequest( nonce=int.from_bytes(os.urandom(16), 'big', signed=True) ) sender.send(bytes(req_pq_request)) diff --git a/telethon_generator/scheme.tl b/telethon_generator/scheme.tl index 1d03c281..491f0c9e 100644 --- a/telethon_generator/scheme.tl +++ b/telethon_generator/scheme.tl @@ -53,7 +53,10 @@ destroy_auth_key_fail#ea109b13 = DestroyAuthKeyRes; ---functions--- +// Deprecated since somewhere around February of 2018 +// See https://core.telegram.org/mtproto/auth_key req_pq#60469778 nonce:int128 = ResPQ; +req_pq_multi#be7e8ef1 nonce:int128 = ResPQ; req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:bytes q:bytes public_key_fingerprint:long encrypted_data:bytes = Server_DH_Params;