diff --git a/bot.py b/bot.py index 63c7c1a..6dc461e 100644 --- a/bot.py +++ b/bot.py @@ -1,24 +1,28 @@ # -*- coding: utf-8 -*- -import os import discord from discord.ext import commands from config import DISCORD_TOKEN -# Import des managers from utils.DatabaseManager_class import DatabaseManager from utils.ScreenshotManager_class import ScreenshotManager +from utils.MercyManager_class import MercyManager +from utils.pb_handler import set_managers +from utils.leaderboard_handler import set_db_manager # Définir les intents intents = discord.Intents.default() intents.message_content = True -bot = commands.Bot(command_prefix="!", intents=intents) - -# Initialisation unique des managers +# Initialisation des managers db_manager = DatabaseManager() screenshot_manager = ScreenshotManager() +mercy_manager = MercyManager() -# Liste des Cogs à charger +# Injection des managers dans les handlers +set_managers(db_manager, screenshot_manager) # pb_handler +set_db_manager(db_manager) # leaderboard_handler + +# Liste des cogs initial_cogs = [ "cogs.guide", "cogs.pbhydra", @@ -29,20 +33,23 @@ initial_cogs = [ "cogs.mercy", ] -async def load_cogs(): - for cog in initial_cogs: - try: - await bot.load_extension(cog) - print(f"[OK] Cog {cog} chargé") - except Exception as e: - print(f"[ERREUR] Impossible de charger {cog}: {e}") +class MyBot(commands.Bot): + def __init__(self): + super().__init__(command_prefix="!", intents=intents) + self.db_manager = db_manager + self.screenshot_manager = screenshot_manager + self.mercy_manager = mercy_manager -@bot.event -async def on_ready(): - print(f"{bot.user.name} est connecté !") + async def setup_hook(self): + for cog in initial_cogs: + try: + await self.load_extension(cog) + print(f"[OK] Cog {cog} chargé") + except Exception as e: + print(f"[ERREUR] Impossible de charger {cog}: {e}") -# Charger les cogs avant le run -bot.loop.create_task(load_cogs()) + async def on_ready(self): + print(f"{self.user.name} est connecté !") -# Lancer le bot +bot = MyBot() bot.run(DISCORD_TOKEN)