From 7a875677c2f32fc2da36545036ded441c686b9dc Mon Sep 17 00:00:00 2001 From: Damego Date: Mon, 29 Aug 2022 22:28:13 +0500 Subject: [PATCH 1/3] feat&fix: Implement `Guild.get_scheduled_events` & fix iso --- interactions/api/models/guild.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index 918c4f1bc..731bc7957 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1620,6 +1620,23 @@ async def create_scheduled_event( ) return ScheduledEvents(**res) + async def get_scheduled_events(self, with_user_count: bool) -> List["ScheduledEvents"]: + """ + Gets all scheduled events of the guild. + + :param with_user_count: A boolean to include number of users subscribed to the associated event, if given. + :type with_user_count: bool + :return: The sheduled events of the guild. + :rtype: List[ScheduledEvents] + """ + if not self._client: + raise LibraryException(code=13) + res = await self._client.get_scheduled_events( + guild_id=self.id, + with_user_count=with_user_count + ) + return [ScheduledEvents(**scheduled_event) for scheduled_event in res] + async def modify_scheduled_event( self, event_id: Union[int, "ScheduledEvents", Snowflake], @@ -2631,7 +2648,7 @@ class ScheduledEvents(DictSerializerMixin, IDMixin): creator_id: Optional[Snowflake] = field(converter=Snowflake, default=None) name: str = field() description: str = field() - scheduled_start_time: Optional[datetime] = field(converter=datetime.isoformat, default=None) + scheduled_start_time: Optional[datetime] = field(converter=datetime.fromisoformat, default=None) scheduled_end_time: Optional[datetime] = field(converter=datetime.fromisoformat, default=None) privacy_level: int = field() entity_type: int = field() From 0bd7c6a5ee626223e48b9fa92a0412827e7ea0be Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 17:30:22 +0000 Subject: [PATCH 2/3] ci: correct from checks. --- interactions/api/models/guild.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index 731bc7957..a7addfa0b 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1632,8 +1632,7 @@ async def get_scheduled_events(self, with_user_count: bool) -> List["ScheduledEv if not self._client: raise LibraryException(code=13) res = await self._client.get_scheduled_events( - guild_id=self.id, - with_user_count=with_user_count + guild_id=self.id, with_user_count=with_user_count ) return [ScheduledEvents(**scheduled_event) for scheduled_event in res] From 09e073ef11d553884371958dda7a5fc5a2bc96d9 Mon Sep 17 00:00:00 2001 From: Damego Date: Tue, 30 Aug 2022 16:21:13 +0500 Subject: [PATCH 3/3] fix: check for None --- interactions/api/models/guild.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index a7addfa0b..ac7806ad6 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1634,7 +1634,7 @@ async def get_scheduled_events(self, with_user_count: bool) -> List["ScheduledEv res = await self._client.get_scheduled_events( guild_id=self.id, with_user_count=with_user_count ) - return [ScheduledEvents(**scheduled_event) for scheduled_event in res] + return [ScheduledEvents(**scheduled_event) for scheduled_event in res] if res else [] async def modify_scheduled_event( self,