diff --git a/bot.py b/bot.py index 1397d0e..562431f 100644 --- a/bot.py +++ b/bot.py @@ -476,7 +476,7 @@ def get_current_datetime(): return datetime.now().strftime("%Y-%m-%d %H:%M:%S") def calculate_xp_needed_for_level(level): - """Berechnet die für das nächste Level benötigten XP.""" + """Berechnet die benötigten XP für das nächste Level.""" return 5 * (level ** 2) + 50 * level + 100 async def add_xp_to_user(user_id, xp_gained): @@ -518,19 +518,16 @@ async def level(ctx): # Lade die Benutzerdaten (XP und Level) aus der Datenbank user_data = load_user_data(user_id) - # Sicherstellen, dass sowohl XP als auch Level gültige Werte haben - current_xp = user_data.get("xp", 0) - current_level = user_data.get("level", 1) # Standard auf Level 1 setzen, falls kein Level vorhanden ist + if "xp" not in user_data: + user_data["xp"] = 0 + if "level" not in user_data: + user_data["level"] = 1 - # Berechne die für das aktuelle Level benötigten XP + # Berechne die für das nächste Level benötigten XP + current_level = user_data["level"] + current_xp = user_data["xp"] xp_needed = calculate_xp_needed_for_level(current_level) - # Wenn der User mehr XP hat als für das aktuelle Level nötig ist, berechne das neue Level - while current_xp >= xp_needed: - current_xp -= xp_needed - current_level += 1 - xp_needed = calculate_xp_needed_for_level(current_level) - # Erstelle eine Antwort mit den aktuellen Level-Informationen embed = discord.Embed( title=f"Level Information for {ctx.author.name}",