diff --git a/telethon/client/updates.py b/telethon/client/updates.py index 7019b465..10eb8a77 100644 --- a/telethon/client/updates.py +++ b/telethon/client/updates.py @@ -426,7 +426,8 @@ class UpdateMethods: await builder.resolve(self) filter = builder.filter(event) - filter = (await filter) if inspect.isawaitable(filter) else filter + if inspect.isawaitable(filter): + filter = await filter if not filter: continue diff --git a/telethon/events/common.py b/telethon/events/common.py index fd3315f5..f2ca12a7 100644 --- a/telethon/events/common.py +++ b/telethon/events/common.py @@ -125,6 +125,7 @@ class EventBuilder(abc.ABC): if not self.func: return True + # Return the result of func directly as it may need to be awaited return self.func(event)