Merge branch '22-daily-loop-not-starting-election'
build_develop / build (push) Successful in 43s
build_latest / build (push) Successful in 42s

This commit is contained in:
2023-09-09 11:39:31 -04:00
3 changed files with 18 additions and 10 deletions
+1
View File
@@ -13,6 +13,7 @@ COPY config.py config.py
COPY dakiny_bot.py dakiny_bot.py COPY dakiny_bot.py dakiny_bot.py
COPY utils.py utils.py COPY utils.py utils.py
COPY bot_messages bot_messages/
COPY classes classes/ COPY classes classes/
COPY cogs cogs/ COPY cogs cogs/
COPY database_setup database_setup/ COPY database_setup database_setup/
+14 -9
View File
@@ -19,16 +19,10 @@ class DailyLoop(commands.Cog, name="Daily Loop"):
def __init__(self, bot: commands.Bot) -> None: def __init__(self, bot: commands.Bot) -> None:
self.bot = bot self.bot = bot
self.current_election = self.get_current_cycle() self.current_election = None
@commands.Cog.listener() # pylint doesn't recognize that daily_loop is subclassed from tasks.loop.
async def on_ready(self): self.daily_loop.start() # pylint: disable=no-member
"""
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
@tasks.loop(time=time(hour=0, tzinfo=timezone("GMT"))) @tasks.loop(time=time(hour=0, tzinfo=timezone("GMT")))
async def daily_loop(self): async def daily_loop(self):
@@ -46,6 +40,17 @@ class DailyLoop(commands.Cog, name="Daily Loop"):
if self.current_election.election_over: if self.current_election.election_over:
self.current_election = None 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: def get_current_cycle(self) -> ElectionCycle:
""" """
Creates an object for the current election cycle if one is active. An election is considered active Creates an object for the current election cycle if one is active. An election is considered active
+3 -1
View File
@@ -55,4 +55,6 @@ def main(cfg: DakinyConfig):
if __name__ == "__main__": if __name__ == "__main__":
sys.argv.append("hydra.job.chdir=False") 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