randydev commited on
Commit
d7d456c
·
verified ·
1 Parent(s): 3221f2d
Files changed (1) hide show
  1. chatbot/plugins/chat.py +32 -24
chatbot/plugins/chat.py CHANGED
@@ -181,30 +181,6 @@ Type anything to begin.
181
 
182
  gen = genai.Client(api_key=GOOGLE_API_KEY)
183
 
184
- class TaskManager:
185
- def __init__(self):
186
- self.running_tasks = {}
187
-
188
- async def add_task(self, chat_id, coro):
189
- task = asyncio.create_task(coro)
190
- self.running_tasks[chat_id] = task
191
- try:
192
- await task
193
- finally:
194
- self.running_tasks.pop(chat_id, None)
195
-
196
- async def cancel_task(self, chat_id):
197
- task = self.running_tasks.get(chat_id)
198
- if task:
199
- task.cancel()
200
- del self.running_tasks[chat_id]
201
- return True
202
- return False
203
-
204
- def list_tasks(self):
205
- return list(self.running_tasks.keys())
206
-
207
- task_manager = TaskManager()
208
 
209
  async def progress(current, total, message, start, type_of_ps, file_name=None):
210
  """Progress Bar For Showing Progress While Uploading / Downloading File - Normal"""
@@ -1113,6 +1089,29 @@ async def chatbot_talk(client: Client, message: Message):
1113
  edit_image_now = re.match(r"--edit-images\s*(.*)", caption, re.IGNORECASE)
1114
  if edit_image_now:
1115
  try:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1116
  backup_chat = await db._get_chatbot_chat_from_db(message.from_user.id)
1117
  backup_chat.append({"role": "user", "parts": [{"text": caption}]})
1118
  images = Image.open(await message.download())
@@ -1142,6 +1141,15 @@ async def chatbot_talk(client: Client, message: Message):
1142
  )
1143
  backup_chat.append({"role": "model", "parts": [{"text": captions}]})
1144
  await db._update_chatbot_chat_in_db(message.from_user.id, backup_chat)
 
 
 
 
 
 
 
 
 
1145
  await client.send_chat_action(message.chat.id, enums.ChatAction.CANCEL)
1146
  return
1147
  except Exception as e:
 
181
 
182
  gen = genai.Client(api_key=GOOGLE_API_KEY)
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
 
185
  async def progress(current, total, message, start, type_of_ps, file_name=None):
186
  """Progress Bar For Showing Progress While Uploading / Downloading File - Normal"""
 
1089
  edit_image_now = re.match(r"--edit-images\s*(.*)", caption, re.IGNORECASE)
1090
  if edit_image_now:
1091
  try:
1092
+ user_data = await db.user_premium.find_one({"user_id": message.from_user.id}) or {
1093
+ "user_id": message.from_user.id,
1094
+ "credits_used": 0,
1095
+ "last_reset": dt.now(),
1096
+ "is_premium": False
1097
+ }
1098
+ if dt.now() - user_data["last_reset"] > timedelta(days=1):
1099
+ user_data["credits_used"] = 0
1100
+ user_data["last_reset"] = dt.now()
1101
+
1102
+ credit_limit = 50 if user_data.get("is_premium") else 5
1103
+ if user_data["credits_used"] >= credit_limit:
1104
+ time_left = (user_data["last_reset"] + timedelta(days=1) - dt.now())
1105
+ hours = int(time_left.total_seconds() // 3600)
1106
+ return await message.reply_text(
1107
+ f"🚫 Credit Limit Reached\n\n"
1108
+ f"• Used: {user_data['credits_used']}/{credit_limit} images today\n"
1109
+ f"• Resets in: {hours} hours\n\n"
1110
+ f"💎 Upgrade to Premium for 50 daily credits!",
1111
+ reply_markup=InlineKeyboardMarkup([[
1112
+ InlineKeyboardButton("Get Premium", callback_data="get_premium")
1113
+ ]])
1114
+ )
1115
  backup_chat = await db._get_chatbot_chat_from_db(message.from_user.id)
1116
  backup_chat.append({"role": "user", "parts": [{"text": caption}]})
1117
  images = Image.open(await message.download())
 
1141
  )
1142
  backup_chat.append({"role": "model", "parts": [{"text": captions}]})
1143
  await db._update_chatbot_chat_in_db(message.from_user.id, backup_chat)
1144
+ await db.user_premium.update_one(
1145
+ {"user_id": user_id},
1146
+ {
1147
+ "$inc": {"credits_used": 1},
1148
+ "$set": {"last_reset": user_data["last_reset"]},
1149
+ "$setOnInsert": {"is_premium": False}
1150
+ },
1151
+ upsert=True
1152
+ )
1153
  await client.send_chat_action(message.chat.id, enums.ChatAction.CANCEL)
1154
  return
1155
  except Exception as e: