Refactor async initialization in ProgressBarManager (#16)

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Paillat <me@paillat.dev>
This commit is contained in:
nicebots-xyz-bot
2025-06-05 16:11:42 +02:00
committed by GitHub
parent 6e36674473
commit 26f0f50aab
3 changed files with 60 additions and 27 deletions

View File

@@ -17,22 +17,27 @@ bot = discord.Bot(cache_app_emojis=True)
class MyCog(discord.Cog):
def __init__(self, bot: discord.Bot) -> None:
self.bot: discord.Bot = bot
self.progress_bar_manager: ProgressBarManager
self.progress_bar: ProgressBar
self.progress_bar_manager: ProgressBarManager = ProgressBarManager(self.bot)
self.progress_bar: ProgressBar | None = None
@discord.Cog.listener()
async def on_ready(self) -> None:
print(f"Logged in as {bot.user} (ID: {bot.user.id})") # pyright: ignore [reportOptionalMemberAccess]
print("------")
self.progress_bar_manager = await ProgressBarManager(self.bot)
await self.progress_bar_manager.load()
self.progress_bar = await self.progress_bar_manager.progress_bar("green", length=10)
print("Progress bar manager loaded.")
@discord.slash_command() # pyright: ignore [reportUntypedFunctionDecorator]
async def get_progress_bar(self, ctx: discord.ApplicationContext, percent: float | None = None) -> None:
"""Send a progress bar message."""
if percent is None:
if not self.progress_bar:
await ctx.respond("Progress bar manager is not loaded yet.")
return
if percent is None or percent > 1:
percent = 1
await ctx.respond(f"Progress: {self.progress_bar.partial(percent)}")