""" _summary_ """ from datetime import time from nextcord.ext import commands, tasks from pytz import timezone from classes.election_cycle import ElectionCycle class DailyLoop(commands.Cog, name="Daily Loop"): """ Class for performing daily functions. """ def __init__(self, bot: commands.Bot) -> None: self.bot = bot # TODO need to figure out how to determine the current cycle self.current_election = ElectionCycle(0, self.bot) @commands.Cog.listener() async def on_ready(self): """ Starts the loop when bot is ready. """ await self.bot.wait_until_ready() # pylint doesn't recognize that periodic_update_guild_data is subclassed from tasks.loop. await self.do_thing.start() # pylint: disable=no-member @tasks.loop(time=time(hour=0, tzinfo=timezone("GMT"))) async def do_thing(self): """ """ print("loop") await self.current_election.check_date() # TODO need to figure out how to change the election cycle after current one is over