From 33dbac6350aa08811c2362ef99941a23ecea4058 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sat, 30 Sep 2017 19:00:32 +0200 Subject: [PATCH] Add some missing BadRequest errors --- telethon/errors/rpc_errors_400.py | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/telethon/errors/rpc_errors_400.py b/telethon/errors/rpc_errors_400.py index 68874199..6c96ce7e 100644 --- a/telethon/errors/rpc_errors_400.py +++ b/telethon/errors/rpc_errors_400.py @@ -18,6 +18,15 @@ class BotMethodInvalidError(BadRequestError): ) +class CdnMethodInvalidError(BadRequestError): + def __init__(self, **kwargs): + super(Exception, self).__init__( + self, + 'This method cannot be invoked on a CDN server. Refer to ' + 'https://core.telegram.org/cdn#schema for available methods.' + ) + + class ChannelInvalidError(BadRequestError): def __init__(self, **kwargs): super(Exception, self).__init__( @@ -134,6 +143,16 @@ class InputMethodInvalidError(BadRequestError): ) +class InputRequestTooLongError(BadRequestError): + def __init__(self, **kwargs): + super(Exception, self).__init__( + self, + 'The input request was too long. This may be a bug in the library ' + 'as it can occur when serializing more bytes than it should (like' + 'appending the vector constructor code at the end of a message).' + ) + + class LastNameInvalidError(BadRequestError): def __init__(self, **kwargs): super(Exception, self).__init__( @@ -142,6 +161,24 @@ class LastNameInvalidError(BadRequestError): ) +class LimitInvalidError(BadRequestError): + def __init__(self, **kwargs): + super(Exception, self).__init__( + self, + 'An invalid limit was provided. See ' + 'https://core.telegram.org/api/files#downloading-files' + ) + + +class LocationInvalidError(BadRequestError): + def __init__(self, **kwargs): + super(Exception, self).__init__( + self, + 'The location given for a file was invalid. See ' + 'https://core.telegram.org/api/files#downloading-files' + ) + + class Md5ChecksumInvalidError(BadRequestError): def __init__(self, **kwargs): super(Exception, self).__init__( @@ -191,6 +228,16 @@ class MsgWaitFailedError(BadRequestError): ) +class OffsetInvalidError(BadRequestError): + def __init__(self, **kwargs): + super(Exception, self).__init__( + self, + 'The given offset was invalid, it must be divisible by 1KB. ' + 'See https://core.telegram.org/api/files#downloading-files' + ) + + + class PasswordHashInvalidError(BadRequestError): def __init__(self, **kwargs): super(Exception, self).__init__( @@ -350,6 +397,7 @@ class UserIdInvalidError(BadRequestError): rpc_errors_400_all = { 'API_ID_INVALID': ApiIdInvalidError, 'BOT_METHOD_INVALID': BotMethodInvalidError, + 'CDN_METHOD_INVALID': CdnMethodInvalidError, 'CHANNEL_INVALID': ChannelInvalidError, 'CHAT_ADMIN_REQUIRED': ChatAdminRequiredError, 'CHAT_ID_INVALID': ChatIdInvalidError, @@ -362,13 +410,17 @@ rpc_errors_400_all = { 'FILE_PART_INVALID': FilePartInvalidError, 'FIRSTNAME_INVALID': FirstNameInvalidError, 'INPUT_METHOD_INVALID': InputMethodInvalidError, + 'INPUT_REQUEST_TOO_LONG': InputRequestTooLongError, 'LASTNAME_INVALID': LastNameInvalidError, + 'LIMIT_INVALID': LimitInvalidError, + 'LOCATION_INVALID': LocationInvalidError, 'MD5_CHECKSUM_INVALID': Md5ChecksumInvalidError, 'MESSAGE_EMPTY': MessageEmptyError, 'MESSAGE_ID_INVALID': MessageIdInvalidError, 'MESSAGE_TOO_LONG': MessageTooLongError, 'MESSAGE_NOT_MODIFIED': MessageNotModifiedError, 'MSG_WAIT_FAILED': MsgWaitFailedError, + 'OFFSET_INVALID': OffsetInvalidError, 'PASSWORD_HASH_INVALID': PasswordHashInvalidError, 'PEER_ID_INVALID': PeerIdInvalidError, 'PHONE_CODE_EMPTY': PhoneCodeEmptyError,