mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-01-24 08:14:14 +03:00
TelegramClient.send_code_request(): Change logic of methods invocation
Before: First call, force_sms=False: SendCodeRequest Next call, force_sms=False: SendCodeRequest First call, force_sms=True: raise ValueError Next call, force_sms=True: ResendCodeRequest That's inconvenient because the user must remember whether the code requested at all and whether the request was successful. In addition, the repeated invocation of SendCodeRequest does nothing. This commit changes logic to this: First call, force_sms=False: SendCodeRequest Next call, force_sms=False: ResendCodeRequest First call, force_sms=True: SendCodeRequest, ResendCodeRequest Next call, force_sms=True: ResendCodeRequest
This commit is contained in:
parent
4a2a64ce2f
commit
fb9813ae61
|
@ -138,23 +138,24 @@ class TelegramClient(TelegramBareClient):
|
||||||
:param str | int phone:
|
:param str | int phone:
|
||||||
The phone to which the code will be sent.
|
The phone to which the code will be sent.
|
||||||
:param bool force_sms:
|
:param bool force_sms:
|
||||||
Whether to force sending as SMS. You should call it at least
|
Whether to force sending as SMS.
|
||||||
once before without this set to True first.
|
|
||||||
:return auth.SentCode:
|
:return auth.SentCode:
|
||||||
Information about the result of the request.
|
Information about the result of the request.
|
||||||
"""
|
"""
|
||||||
phone = EntityDatabase.parse_phone(phone) or self._phone
|
phone = EntityDatabase.parse_phone(phone) or self._phone
|
||||||
if force_sms:
|
|
||||||
if not self._phone_code_hash:
|
if not self._phone_code_hash:
|
||||||
raise ValueError(
|
|
||||||
'You must call this method without force_sms at least once.'
|
|
||||||
)
|
|
||||||
result = self(ResendCodeRequest(phone, self._phone_code_hash))
|
|
||||||
else:
|
|
||||||
result = self(SendCodeRequest(phone, self.api_id, self.api_hash))
|
result = self(SendCodeRequest(phone, self.api_id, self.api_hash))
|
||||||
self._phone_code_hash = result.phone_code_hash
|
self._phone_code_hash = result.phone_code_hash
|
||||||
|
else:
|
||||||
|
force_sms = True
|
||||||
|
|
||||||
self._phone = phone
|
self._phone = phone
|
||||||
|
|
||||||
|
if force_sms:
|
||||||
|
result = self(ResendCodeRequest(phone, self._phone_code_hash))
|
||||||
|
self._phone_code_hash = result.phone_code_hash
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def sign_in(self, phone=None, code=None,
|
def sign_in(self, phone=None, code=None,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user