randydev commited on
Commit
ee0f981
·
verified ·
1 Parent(s): 57bb7c3

Update chatbot/plugins/chat.py

Browse files
Files changed (1) hide show
  1. chatbot/plugins/chat.py +66 -0
chatbot/plugins/chat.py CHANGED
@@ -51,10 +51,15 @@ from database import db
51
  from database import users_collection
52
  from logger import LOGS
53
 
 
 
 
54
  from google import genai
55
  from google.genai import types as ty
56
 
57
  trans = SyncTranslator()
 
 
58
  message_memory_state = {}
59
 
60
  async def geni_files_delete(name: str):
@@ -256,6 +261,67 @@ async def deletemydata(client, callback):
256
  else:
257
  await callback.answer(delm, True)
258
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  @Client.on_callback_query(filters.regex("^removerbg_(\d+)$"))
260
  async def remover_bg(client, callback):
261
  user_id = int(callback.matches[0].group(1))
 
51
  from database import users_collection
52
  from logger import LOGS
53
 
54
+ from akenoai import *
55
+ from akenoai.types import DifferentAPIDefault
56
+
57
  from google import genai
58
  from google.genai import types as ty
59
 
60
  trans = SyncTranslator()
61
+ js = AkenoXJs(DifferentAPIDefault()).connect()
62
+
63
  message_memory_state = {}
64
 
65
  async def geni_files_delete(name: str):
 
261
  else:
262
  await callback.answer(delm, True)
263
 
264
+ @Client.on_callback_query(filters.regex("^fluxprompt_(\d+)$"))
265
+ async def flux_prompt(client, callback):
266
+ user_id = int(callback.matches[0].group(1))
267
+ file_path = None
268
+ file_photo = None
269
+ try:
270
+ backup_chat = await db._get_chatbot_chat_from_db(user_id)
271
+ data = await db.backup_chatbot.find_one({"user_id": int(user_id)})
272
+ if not data:
273
+ return await callback.answer("Can't found user", True)
274
+ get_response = data.get("prompt_flux", None)
275
+ if not get_response:
276
+ return await callback.answer("Server busy try again later", True)
277
+ await callback.message.delete()
278
+ backup_chat.append({"role": "user", "parts": [{"text": get_response}]})
279
+ response_js = await js.image.create(
280
+ "black-forest-labs/flux-1-schnell",
281
+ image_read=True,
282
+ params_data={"query": get_response},
283
+ )
284
+ file_path = "randydev.jpg"
285
+ with open(file_path, "wb") as f:
286
+ f.write(response_js)
287
+
288
+ file_photo = await gen.aio.files.upload(file=file_path)
289
+ while file_photo.state.name == "PROCESSING":
290
+ await client.send_chat_action(message.chat.id, enums.ChatAction.UPLOAD_PHOTO)
291
+ await asyncio.sleep(10)
292
+ file_photo = await gen.aio.files.get(name=file_photo.name)
293
+ if file_photo.state.name == "FAILED":
294
+ return await callback.message.reply_text(f"Error: {file_photo.state.name}")
295
+ response = await gen.aio.models.generate_content(
296
+ model="gemini-2.0-flash",
297
+ contents=[
298
+ "You are a picture making a story use small don't be too many",
299
+ file_photo
300
+ ]
301
+ )
302
+ keyboard = create_keyboard(user_id=user_id)
303
+ await callback.message.reply_photo(
304
+ file_path,
305
+ caption=response.text,
306
+ reply_markup=keyboard
307
+ )
308
+ await db.backup_chatbot.update_one(
309
+ {"user_id": user_id},
310
+ {"$set": {"translate_text": response.text}},
311
+ upsert=True
312
+ )
313
+ backup_chat.append({"role": "model", "parts": [{"text": response.text}]})
314
+ except Exception as e:
315
+ LOGS.error(f"flux_prompt failed: {str(e)}")
316
+ await callback.message.reply_text("Server error")
317
+ finally:
318
+ if file_path and file_photo:
319
+ try:
320
+ os.remove(file_path)
321
+ await gen.aio.files.delete(name=file_photo.name)
322
+ except:
323
+ pass
324
+
325
  @Client.on_callback_query(filters.regex("^removerbg_(\d+)$"))
326
  async def remover_bg(client, callback):
327
  user_id = int(callback.matches[0].group(1))