From 898e279218f199ad7a73fed05b47200eb686505c Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 30 May 2022 13:29:58 +0200 Subject: [PATCH] Assert getting_diff_for is not filled when not possible in get_difference --- telethon/_updates/messagebox.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/telethon/_updates/messagebox.py b/telethon/_updates/messagebox.py index 8b1a39da..bfa04552 100644 --- a/telethon/_updates/messagebox.py +++ b/telethon/_updates/messagebox.py @@ -520,16 +520,15 @@ class MessageBox: def get_difference(self): for entry in (ENTRY_ACCOUNT, ENTRY_SECRET): if entry in self.getting_diff_for: - if entry in self.map: - return fn.updates.GetDifferenceRequest( - pts=self.map[ENTRY_ACCOUNT].pts, - pts_total_limit=None, - date=self.date, - qts=self.map[ENTRY_SECRET].pts if ENTRY_SECRET in self.map else NO_SEQ, - ) - else: - # TODO investigate when/why/if this can happen - self.end_get_diff(entry) + if entry not in self.map: + raise RuntimeError('Should not try to get difference for an entry without known state') + + return fn.updates.GetDifferenceRequest( + pts=self.map[ENTRY_ACCOUNT].pts, + pts_total_limit=None, + date=self.date, + qts=self.map[ENTRY_SECRET].pts if ENTRY_SECRET in self.map else NO_SEQ, + ) return None