update du bot pour illustrer la prod

This commit is contained in:
ArcElewyn 2025-08-26 20:07:35 +02:00
parent 1b02dd8b22
commit 093b190f08

45
bot.py
View file

@ -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)