diff --git a/Dockerfile b/Dockerfile index c31ecab..e93d2ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,7 @@ COPY config.py config.py COPY dakiny_bot.py dakiny_bot.py COPY utils.py utils.py +COPY bot_messages bot_messages/ COPY classes classes/ COPY cogs cogs/ COPY database_setup database_setup/ diff --git a/cogs/loops/daily_loop.py b/cogs/loops/daily_loop.py index b18046f..c92ca77 100644 --- a/cogs/loops/daily_loop.py +++ b/cogs/loops/daily_loop.py @@ -19,16 +19,10 @@ class DailyLoop(commands.Cog, name="Daily Loop"): def __init__(self, bot: commands.Bot) -> None: self.bot = bot - self.current_election = self.get_current_cycle() + self.current_election = None - @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.daily_loop.start() # pylint: disable=no-member + # pylint doesn't recognize that daily_loop is subclassed from tasks.loop. + self.daily_loop.start() # pylint: disable=no-member @tasks.loop(time=time(hour=0, tzinfo=timezone("GMT"))) async def daily_loop(self): @@ -46,6 +40,17 @@ class DailyLoop(commands.Cog, name="Daily Loop"): if self.current_election.election_over: self.current_election = None + @daily_loop.before_loop + async def before_loop(self): + """ + Actions run before the loop starts. Want to wait for bot to be ready and get the current cycle. + """ + + await self.bot.wait_until_ready() + + # Bot needs to know guilds to get the current cycle. + self.current_election = self.get_current_cycle() + def get_current_cycle(self) -> ElectionCycle: """ Creates an object for the current election cycle if one is active. An election is considered active diff --git a/dakiny_bot.py b/dakiny_bot.py index 1fa6322..a07dee5 100644 --- a/dakiny_bot.py +++ b/dakiny_bot.py @@ -55,4 +55,6 @@ def main(cfg: DakinyConfig): if __name__ == "__main__": sys.argv.append("hydra.job.chdir=False") - main() + sys.argv.append("hydra/job_logging=none") + sys.argv.append("hydra/hydra_logging=none") + main() # pylint: disable=no-value-for-parameter