modified: bot.py
This commit is contained in:
63
bot.py
63
bot.py
@@ -162,22 +162,22 @@ CREATE TABLE IF NOT EXISTS user_data (
|
|||||||
db_cursor.execute(create_table_query)
|
db_cursor.execute(create_table_query)
|
||||||
db_connection.commit()
|
db_connection.commit()
|
||||||
|
|
||||||
def insert_user_data(user_id, permission=0, points=0, ban=0, askmultus=0, filter_value=0, chat_history=[]):
|
def insert_user_data(user_id, permission, points, ban, askmultus, filter_value, chat_history):
|
||||||
insert_query = """
|
insert_query = """
|
||||||
INSERT INTO user_data (user_id, permission, points, ban, askmultus, filter_value, rank, chat_history)
|
INSERT INTO user_data (user_id, permission, points, ban, askmultus, filter_value, rank, chat_history, xp, level)
|
||||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s)
|
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||||
"""
|
"""
|
||||||
# Serialize the chat_history list to a JSON string
|
|
||||||
serialized_chat_history = json.dumps(chat_history)
|
serialized_chat_history = json.dumps(chat_history)
|
||||||
data = (user_id, permission, points, ban, askmultus, filter_value, 0, serialized_chat_history) # Rank is set to 0 initially
|
data = (user_id, permission, points, ban, askmultus, filter_value, 0, serialized_chat_history, 0, 1) # Initialisiere XP auf 0 und Level auf 1
|
||||||
try:
|
try:
|
||||||
db_cursor.execute(insert_query, data)
|
db_cursor.execute(insert_query, data)
|
||||||
db_connection.commit()
|
db_connection.commit()
|
||||||
print(f"User {user_id} inserted successfully.")
|
print("User data inserted successfully.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Error inserting user data: {e}")
|
print(f"Error inserting user data: {e}")
|
||||||
db_connection.rollback()
|
db_connection.rollback()
|
||||||
|
|
||||||
|
|
||||||
def update_user_data(user_id, field, value):
|
def update_user_data(user_id, field, value):
|
||||||
update_query = f"UPDATE user_data SET {field} = %s WHERE user_id = %s"
|
update_query = f"UPDATE user_data SET {field} = %s WHERE user_id = %s"
|
||||||
|
|
||||||
@@ -210,13 +210,12 @@ def load_user_data_from_mysql(user_id):
|
|||||||
cursor.execute(select_query, (user_id,))
|
cursor.execute(select_query, (user_id,))
|
||||||
result = cursor.fetchone()
|
result = cursor.fetchone()
|
||||||
|
|
||||||
if result:
|
cursor.close()
|
||||||
# Close the connection when we're done
|
close_database_connection(connection)
|
||||||
cursor.close()
|
|
||||||
close_database_connection(connection)
|
|
||||||
|
|
||||||
# Return the user data as a dictionary
|
if result:
|
||||||
return {
|
# Überprüfe, ob die Felder 'level' und 'xp' fehlen, und initialisiere sie gegebenenfalls
|
||||||
|
user_data = {
|
||||||
"user_id": result[0],
|
"user_id": result[0],
|
||||||
"permission": result[1],
|
"permission": result[1],
|
||||||
"points": result[2],
|
"points": result[2],
|
||||||
@@ -224,26 +223,36 @@ def load_user_data_from_mysql(user_id):
|
|||||||
"askmultus": result[4],
|
"askmultus": result[4],
|
||||||
"filter_value": result[5],
|
"filter_value": result[5],
|
||||||
"rank": result[6],
|
"rank": result[6],
|
||||||
"chat_history": json.loads(result[7]) if result[7] else []
|
"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
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
# Benutzer existiert noch nicht, also neuen Datensatz hinzufügen
|
# Benutzer existiert noch nicht, initialisiere die Standarddaten
|
||||||
insert_user_data(user_id) # Hier wird ein neuer Benutzer erstellt
|
user_data = {
|
||||||
cursor.close()
|
|
||||||
close_database_connection(connection)
|
|
||||||
|
|
||||||
# Rückgabe des neu eingefügten Benutzers
|
|
||||||
return {
|
|
||||||
"user_id": user_id,
|
"user_id": user_id,
|
||||||
"permission": 0, # Standard-Permission
|
"permission": 0,
|
||||||
"points": 0, # Standard-Punkte
|
"points": 0,
|
||||||
"ban": 0, # Kein Ban
|
"ban": 0,
|
||||||
"askmultus": 0, # Keine Multus-Anfragen
|
"askmultus": 0,
|
||||||
"filter_value": 0,# Kein Filter
|
"filter_value": 0,
|
||||||
"rank": 0, # Standardrang
|
"rank": 0,
|
||||||
"chat_history": []# Leerer Chatverlauf
|
"chat_history": [],
|
||||||
|
"xp": 0, # Standardmäßig 0 XP
|
||||||
|
"level": 1 # Standardmäßig Level 1
|
||||||
}
|
}
|
||||||
|
# Füge den Benutzer in die Datenbank ein
|
||||||
|
insert_user_data(
|
||||||
|
user_data["user_id"],
|
||||||
|
user_data["permission"],
|
||||||
|
user_data["points"],
|
||||||
|
user_data["ban"],
|
||||||
|
user_data["askmultus"],
|
||||||
|
user_data["filter_value"],
|
||||||
|
user_data["chat_history"]
|
||||||
|
)
|
||||||
|
|
||||||
|
return user_data
|
||||||
|
|
||||||
cached_user_data = {}
|
cached_user_data = {}
|
||||||
pending_deletion = {}
|
pending_deletion = {}
|
||||||
|
|||||||
Reference in New Issue
Block a user