From c9dff552b8e7bb2ae0a0f95453344ea8802545f1 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sat, 30 Sep 2017 18:51:25 +0200 Subject: [PATCH] Except ServerErrors and sleep a bit before retrying --- telethon/telegram_bare_client.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/telethon/telegram_bare_client.py b/telethon/telegram_bare_client.py index bec5d8ee..157ab866 100644 --- a/telethon/telegram_bare_client.py +++ b/telethon/telegram_bare_client.py @@ -10,7 +10,7 @@ from time import sleep from . import helpers as utils from .crypto import rsa, CdnDecrypter from .errors import ( - RPCError, BrokenAuthKeyError, + RPCError, BrokenAuthKeyError, ServerError, FloodWaitError, FileMigrateError, TypeNotFoundError, UnauthorizedError, PhoneMigrateError, NetworkMigrateError, UserMigrateError ) @@ -496,6 +496,13 @@ class TelegramBareClient: while self._user_connected and not self._reconnect(): sleep(0.1) # Retry forever until we can send the request + except ServerError as e: + # Telegram is having some issues, sleep a tiny bit and retry + self._logger.debug( + '[ERROR] Telegram is having some internal issues', e + ) + sleep(2) + except FloodWaitError: sender.disconnect() self.disconnect()