From 7ce0b2f940191ce6e539f38cd83928bc965fb70d Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Tue, 12 Sep 2023 17:09:27 +0200 Subject: [PATCH] Fix invalid date type in UpdateShort --- telethon/network/mtprotosender.py | 11 ++++++++--- telethon/version.py | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/telethon/network/mtprotosender.py b/telethon/network/mtprotosender.py index 9a260618..6c3e30c1 100644 --- a/telethon/network/mtprotosender.py +++ b/telethon/network/mtprotosender.py @@ -1,6 +1,8 @@ import asyncio import collections import struct +import datetime +import time from . import authenticator from ..extensions.messagepacker import MessagePacker @@ -700,14 +702,17 @@ class MTProtoSender: elif obj.CONSTRUCTOR_ID in _update_like_ids: # Ugly "hack" (?) - otherwise bots reliably detect gaps when deleting messages. # - # Note: the `date` being `None` is used to check for `updatesTooLong`, so `0` is - # used instead. It is still not read, because `updateShort` has no `seq`. + # Note: the `date` being `None` is used to check for `updatesTooLong`, so epoch + # is used instead. It is still not read, because `updateShort` has no `seq`. # # Some requests, such as `readHistory`, also return these types. But the `pts_count` # seems to be zero, so while this will produce some bogus `updateDeleteMessages`, # it's still one of the "cleaner" approaches to handling the new `pts`. # `updateDeleteMessages` is probably the "least-invasive" update that can be used. - upd = _tl.UpdateShort(_tl.UpdateDeleteMessages([], obj.pts, obj.pts_count), 0) + upd = _tl.UpdateShort( + _tl.UpdateDeleteMessages([], obj.pts, obj.pts_count), + datetime.datetime(*time.gmtime(0)[:6]).replace(tzinfo=datetime.timezone.utc) + ) upd._self_outgoing = True self._updates_queue.put_nowait(upd) except AttributeError: diff --git a/telethon/version.py b/telethon/version.py index 8529e4f5..57772768 100644 --- a/telethon/version.py +++ b/telethon/version.py @@ -1,3 +1,3 @@ # Versions should comply with PEP440. # This line is parsed in setup.py: -__version__ = '1.30.0' +__version__ = '1.30.2'