diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index 918c4f1bc..ac7806ad6 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1620,6 +1620,22 @@ 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] if res else [] + async def modify_scheduled_event( self, event_id: Union[int, "ScheduledEvents", Snowflake], @@ -2631,7 +2647,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()