diff --git a/telethon/client/updates.py b/telethon/client/updates.py index 538469f0..17b93db1 100644 --- a/telethon/client/updates.py +++ b/telethon/client/updates.py @@ -260,6 +260,7 @@ class UpdateMethods: await self._dispatch_update(updates_to_dispatch.popleft()) else: while updates_to_dispatch: + # TODO if _dispatch_update fails for whatever reason, it's not logged! this should be fixed task = self.loop.create_task(self._dispatch_update(updates_to_dispatch.popleft())) self._event_handler_tasks.add(task) task.add_done_callback(lambda _: self._event_handler_tasks.discard(task)) diff --git a/telethon/events/album.py b/telethon/events/album.py index 6e3ce1b3..01b2bbf4 100644 --- a/telethon/events/album.py +++ b/telethon/events/album.py @@ -97,8 +97,10 @@ class Album(EventBuilder): @classmethod def build(cls, update, others=None, self_id=None): - if not others: - return # We only care about albums which come inside the same Updates + # TODO normally we'd only check updates if they come with other updates + # but MessageBox is not designed for this so others will always be None. + # In essence we always rely on AlbumHack rather than returning early if not others. + others = [update] if isinstance(update, (types.UpdateNewMessage, types.UpdateNewChannelMessage)):