From 7829c83d6fa796a7c4cc9426cb123bfcd88b441b Mon Sep 17 00:00:00 2001 From: Mestro Date: Tue, 28 Nov 2023 14:24:47 +0100 Subject: [PATCH] Fix raffles and polls not loading properly after cog reload --- utility/polls.py | 7 +++++-- utility/raffles.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/utility/polls.py b/utility/polls.py index bc47026..209c090 100644 --- a/utility/polls.py +++ b/utility/polls.py @@ -184,6 +184,9 @@ def embed(self, value: discord.Embed) -> None: @property def guild_id(self) -> Optional[int]: + if self._guild_id is None and self._guild is not None: + return self._guild.id + return self._guild_id @guild_id.setter @@ -668,7 +671,7 @@ async def load_polls(self) -> None: log.error("Error during poll initialization", exc_info=True) async def poll_timer(self, poll: Poll) -> None: - await asyncio.sleep(poll.timedelta.total_seconds()) + await asyncio.sleep(int(poll.timedelta.total_seconds())) guild = self.bot.get_guild(poll.guild_id) if guild is None: @@ -715,7 +718,7 @@ async def send_results(self, poll: Poll, message: discord.Message) -> None: poll_embed.set_field_at( index=1, name="Ended", value=poll_embed.fields[1].value, inline=False ) - poll_embed.set_footer(text=f"Guild polls brought to you by {poll.guild.me.display_name}!") + poll_embed.set_footer(text=f"Guild polls brought to you by {poll.guild.me.name}!") description = poll_embed.description.splitlines() description_dicts: List[Dict[str, Union[int, str]]] = [] diff --git a/utility/raffles.py b/utility/raffles.py index 23036bf..4dd6cc9 100644 --- a/utility/raffles.py +++ b/utility/raffles.py @@ -114,6 +114,9 @@ def winners(self, value: List[int]) -> None: @property def guild_id(self) -> Optional[int]: + if self._guild_id is None and self._guild is not None: + return self._guild.id + return self._guild_id @guild_id.setter @@ -850,7 +853,7 @@ async def raffle_selection( return result async def raffle_timer(self, raffle: Raffle) -> None: - await asyncio.sleep(raffle.timedelta.total_seconds()) + await asyncio.sleep(int(raffle.timedelta.total_seconds())) guild = self.bot.get_guild(raffle.guild_id) if guild is None: @@ -1026,7 +1029,7 @@ async def get_finished_raffle_embed( value=f"", inline=False, ) - raffle_embed.set_footer(text=f"Guild raffles brought to you by {guild.me.display_name}!") + raffle_embed.set_footer(text=f"Guild raffles brought to you by {guild.me.name}!") return raffle_embed