modified: bot.py

This commit is contained in:
SimolZimol
2024-09-15 11:52:03 +02:00
parent 59becd29d5
commit 0d5829c200

19
bot.py
View File

@@ -476,7 +476,7 @@ def get_current_datetime():
return datetime.now().strftime("%Y-%m-%d %H:%M:%S") return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
def calculate_xp_needed_for_level(level): 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 return 5 * (level ** 2) + 50 * level + 100
async def add_xp_to_user(user_id, xp_gained): 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 # Lade die Benutzerdaten (XP und Level) aus der Datenbank
user_data = load_user_data(user_id) user_data = load_user_data(user_id)
# Sicherstellen, dass sowohl XP als auch Level gültige Werte haben if "xp" not in user_data:
current_xp = user_data.get("xp", 0) user_data["xp"] = 0
current_level = user_data.get("level", 1) # Standard auf Level 1 setzen, falls kein Level vorhanden ist 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) 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 # Erstelle eine Antwort mit den aktuellen Level-Informationen
embed = discord.Embed( embed = discord.Embed(
title=f"Level Information for {ctx.author.name}", title=f"Level Information for {ctx.author.name}",