From 09ea1179caf75fb9bb07af2b9f5bdeb3ac47dbc0 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 18 Jun 2018 17:20:31 +0200 Subject: [PATCH] Except msg_id KeyError on bad salt/msg --- telethon/network/mtprotosender.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/telethon/network/mtprotosender.py b/telethon/network/mtprotosender.py index f4f0e292..bdf7b5ef 100644 --- a/telethon/network/mtprotosender.py +++ b/telethon/network/mtprotosender.py @@ -545,7 +545,13 @@ class MTProtoSender: bad_salt = message.obj __log__.debug('Handling bad salt for message %d', bad_salt.bad_msg_id) self.state.salt = bad_salt.new_server_salt - self._send_queue.put_nowait(self._pending_messages[bad_salt.bad_msg_id]) + try: + self._send_queue.put_nowait( + self._pending_messages[bad_salt.bad_msg_id]) + except KeyError: + # May be MsgsAck, those are not saved in pending messages + __log__.info('Message %d not resent due to bad salt', + bad_salt.bad_msg_id) async def _handle_bad_notification(self, message): """ @@ -575,7 +581,13 @@ class MTProtoSender: return # Messages are to be re-sent once we've corrected the issue - self._send_queue.put_nowait(self._pending_messages[bad_msg.bad_msg_id]) + try: + self._send_queue.put_nowait( + self._pending_messages[bad_msg.bad_msg_id]) + except KeyError: + # May be MsgsAck, those are not saved in pending messages + __log__.info('Message %d not resent due to bad msg', + bad_msg.bad_msg_id) async def _handle_detailed_info(self, message): """