diff --git a/telethon/errors/rpcbaseerrors.py b/telethon/errors/rpcbaseerrors.py index fcbbc8b3..8d8a0a66 100644 --- a/telethon/errors/rpcbaseerrors.py +++ b/telethon/errors/rpcbaseerrors.py @@ -108,7 +108,7 @@ class ServerError(RPCError): self.message = message -class BotTimeout(RPCError): +class TimedOutError(RPCError): """ Clicking the inline buttons of bots that never (or take to long to) call ``answerCallbackQuery`` will result in this "special" RPCError. @@ -121,6 +121,9 @@ class BotTimeout(RPCError): self.message = message +BotTimeout = TimedOutError + + class BadMessageError(Exception): """Occurs when handling a bad_message_notification.""" ErrorMessages = { diff --git a/telethon/version.py b/telethon/version.py index 831ee031..72bb8cb8 100644 --- a/telethon/version.py +++ b/telethon/version.py @@ -1,3 +1,3 @@ # Versions should comply with PEP440. # This line is parsed in setup.py: -__version__ = '1.7.4' +__version__ = '1.7.5' diff --git a/telethon_generator/parsers/errors.py b/telethon_generator/parsers/errors.py index d3d30c49..4fb9d43d 100644 --- a/telethon_generator/parsers/errors.py +++ b/telethon_generator/parsers/errors.py @@ -13,6 +13,7 @@ KNOWN_BASE_CLASSES = { 406: 'AuthKeyError', 420: 'FloodError', 500: 'ServerError', + 503: 'TimedOutError' } @@ -23,7 +24,7 @@ def _get_class_name(error_code): """ if isinstance(error_code, int): return KNOWN_BASE_CLASSES.get( - error_code, 'RPCError' + str(error_code).replace('-', 'Neg') + abs(error_code), 'RPCError' + str(error_code).replace('-', 'Neg') ) return snake_to_camel_case( @@ -38,7 +39,7 @@ class Error: self.int_code = codes[0] self.str_code = name self.subclass = _get_class_name(codes[0]) - self.subclass_exists = codes[0] in KNOWN_BASE_CLASSES + self.subclass_exists = abs(codes[0]) in KNOWN_BASE_CLASSES self.description = description self.has_captures = '_X' in name