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_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():
|
||||||
|
|||||||
Reference in New Issue
Block a user