modified: bot.py
This commit is contained in:
29
bot.py
29
bot.py
@@ -212,6 +212,35 @@ def save_user_data_to_mysql(user_data):
|
||||
db_cursor.execute(update_query, data)
|
||||
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():
|
||||
|
||||
Reference in New Issue
Block a user