diff --git a/src/modules/ranks/cog.py b/src/modules/ranks/cog.py index 5f7e9866..1af23900 100644 --- a/src/modules/ranks/cog.py +++ b/src/modules/ranks/cog.py @@ -495,6 +495,7 @@ class RankCog(LionCog): await interaction.response.defer(thinking=False) ui = RankRefreshUI(self.bot, guild, callerid=interaction.user.id, timeout=None) await ui.send(interaction.channel) + ui.start() # Retrieve fresh rank roles ranks = await self.get_guild_ranks(guild.id, refresh=True) diff --git a/src/modules/ranks/ui/refresh.py b/src/modules/ranks/ui/refresh.py index e01dc059..b45b3b6e 100644 --- a/src/modules/ranks/ui/refresh.py +++ b/src/modules/ranks/ui/refresh.py @@ -64,9 +64,12 @@ class RankRefreshUI(MessageUI): def poke(self): self._wakeup.set() + def start(self): + self._loop_task = asyncio.create_task(self._refresh_loop(), name='Rank RefreshUI Monitor') + async def run(self, *args, **kwargs): await super().run(*args, **kwargs) - self._loop_task = asyncio.create_task(self._refresh_loop(), name='refresh ui loop') + self.start() async def cleanup(self): if self._loop_task and not self._loop_task.done():