diff --git a/CHANGELOG.md b/CHANGELOG.md index bd19979e74..bbf54d9c22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,8 @@ These changes are available on the `master` branch, but have not yet been releas ([#2402](https://github.com/Pycord-Development/pycord/pull/2402)) - Fixed the type-hinting of `ScheduledEvent.subscribers` to reflect actual behavior. ([#2400](https://github.com/Pycord-Development/pycord/pull/2400)) +- Fixed `ScheduledEvent.subscribers` behavior with `limit=None`. + ([#2407](https://github.com/Pycord-Development/pycord/pull/2407)) ### Changed diff --git a/discord/iterators.py b/discord/iterators.py index ef7ef9be85..1537dc8605 100644 --- a/discord/iterators.py +++ b/discord/iterators.py @@ -919,8 +919,14 @@ async def fill_subs(self): before=before, after=after, ) - if data: - self.limit -= self.retrieve + + data_length = len(data) + if data_length < self.retrieve: + self.limit = 0 + elif data_length > 0: + if self.limit: + self.limit -= self.retrieve + self.after = Object(id=int(data[-1]["user_id"])) for element in reversed(data): if "member" in element: diff --git a/discord/types/scheduled_events.py b/discord/types/scheduled_events.py index 85d77d7313..9bb4ad0328 100644 --- a/discord/types/scheduled_events.py +++ b/discord/types/scheduled_events.py @@ -60,5 +60,6 @@ class ScheduledEventEntityMetadata(TypedDict): class ScheduledEventSubscriber(TypedDict): guild_scheduled_event_id: Snowflake + user_id: Snowflake user: User member: Member | None