randydev commited on
Commit
c08f35a
·
verified ·
1 Parent(s): 5f48bc3

Update chatbot/plugins/chat.py

Browse files
Files changed (1) hide show
  1. chatbot/plugins/chat.py +31 -17
chatbot/plugins/chat.py CHANGED
@@ -54,6 +54,7 @@ from google import genai
54
  from google.genai import types as ty
55
 
56
  trans = SyncTranslator()
 
57
 
58
  async def geni_files_delete(name: str):
59
  url = f"https://generativelanguage.googleapis.com/v1beta/{name}"
@@ -234,29 +235,42 @@ async def closeed(client, callback):
234
  @Client.on_callback_query(filters.regex("^memory_(\d+)$"))
235
  async def memory_updated(client, callback):
236
  user_id = int(callback.matches[0].group(1))
237
- check_memory = {}
238
- if callback.message.id not in check_memory:
239
- check_memory[callback.message.id] = False
240
- is_memory = check_memory[callback.message.id]
241
- if is_memory:
242
- return await callback.answer("Memory is Already Updated!", False)
243
- backup_chat = await db._get_chatbot_chat_from_db(user_id)
244
  try:
245
  if user_id == 0:
246
- return await callback.answer("Server busy try again later", True)
 
247
  data_tr = await db.backup_chatbot.find_one({"user_id": user_id})
248
  if not data_tr:
249
- return await callback.answer("Can't found user", True)
250
- get_response = data_tr.get("translate_text", None)
 
 
 
 
 
251
  if not get_response:
252
- return await callback.answer("Server busy try again later", True)
253
- backup_chat.append({"role": "model", "parts": [{"text": get_response}]})
254
- await db._update_chatbot_chat_in_db(user_id, backup_chat)
255
- check_memory[callback.message.id] = True
256
- await callback.answer("Memory Updated!", False)
 
 
 
 
 
 
 
 
 
 
257
  except Exception as e:
258
- LOGS.error(f"Exception translate: {str(e)}")
259
- await callback.answer("Server busy try again later", True)
260
 
261
  @Client.on_callback_query(filters.regex("^tr_(\d+)$"))
262
  async def terjemahkan(client, callback):
 
54
  from google.genai import types as ty
55
 
56
  trans = SyncTranslator()
57
+ message_memory_state = {}
58
 
59
  async def geni_files_delete(name: str):
60
  url = f"https://generativelanguage.googleapis.com/v1beta/{name}"
 
235
  @Client.on_callback_query(filters.regex("^memory_(\d+)$"))
236
  async def memory_updated(client, callback):
237
  user_id = int(callback.matches[0].group(1))
238
+
239
+ if message_memory_state.get(callback.message.id, False):
240
+ return await callback.answer("Memory already updated!", show_alert=False)
241
+
 
 
 
242
  try:
243
  if user_id == 0:
244
+ return await callback.answer("Server busy, try again later", show_alert=True)
245
+
246
  data_tr = await db.backup_chatbot.find_one({"user_id": user_id})
247
  if not data_tr:
248
+ return await callback.answer("User data not found", show_alert=True)
249
+
250
+ backup_chat = await db._get_chatbot_chat_from_db(user_id)
251
+ if not backup_chat:
252
+ backup_chat = []
253
+
254
+ get_response = data_tr.get("translate_text")
255
  if not get_response:
256
+ return await callback.answer("No translation available", show_alert=True)
257
+
258
+
259
+ backup_chat.append({
260
+ "role": "model",
261
+ "parts": [{"text": get_response}]
262
+ })
263
+
264
+ await asyncio.gather(
265
+ db._update_chatbot_chat_in_db(user_id, backup_chat),
266
+ callback.answer("Memory updated successfully!")
267
+ )
268
+
269
+ message_memory_state[callback.message.id] = True
270
+
271
  except Exception as e:
272
+ LOGS.error(f"Memory update failed: {str(e)}")
273
+ await callback.answer("Server error", show_alert=True)
274
 
275
  @Client.on_callback_query(filters.regex("^tr_(\d+)$"))
276
  async def terjemahkan(client, callback):