From 015acf20c6b8e7ce06b17e5f0b017b410b1f0751 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 23 Jan 2022 13:26:53 +0100 Subject: [PATCH] Handle TypeNotFoundError during gzip packed msgs --- telethon/_network/mtprotosender.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/telethon/_network/mtprotosender.py b/telethon/_network/mtprotosender.py index 177813cd..2c9c1c59 100644 --- a/telethon/_network/mtprotosender.py +++ b/telethon/_network/mtprotosender.py @@ -625,8 +625,16 @@ class MTProtoSender: """ self._log.debug('Handling gzipped data') with BinaryReader(message.obj.data) as reader: - message.obj = reader.tgread_object() - await self._process_message(message) + try: + message.obj = reader.tgread_object() + except TypeNotFoundError as e: + # Received object which we don't know how to deserialize. + # This is somewhat expected while receiving updates, which + # will eventually trigger a gap error to recover from. + self._log.info('Type %08x not found, remaining data %r', + e.invalid_constructor_id, e.remaining) + else: + await self._process_message(message) async def _handle_update(self, message): try: