diff --git a/bot.py b/bot.py index 8a6c8f7..4ae98c2 100644 --- a/bot.py +++ b/bot.py @@ -156,7 +156,9 @@ CREATE TABLE IF NOT EXISTS user_data ( askmultus INT, filter_value INT, rank INT, - chat_history JSON + chat_history JSON, + xp INT, + level INT ); """ db_cursor.execute(create_table_query) @@ -214,7 +216,7 @@ def load_user_data_from_mysql(user_id): close_database_connection(connection) if result: - # Überprüfe, ob die Felder 'level' und 'xp' fehlen, und initialisiere sie gegebenenfalls + # Wenn das Level und die XP nicht vorhanden sind, initialisieren user_data = { "user_id": result[0], "permission": result[1], @@ -224,24 +226,25 @@ def load_user_data_from_mysql(user_id): "filter_value": result[5], "rank": result[6], "chat_history": json.loads(result[7]) if result[7] else [], - "xp": result[8] if len(result) > 8 else 0, # Setze XP auf 0, wenn es fehlt - "level": result[9] if len(result) > 9 else 1 # Setze Level auf 1, wenn es fehlt + "level": result[8] if result[8] is not None else 1, # Initialisiere Level mit 1 + "xp": result[9] if result[9] is not None else 0 # Initialisiere XP mit 0 } else: - # Benutzer existiert noch nicht, initialisiere die Standarddaten + # Falls keine Benutzerdaten gefunden werden, initialisiere sie neu user_data = { "user_id": user_id, - "permission": 0, - "points": 0, - "ban": 0, - "askmultus": 0, - "filter_value": 0, - "rank": 0, - "chat_history": [], - "xp": 0, # Standardmäßig 0 XP - "level": 1 # Standardmäßig Level 1 + "permission": 0, # Standardberechtigung + "points": 0, # Standardpunkte + "ban": 0, # Standardbannstatus + "askmultus": 0, # Standardwert für askmultus + "filter_value": 0, # Standardwert für Filter + "rank": 0, # Standardrang + "chat_history": [], # Leerer Chatverlauf + "level": 1, # Standardlevel + "xp": 0 # Standard-XP } - # Füge den Benutzer in die Datenbank ein + + # Fügen Sie die neuen Benutzerdaten zur Datenbank hinzu insert_user_data( user_data["user_id"], user_data["permission"], @@ -251,9 +254,12 @@ def load_user_data_from_mysql(user_id): user_data["filter_value"], user_data["chat_history"] ) + update_user_data(user_data["user_id"], "level", 1) + update_user_data(user_data["user_id"], "xp", 0) return user_data + cached_user_data = {} pending_deletion = {} @@ -484,8 +490,8 @@ async def level(ctx): user_id = ctx.author.id user_data = load_user_data(user_id) - level = user_data["level"] - xp = user_data["xp"] + level = user_data.get("level", 1) # Verwende 1 als Standardlevel, wenn nicht vorhanden + xp = user_data.get("xp", 0) # Verwende 0 als Standard-XP, wenn nicht vorhanden required_xp = calculate_xp_for_level(level) embed = discord.Embed(