diff --git a/classes/pycord_bot.py b/classes/pycord_bot.py index ac489a0..592521c 100644 --- a/classes/pycord_bot.py +++ b/classes/pycord_bot.py @@ -63,7 +63,11 @@ class PycordBot(LibPycordBot): async def _process_events_start(self) -> None: # Get events to start events: List[PycordEvent] = await self._get_events( - {"starts": datetime.now(tz=ZoneInfo("UTC")).replace(second=0, microsecond=0)} + { + "starts": datetime.now(tz=ZoneInfo("UTC")).replace(second=0, microsecond=0), + "is_cancelled": False, + "ended": None, + } ) # Process each event @@ -171,6 +175,8 @@ class PycordBot(LibPycordBot): f"Event **{event.name}** has ended! Users can no longer submit their answers.", ) + await event.end(cache=self.cache) + @staticmethod async def _get_events(query: Dict[str, Any]) -> List[PycordEvent]: events: List[PycordEvent] = [] diff --git a/classes/pycord_event.py b/classes/pycord_event.py index 8878945..9c64ba9 100644 --- a/classes/pycord_event.py +++ b/classes/pycord_event.py @@ -268,6 +268,10 @@ class PycordEvent: async def cancel(self, cache: Optional[Cache] = None): await self._set(cache, is_cancelled=True) + # # TODO Add documentation + async def end(self, cache: Optional[Cache] = None) -> None: + await self._set(cache, ended=datetime.now(tz=ZoneInfo("UTC"))) + async def _update_event_stage_order( self, bot: Any, @@ -325,7 +329,7 @@ class PycordEvent: # # TODO Add documentation # def get_localized_start_date(self, tz: str | timezone | ZoneInfo) -> datetime: # return self.starts.replace(tzinfo=tz) - # - # # TODO Add documentation + + # TODO Add documentation # def get_localized_end_date(self, tz: str | timezone | ZoneInfo) -> datetime: # return self.ends.replace(tzinfo=tz)