Skip to content

Commit

Permalink
Add and except missing FLOOD_TEST_PHONE_WAIT_X error
Browse files Browse the repository at this point in the history
  • Loading branch information
Lonami committed Jan 10, 2018
1 parent 8038971 commit eaef392
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 4 deletions.
7 changes: 4 additions & 3 deletions telethon/telegram_bare_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@
from .crypto import rsa, CdnDecrypter
from .errors import (
RPCError, BrokenAuthKeyError, ServerError,
FloodWaitError, FileMigrateError, TypeNotFoundError,
UnauthorizedError, PhoneMigrateError, NetworkMigrateError, UserMigrateError
FloodWaitError, FloodTestPhoneWaitError, FileMigrateError,
TypeNotFoundError, UnauthorizedError, PhoneMigrateError,
NetworkMigrateError, UserMigrateError
)
from .network import authenticator, MtProtoSender, Connection, ConnectionMode
from .tl import TLObject, Session
Expand Down Expand Up @@ -546,7 +547,7 @@ def _invoke(self, call_receive, *requests):
# Telegram is having some issues, just retry
__log__.error('Telegram servers are having internal errors %s', e)

except FloodWaitError as e:
except (FloodWaitError, FloodTestPhoneWaitError) as e:
__log__.warning('Request invoked too often, wait %ds', e.seconds)
if e.seconds > self.session.flood_sleep_threshold | 0:
raise
Expand Down
1 change: 1 addition & 0 deletions telethon_generator/error_descriptions
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,4 @@ SESSION_REVOKED=The authorization has been invalidated, because of the user term
USER_ALREADY_PARTICIPANT=The authenticated user is already a participant of the chat
USER_DEACTIVATED=The user has been deleted/deactivated
FLOOD_WAIT_X=A wait of {} seconds is required
FLOOD_TEST_PHONE_WAIT_X=A wait of {} seconds is required in the test servers
5 changes: 4 additions & 1 deletion telethon_generator/error_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@ def generate_code(output, json_file, errors_desc):
errors = defaultdict(set)
# PWRTelegram's API doesn't return all errors, which we do need here.
# Add some special known-cases manually first.
errors[420].add('FLOOD_WAIT_X')
errors[420].update((
'FLOOD_WAIT_X', 'FLOOD_TEST_PHONE_WAIT_X'
))
errors[401].update((
'AUTH_KEY_INVALID', 'SESSION_EXPIRED', 'SESSION_REVOKED'
))
Expand Down Expand Up @@ -118,6 +120,7 @@ def generate_code(output, json_file, errors_desc):
# Names for the captures, or 'x' if unknown
capture_names = {
'FloodWaitError': 'seconds',
'FloodTestPhoneWaitError': 'seconds',
'FileMigrateError': 'new_dc',
'NetworkMigrateError': 'new_dc',
'PhoneMigrateError': 'new_dc',
Expand Down

0 comments on commit eaef392

Please sign in to comment.