Update chatbot/plugins/chat.py
Browse files- chatbot/plugins/chat.py +18 -6
chatbot/plugins/chat.py
CHANGED
@@ -92,7 +92,6 @@ blacklist_patterns = [
|
|
92 |
r"\bdeath\s*threat\b",
|
93 |
]
|
94 |
|
95 |
-
|
96 |
def is_command_disabled(text):
|
97 |
text_lower = text.lower()
|
98 |
if text_lower.startswith("/") and not (text_lower.startswith("/setmodel") or text_lower.startswith("/start")):
|
@@ -1093,14 +1092,26 @@ async def chatbot_talk(client: Client, message: Message):
|
|
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 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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(
|
@@ -1112,6 +1123,7 @@ async def chatbot_talk(client: Client, message: Message):
|
|
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())
|
|
|
92 |
r"\bdeath\s*threat\b",
|
93 |
]
|
94 |
|
|
|
95 |
def is_command_disabled(text):
|
96 |
text_lower = text.lower()
|
97 |
if text_lower.startswith("/") and not (text_lower.startswith("/setmodel") or text_lower.startswith("/start")):
|
|
|
1092 |
"user_id": message.from_user.id,
|
1093 |
"credits_used": 0,
|
1094 |
"last_reset": dt.now(),
|
1095 |
+
"is_premium": False,
|
1096 |
+
"premium_expiry" = None
|
1097 |
}
|
1098 |
if dt.now() - user_data["last_reset"] > timedelta(days=1):
|
1099 |
+
await db.user_premium.update_one(
|
1100 |
+
{"user_id": message.from_user.id},
|
1101 |
+
{"$set": {"credits_used": 0, "last_reset": dt.now()}}
|
1102 |
+
)
|
1103 |
user_data["credits_used"] = 0
|
1104 |
+
|
1105 |
+
if user_data.get("is_premium") and user_data["premium_expiry"] < dt.now():
|
1106 |
+
await db.user_premium.update_one(
|
1107 |
+
{"user_id": message.from_user.id},
|
1108 |
+
{"$set": {"is_premium": False}}
|
1109 |
+
)
|
1110 |
+
user_data["is_premium"] = False
|
1111 |
+
|
1112 |
+
credit_limit = 50 if user_data["is_premium"] else 5
|
1113 |
+
remaining = credit_limit - user_data["credits_used"]
|
1114 |
+
if remaining <= 0:
|
1115 |
time_left = (user_data["last_reset"] + timedelta(days=1) - dt.now())
|
1116 |
hours = int(time_left.total_seconds() // 3600)
|
1117 |
return await message.reply_text(
|
|
|
1123 |
InlineKeyboardButton("Get Premium", callback_data="get_premium")
|
1124 |
]])
|
1125 |
)
|
1126 |
+
|
1127 |
backup_chat = await db._get_chatbot_chat_from_db(message.from_user.id)
|
1128 |
backup_chat.append({"role": "user", "parts": [{"text": caption}]})
|
1129 |
images = Image.open(await message.download())
|