import os import discord from discord.ext import commands from dotenv import load_dotenv # Lade die Umgebungsvariablen aus der .env-Datei load_dotenv() TOKEN = os.getenv('DISCORD_TOKEN') # Definiere die Intents (Berechtigungen), die dein Bot benötigt. intents = discord.Intents.default() intents.members = True # Notwendig für Willkommensnachrichten intents.message_content = True # Notwendig, um Nachrichten zu lesen # Erstelle die Bot-Instanz bot = commands.Bot(command_prefix=None, intents=intents) # Event, das beim Starten des Bots ausgeführt wird @bot.event async def on_ready(): """Wird aufgerufen, wenn der Bot erfolgreich mit Discord verbunden ist.""" print(f'Erfolgreich eingeloggt als {bot.user.name} (ID: {bot.user.id})') print('--------------------------------------------------') await load_cogs() # Synchronisiere die Slash-Commands mit Discord try: synced = await bot.tree.sync() print(f'{len(synced)} Slash-Command(s) wurden synchronisiert.') except Exception as e: print(f'Fehler beim Synchronisieren der Commands: {e}') async def load_cogs(): """Sucht im 'cogs'-Ordner nach Python-Dateien und lädt sie als Erweiterungen.""" print("Lade Cogs...") for filename in os.listdir('./cogs'): if filename.endswith('.py'): try: await bot.load_extension(f'cogs.{filename[:-3]}') print(f'-> Cog "{filename[:-3]}" wurde geladen.') except Exception as e: print(f'Fehler beim Laden von Cog "{filename[:-3]}": {e}') # Starte den Bot mit dem Token if __name__ == "__main__": if TOKEN is None: print("FEHLER: DISCORD_TOKEN wurde nicht in der .env-Datei gefunden!") else: bot.run(TOKEN)