2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-28 04:48:06 +00:00

Handle Telegram exceptions on start(). Fixes #121

The client doesn't need to be stopped as it never started successfully.
This commit is contained in:
Dan 2018-09-15 13:23:25 +02:00 committed by GitHub
parent eb8513e009
commit c75a4f182a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -215,29 +215,34 @@ class Client(Methods, BaseClient):
self.session.start()
self.is_started = True
try:
if self.user_id is None:
if self.token is None:
self.authorize_user()
else:
self.authorize_bot()
self.save_session()
if self.user_id is None:
if self.token is None:
self.authorize_user()
now = time.time()
if abs(now - self.date) > Client.OFFLINE_SLEEP:
self.peers_by_username = {}
self.peers_by_phone = {}
self.get_initial_dialogs()
self.get_contacts()
else:
self.send(functions.messages.GetPinnedDialogs())
self.get_initial_dialogs_chunk()
else:
self.authorize_bot()
self.save_session()
if self.token is None:
now = time.time()
if abs(now - self.date) > Client.OFFLINE_SLEEP:
self.peers_by_username = {}
self.peers_by_phone = {}
self.get_initial_dialogs()
self.get_contacts()
else:
self.send(functions.messages.GetPinnedDialogs())
self.get_initial_dialogs_chunk()
else:
self.send(functions.updates.GetState())
self.send(functions.updates.GetState())
except Exception as e:
self.is_started = False
self.session.stop()
raise e
for i in range(self.UPDATES_WORKERS):
self.updates_workers_list.append(