From c9bcf93cf7ddf8667427ab5cacd00a787152598e Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Sun, 16 Dec 2018 23:42:31 +0100 Subject: [PATCH 1/2] Add extra checks in case sign-in or sign-up fails --- pyrogram/client/client.py | 40 ++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/pyrogram/client/client.py b/pyrogram/client/client.py index bd132851..1560da9d 100644 --- a/pyrogram/client/client.py +++ b/pyrogram/client/client.py @@ -45,7 +45,7 @@ from pyrogram.api.errors import ( PhoneNumberUnoccupied, PhoneCodeInvalid, PhoneCodeHashEmpty, PhoneCodeExpired, PhoneCodeEmpty, SessionPasswordNeeded, PasswordHashInvalid, FloodWait, PeerIdInvalid, FirstnameInvalid, PhoneNumberBanned, - VolumeLocNotFound, UserMigrate, FileIdInvalid, ChannelPrivate) + VolumeLocNotFound, UserMigrate, FileIdInvalid, ChannelPrivate, PhoneNumberOccupied) from pyrogram.client.handlers import DisconnectHandler from pyrogram.client.handlers.handler import Handler from pyrogram.crypto import AES @@ -529,13 +529,18 @@ class Client(Methods, BaseClient): try: if phone_registered: - r = self.send( - functions.auth.SignIn( - self.phone_number, - phone_code_hash, - self.phone_code + try: + r = self.send( + functions.auth.SignIn( + self.phone_number, + phone_code_hash, + self.phone_code + ) ) - ) + except PhoneNumberUnoccupied: + print("PHONE NON-OCCUPIED") + phone_registered = False + continue else: try: self.send( @@ -551,15 +556,20 @@ class Client(Methods, BaseClient): self.first_name = self.first_name if self.first_name is not None else input("First name: ") self.last_name = self.last_name if self.last_name is not None else input("Last name: ") - r = self.send( - functions.auth.SignUp( - self.phone_number, - phone_code_hash, - self.phone_code, - self.first_name, - self.last_name + try: + r = self.send( + functions.auth.SignUp( + self.phone_number, + phone_code_hash, + self.phone_code, + self.first_name, + self.last_name + ) ) - ) + except PhoneNumberOccupied: + print("PHONE OCCUPIED") + phone_registered = True + continue except (PhoneCodeInvalid, PhoneCodeEmpty, PhoneCodeExpired, PhoneCodeHashEmpty) as e: if phone_code_invalid_raises: raise From bc824f738c370c463c01903a7b495c13d1ddca0c Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Tue, 18 Dec 2018 11:21:37 +0100 Subject: [PATCH 2/2] Add extra warnings when sign-ins or sign-ups fail --- pyrogram/client/client.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/pyrogram/client/client.py b/pyrogram/client/client.py index 1560da9d..16f015d9 100644 --- a/pyrogram/client/client.py +++ b/pyrogram/client/client.py @@ -538,21 +538,10 @@ class Client(Methods, BaseClient): ) ) except PhoneNumberUnoccupied: - print("PHONE NON-OCCUPIED") + log.warning("Phone number unregistered") phone_registered = False continue else: - try: - self.send( - functions.auth.SignIn( - self.phone_number, - phone_code_hash, - self.phone_code - ) - ) - except PhoneNumberUnoccupied: - pass - self.first_name = self.first_name if self.first_name is not None else input("First name: ") self.last_name = self.last_name if self.last_name is not None else input("Last name: ") @@ -567,7 +556,7 @@ class Client(Methods, BaseClient): ) ) except PhoneNumberOccupied: - print("PHONE OCCUPIED") + log.warning("Phone number already registered") phone_registered = True continue except (PhoneCodeInvalid, PhoneCodeEmpty, PhoneCodeExpired, PhoneCodeHashEmpty) as e: