mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-25 10:53:44 +03:00
Remove invalid error inits and move bad msg error
This commit is contained in:
parent
0946a7902f
commit
bcfc3e7550
|
@ -7,7 +7,7 @@ import re
|
||||||
from .common import (
|
from .common import (
|
||||||
ReadCancelledError, TypeNotFoundError, InvalidChecksumError,
|
ReadCancelledError, TypeNotFoundError, InvalidChecksumError,
|
||||||
InvalidBufferError, SecurityError, CdnFileTamperedError,
|
InvalidBufferError, SecurityError, CdnFileTamperedError,
|
||||||
AlreadyInConversationError, MultiError
|
AlreadyInConversationError, BadMessageError, MultiError
|
||||||
)
|
)
|
||||||
|
|
||||||
# This imports the base errors too, as they're imported there
|
# This imports the base errors too, as they're imported there
|
||||||
|
|
|
@ -90,6 +90,53 @@ class AlreadyInConversationError(Exception):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class BadMessageError(Exception):
|
||||||
|
"""Occurs when handling a bad_message_notification."""
|
||||||
|
ErrorMessages = {
|
||||||
|
16:
|
||||||
|
'msg_id too low (most likely, client time is wrong it would be '
|
||||||
|
'worthwhile to synchronize it using msg_id notifications and re-send '
|
||||||
|
'the original message with the "correct" msg_id or wrap it in a '
|
||||||
|
'container with a new msg_id if the original message had waited too '
|
||||||
|
'long on the client to be transmitted).',
|
||||||
|
17:
|
||||||
|
'msg_id too high (similar to the previous case, the client time has '
|
||||||
|
'to be synchronized, and the message re-sent with the correct msg_id).',
|
||||||
|
18:
|
||||||
|
'Incorrect two lower order msg_id bits (the server expects client '
|
||||||
|
'message msg_id to be divisible by 4).',
|
||||||
|
19:
|
||||||
|
'Container msg_id is the same as msg_id of a previously received '
|
||||||
|
'message (this must never happen).',
|
||||||
|
20:
|
||||||
|
'Message too old, and it cannot be verified whether the server has '
|
||||||
|
'received a message with this msg_id or not.',
|
||||||
|
32:
|
||||||
|
'msg_seqno too low (the server has already received a message with a '
|
||||||
|
'lower msg_id but with either a higher or an equal and odd seqno).',
|
||||||
|
33:
|
||||||
|
'msg_seqno too high (similarly, there is a message with a higher '
|
||||||
|
'msg_id but with either a lower or an equal and odd seqno).',
|
||||||
|
34:
|
||||||
|
'An even msg_seqno expected (irrelevant message), but odd received.',
|
||||||
|
35:
|
||||||
|
'Odd msg_seqno expected (relevant message), but even received.',
|
||||||
|
48:
|
||||||
|
'Incorrect server salt (in this case, the bad_server_salt response '
|
||||||
|
'is received with the correct salt, and the message is to be re-sent '
|
||||||
|
'with it).',
|
||||||
|
64:
|
||||||
|
'Invalid container.'
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self, request, code):
|
||||||
|
super().__init__(request, self.ErrorMessages.get(
|
||||||
|
code,
|
||||||
|
'Unknown error code (this should not happen): {}.'.format(code)))
|
||||||
|
|
||||||
|
self.code = code
|
||||||
|
|
||||||
|
|
||||||
class MultiError(Exception):
|
class MultiError(Exception):
|
||||||
"""Exception container for multiple `TLRequest`'s."""
|
"""Exception container for multiple `TLRequest`'s."""
|
||||||
|
|
||||||
|
|
|
@ -53,10 +53,6 @@ class ForbiddenError(RPCError):
|
||||||
code = 403
|
code = 403
|
||||||
message = 'FORBIDDEN'
|
message = 'FORBIDDEN'
|
||||||
|
|
||||||
def __init__(self, request, message):
|
|
||||||
super().__init__(request, message)
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
|
|
||||||
class NotFoundError(RPCError):
|
class NotFoundError(RPCError):
|
||||||
"""
|
"""
|
||||||
|
@ -65,10 +61,6 @@ class NotFoundError(RPCError):
|
||||||
code = 404
|
code = 404
|
||||||
message = 'NOT_FOUND'
|
message = 'NOT_FOUND'
|
||||||
|
|
||||||
def __init__(self, request, message):
|
|
||||||
super().__init__(request, message)
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
|
|
||||||
class AuthKeyError(RPCError):
|
class AuthKeyError(RPCError):
|
||||||
"""
|
"""
|
||||||
|
@ -78,10 +70,6 @@ class AuthKeyError(RPCError):
|
||||||
code = 406
|
code = 406
|
||||||
message = 'AUTH_KEY'
|
message = 'AUTH_KEY'
|
||||||
|
|
||||||
def __init__(self, request, message):
|
|
||||||
super().__init__(request, message)
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
|
|
||||||
class FloodError(RPCError):
|
class FloodError(RPCError):
|
||||||
"""
|
"""
|
||||||
|
@ -103,10 +91,6 @@ class ServerError(RPCError):
|
||||||
code = 500 # Also witnessed as -500
|
code = 500 # Also witnessed as -500
|
||||||
message = 'INTERNAL'
|
message = 'INTERNAL'
|
||||||
|
|
||||||
def __init__(self, request, message):
|
|
||||||
super().__init__(request, message)
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
|
|
||||||
class TimedOutError(RPCError):
|
class TimedOutError(RPCError):
|
||||||
"""
|
"""
|
||||||
|
@ -116,62 +100,11 @@ class TimedOutError(RPCError):
|
||||||
code = 503 # Only witnessed as -503
|
code = 503 # Only witnessed as -503
|
||||||
message = 'Timeout'
|
message = 'Timeout'
|
||||||
|
|
||||||
def __init__(self, request, message):
|
|
||||||
super().__init__(request, message)
|
|
||||||
self.message = message
|
|
||||||
|
|
||||||
|
|
||||||
BotTimeout = TimedOutError
|
BotTimeout = TimedOutError
|
||||||
|
|
||||||
|
|
||||||
class BadMessageError(Exception):
|
|
||||||
"""Occurs when handling a bad_message_notification."""
|
|
||||||
ErrorMessages = {
|
|
||||||
16:
|
|
||||||
'msg_id too low (most likely, client time is wrong it would be '
|
|
||||||
'worthwhile to synchronize it using msg_id notifications and re-send '
|
|
||||||
'the original message with the "correct" msg_id or wrap it in a '
|
|
||||||
'container with a new msg_id if the original message had waited too '
|
|
||||||
'long on the client to be transmitted).',
|
|
||||||
17:
|
|
||||||
'msg_id too high (similar to the previous case, the client time has '
|
|
||||||
'to be synchronized, and the message re-sent with the correct msg_id).',
|
|
||||||
18:
|
|
||||||
'Incorrect two lower order msg_id bits (the server expects client '
|
|
||||||
'message msg_id to be divisible by 4).',
|
|
||||||
19:
|
|
||||||
'Container msg_id is the same as msg_id of a previously received '
|
|
||||||
'message (this must never happen).',
|
|
||||||
20:
|
|
||||||
'Message too old, and it cannot be verified whether the server has '
|
|
||||||
'received a message with this msg_id or not.',
|
|
||||||
32:
|
|
||||||
'msg_seqno too low (the server has already received a message with a '
|
|
||||||
'lower msg_id but with either a higher or an equal and odd seqno).',
|
|
||||||
33:
|
|
||||||
'msg_seqno too high (similarly, there is a message with a higher '
|
|
||||||
'msg_id but with either a lower or an equal and odd seqno).',
|
|
||||||
34:
|
|
||||||
'An even msg_seqno expected (irrelevant message), but odd received.',
|
|
||||||
35:
|
|
||||||
'Odd msg_seqno expected (relevant message), but even received.',
|
|
||||||
48:
|
|
||||||
'Incorrect server salt (in this case, the bad_server_salt response '
|
|
||||||
'is received with the correct salt, and the message is to be re-sent '
|
|
||||||
'with it).',
|
|
||||||
64:
|
|
||||||
'Invalid container.'
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self, request, code):
|
|
||||||
super().__init__(request, self.ErrorMessages.get(
|
|
||||||
code,
|
|
||||||
'Unknown error code (this should not happen): {}.'.format(code)))
|
|
||||||
|
|
||||||
self.code = code
|
|
||||||
|
|
||||||
|
|
||||||
base_errors = {x.code: x for x in (
|
base_errors = {x.code: x for x in (
|
||||||
InvalidDCError, BadRequestError, UnauthorizedError, ForbiddenError,
|
InvalidDCError, BadRequestError, UnauthorizedError, ForbiddenError,
|
||||||
NotFoundError, AuthKeyError, FloodError, ServerError, BotTimeout
|
NotFoundError, AuthKeyError, FloodError, ServerError, TimedOutError
|
||||||
)}
|
)}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user