modified: bot.py

This commit is contained in:
SimolZimol
2024-09-05 13:39:57 +02:00
parent 7d8be00afe
commit 8c70cee539

29
bot.py
View File

@@ -212,6 +212,35 @@ def save_user_data_to_mysql(user_data):
db_cursor.execute(update_query, data) db_cursor.execute(update_query, data)
db_connection.commit() db_connection.commit()
cached_user_data = {}
pending_deletion = {}
async def cache_user_data(user_id, data):
cached_user_data[user_id] = data
# Setze die Daten nach 30 Sekunden auf die Löschliste
if user_id not in pending_deletion:
pending_deletion[user_id] = asyncio.get_event_loop().call_later(30, lambda: remove_user_data_from_cache(user_id))
def remove_user_data_from_cache(user_id):
# Entferne den Benutzer aus dem Cache und der Löschliste
if user_id in cached_user_data:
del cached_user_data[user_id]
if user_id in pending_deletion:
pending_deletion[user_id].cancel()
del pending_deletion[user_id]
def load_user_data(user_id):
if user_id in cached_user_data:
return cached_user_data[user_id]
user_data = load_user_data_from_mysql(user_id)
asyncio.ensure_future(cache_user_data(user_id, user_data))
return user_data
#----------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------
def read_introduction(): def read_introduction():