Discord-Raid-bot/bot.py

56 lines
1.6 KiB
Python
Raw Normal View History

2025-08-26 17:35:54 +00:00
# -*- coding: utf-8 -*-
2025-08-22 13:25:34 +00:00
import discord
from discord.ext import commands
from config import DISCORD_TOKEN
2025-08-26 17:35:54 +00:00
2025-08-22 13:25:34 +00:00
from utils.DatabaseManager_class import DatabaseManager
from utils.ScreenshotManager_class import ScreenshotManager
2025-08-26 18:07:35 +00:00
from utils.MercyManager_class import MercyManager
from utils.pb_handler import set_managers
from utils.leaderboard_handler import set_db_manager
2025-08-22 13:25:34 +00:00
2025-08-26 17:35:54 +00:00
# Définir les intents
2025-08-22 13:25:34 +00:00
intents = discord.Intents.default()
2025-08-26 13:02:34 +00:00
intents.message_content = True
2025-08-26 17:35:54 +00:00
2025-08-26 18:07:35 +00:00
# Initialisation des managers
2025-08-22 13:25:34 +00:00
db_manager = DatabaseManager()
screenshot_manager = ScreenshotManager()
2025-08-26 18:07:35 +00:00
mercy_manager = MercyManager()
# Injection des managers dans les handlers
set_managers(db_manager, screenshot_manager) # pb_handler
set_db_manager(db_manager) # leaderboard_handler
2025-08-22 13:25:34 +00:00
2025-08-26 18:07:35 +00:00
# Liste des cogs
2025-08-22 13:25:34 +00:00
initial_cogs = [
"cogs.guide",
"cogs.pbhydra",
"cogs.pbchimera",
"cogs.pbcvc",
"cogs.top10",
"cogs.mystats",
2025-08-24 08:21:54 +00:00
"cogs.mercy",
2025-08-22 13:25:34 +00:00
]
2025-08-26 18:07:35 +00:00
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
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}")
async def on_ready(self):
print(f"{self.user.name} est connecté !")
bot = MyBot()
2025-08-26 17:35:54 +00:00
bot.run(DISCORD_TOKEN)