From 12a39873f1c67b4f110a5f17dedd0e932456c293 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Thu, 14 Sep 2017 11:50:38 +0200 Subject: [PATCH] Workaround msg_seqno too low/high (closes #95) --- telethon/network/mtproto_sender.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/telethon/network/mtproto_sender.py b/telethon/network/mtproto_sender.py index 3ab9bbbf9..4a31922dc 100644 --- a/telethon/network/mtproto_sender.py +++ b/telethon/network/mtproto_sender.py @@ -306,6 +306,15 @@ def _handle_bad_msg_notification(self, msg_id, sequence, reader): self._logger.debug('Read Bad Message error: ' + str(error)) self._logger.debug('Attempting to use the correct time offset.') return True + elif error_code == 32: + # msg_seqno too low, so just pump it up by some "large" amount + # TODO A better fix would be to start with a new fresh session ID + self.session._sequence += 64 + return True + elif error_code == 33: + # msg_seqno too high never seems to happen but just in case + self.session._sequence -= 16 + return True else: raise error