Test
Browse files- chatbot/plugins/chat.py +50 -41
chatbot/plugins/chat.py
CHANGED
@@ -733,9 +733,9 @@ async def memory_updated(client, callback):
|
|
733 |
LOGS.error(f"Memory update failed: {str(e)}")
|
734 |
await callback.answer("Server error", show_alert=True)
|
735 |
|
736 |
-
@Client.on_callback_query(filters.regex("^tr_(\d+)_(\w+)$"))
|
737 |
async def terjemahkan(client, callback):
|
738 |
-
user_id, targetlang = callback.matches[0].groups()
|
739 |
user_bl = await db.user_blacklists.find_one({"user_id": int(user_id)})
|
740 |
if user_bl and user_bl.get("is_frozen", False):
|
741 |
await callback.answer("Sorry your account is disabled", True)
|
@@ -747,23 +747,26 @@ async def terjemahkan(client, callback):
|
|
747 |
data_tr = await db.backup_chatbot.find_one({"user_id": int(user_id)})
|
748 |
if not data_tr:
|
749 |
return await callback.answer("Can't found user", True)
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
|
|
|
|
|
|
767 |
await callback.answer("Translate Updated Now", False)
|
768 |
except Exception as e:
|
769 |
LOGS.error(f"Exception translate: {str(e)}")
|
@@ -797,41 +800,38 @@ async def photo_mode(client, callback):
|
|
797 |
reply_markup=keyboard
|
798 |
)
|
799 |
|
800 |
-
@Client.on_callback_query(filters.regex("^trmulti_(\d+)$"))
|
801 |
async def multiple_langagues(client, callback):
|
802 |
-
user_id =
|
803 |
-
user_bl = await db.user_blacklists.find_one({"user_id": user_id})
|
804 |
if user_bl and user_bl.get("is_frozen", False):
|
805 |
await callback.answer("Sorry your account is disabled", True)
|
806 |
return
|
807 |
|
808 |
keyboard = []
|
809 |
keyboard.append([
|
810 |
-
InlineKeyboardButton("๐ฆ๐ช", callback_data=f"tr_{user_id}
|
811 |
-
InlineKeyboardButton("๐ฆ๐ฟ", callback_data=f"tr_{user_id}
|
812 |
])
|
813 |
keyboard.append([
|
814 |
-
InlineKeyboardButton("๐ง๐พ", callback_data=f"tr_{user_id}
|
815 |
-
InlineKeyboardButton("๐ช๐ธ", callback_data=f"tr_{user_id}
|
816 |
])
|
817 |
keyboard.append([
|
818 |
-
InlineKeyboardButton("๐น๐ท", callback_data=f"tr_{user_id}
|
819 |
-
InlineKeyboardButton("๐ป๐ณ", callback_data=f"tr_{user_id}
|
820 |
])
|
821 |
keyboard.append([
|
822 |
-
InlineKeyboardButton("๐ฎ๐ฉ", callback_data=f"tr_{user_id}
|
823 |
-
InlineKeyboardButton("๐บ๐ธ", callback_data=f"tr_{user_id}
|
824 |
])
|
825 |
keyboard.append([
|
826 |
-
InlineKeyboardButton("๐ฎ๐ณ", callback_data=f"tr_{user_id}
|
827 |
-
InlineKeyboardButton("๐ฏ๐ต", callback_data=f"tr_{user_id}
|
828 |
])
|
829 |
keyboard.append([
|
830 |
-
InlineKeyboardButton("๐ฒ๐พ", callback_data=f"tr_{user_id}
|
831 |
-
InlineKeyboardButton("๐ท๐บ", callback_data=f"tr_{user_id}
|
832 |
-
])
|
833 |
-
keyboard.append([
|
834 |
-
InlineKeyboardButton(f"๐พ", callback_data=f"memory_{user_id}")
|
835 |
])
|
836 |
try:
|
837 |
await callback.edit_message_reply_markup(
|
@@ -880,6 +880,7 @@ def create_keyboard(
|
|
880 |
likes: int = 0,
|
881 |
unlikes: int = 0,
|
882 |
user_id: int = None,
|
|
|
883 |
chat: str = None,
|
884 |
is_menu: bool = False
|
885 |
):
|
@@ -889,7 +890,7 @@ def create_keyboard(
|
|
889 |
[
|
890 |
InlineKeyboardButton(f"๐๏ธ", callback_data=f"menutools_{user_id}"),
|
891 |
InlineKeyboardButton(f"๐", url=f"https://t.me/{chat}"),
|
892 |
-
InlineKeyboardButton(f"โพ๏ธ", callback_data=f"trmulti_{user_id}"),
|
893 |
InlineKeyboardButton(f"๐พ", callback_data=f"memory_{user_id}"),
|
894 |
],
|
895 |
[
|
@@ -903,7 +904,7 @@ def create_keyboard(
|
|
903 |
[
|
904 |
[
|
905 |
InlineKeyboardButton(f"๐๏ธ", callback_data=f"menutools_{user_id}"),
|
906 |
-
InlineKeyboardButton(f"โพ๏ธ", callback_data=f"trmulti_{user_id}"),
|
907 |
InlineKeyboardButton(f"๐", callback_data=f"refreshch"),
|
908 |
InlineKeyboardButton(f"๐พ", callback_data=f"memory_{user_id}")
|
909 |
],
|
@@ -1644,15 +1645,23 @@ async def chatbot_talk(client: Client, message: Message):
|
|
1644 |
for part in text_parts:
|
1645 |
await message.reply_text(part)
|
1646 |
else:
|
1647 |
-
keyboard_like = create_keyboard(
|
|
|
|
|
|
|
1648 |
await message.reply_text(
|
1649 |
output,
|
1650 |
disable_web_page_preview=True,
|
1651 |
reply_markup=keyboard_like
|
1652 |
)
|
|
|
|
|
|
|
|
|
|
|
1653 |
await db.backup_chatbot.update_one(
|
1654 |
{"user_id": message.from_user.id},
|
1655 |
-
{"$
|
1656 |
upsert=True
|
1657 |
)
|
1658 |
backup_chat.append({"role": "model", "parts": [{"text": output}]})
|
|
|
733 |
LOGS.error(f"Memory update failed: {str(e)}")
|
734 |
await callback.answer("Server error", show_alert=True)
|
735 |
|
736 |
+
@Client.on_callback_query(filters.regex("^tr_(\d+)_(\w+)_(\w+)$"))
|
737 |
async def terjemahkan(client, callback):
|
738 |
+
user_id, targetlang, uuidstr = callback.matches[0].groups()
|
739 |
user_bl = await db.user_blacklists.find_one({"user_id": int(user_id)})
|
740 |
if user_bl and user_bl.get("is_frozen", False):
|
741 |
await callback.answer("Sorry your account is disabled", True)
|
|
|
747 |
data_tr = await db.backup_chatbot.find_one({"user_id": int(user_id)})
|
748 |
if not data_tr:
|
749 |
return await callback.answer("Can't found user", True)
|
750 |
+
if not data_tr or "translate_history" not in data_tr:
|
751 |
+
return await callback.answer("translate history not found")
|
752 |
+
|
753 |
+
for translations in data_tr["translate_history"]:
|
754 |
+
if translations.get("uuid") == uuidstr:
|
755 |
+
translation = trans(
|
756 |
+
translations.get("text"),
|
757 |
+
sourcelang="auto",
|
758 |
+
targetlang=str(targetlang)
|
759 |
+
)
|
760 |
+
keyboard = create_keyboard(
|
761 |
+
user_id=user_id,
|
762 |
+
chat=data_tr.get("channel_username", "RendyProjects"),
|
763 |
+
is_menu=data_tr.get("is_channel_photo", False)
|
764 |
+
)
|
765 |
+
await callback.edit_message_text(
|
766 |
+
translation.text,
|
767 |
+
reply_markup=keyboard
|
768 |
+
)
|
769 |
+
|
770 |
await callback.answer("Translate Updated Now", False)
|
771 |
except Exception as e:
|
772 |
LOGS.error(f"Exception translate: {str(e)}")
|
|
|
800 |
reply_markup=keyboard
|
801 |
)
|
802 |
|
803 |
+
@Client.on_callback_query(filters.regex("^trmulti_(\d+)_(\w+)$"))
|
804 |
async def multiple_langagues(client, callback):
|
805 |
+
user_id, uuidstr = callback.matches[0].groups()
|
806 |
+
user_bl = await db.user_blacklists.find_one({"user_id": int(user_id)})
|
807 |
if user_bl and user_bl.get("is_frozen", False):
|
808 |
await callback.answer("Sorry your account is disabled", True)
|
809 |
return
|
810 |
|
811 |
keyboard = []
|
812 |
keyboard.append([
|
813 |
+
InlineKeyboardButton("๐ฆ๐ช", callback_data=f"tr_{int(user_id)}_ar_{uuidstr}"),
|
814 |
+
InlineKeyboardButton("๐ฆ๐ฟ", callback_data=f"tr_{int(user_id)}_az_{uuidstr}")
|
815 |
])
|
816 |
keyboard.append([
|
817 |
+
InlineKeyboardButton("๐ง๐พ", callback_data=f"tr_{int(user_id)}_be_{uuidstr}"),
|
818 |
+
InlineKeyboardButton("๐ช๐ธ", callback_data=f"tr_{int(user_id)}_es_{uuidstr}")
|
819 |
])
|
820 |
keyboard.append([
|
821 |
+
InlineKeyboardButton("๐น๐ท", callback_data=f"tr_{int(user_id)}_tr_{uuidstr}"),
|
822 |
+
InlineKeyboardButton("๐ป๐ณ", callback_data=f"tr_{int(user_id)}_vi_{uuidstr}")
|
823 |
])
|
824 |
keyboard.append([
|
825 |
+
InlineKeyboardButton("๐ฎ๐ฉ", callback_data=f"tr_{int(user_id)}_id_{uuidstr}"),
|
826 |
+
InlineKeyboardButton("๐บ๐ธ", callback_data=f"tr_{int(user_id)}_en_{uuidstr}")
|
827 |
])
|
828 |
keyboard.append([
|
829 |
+
InlineKeyboardButton("๐ฎ๐ณ", callback_data=f"tr_{int(user_id)}_hi_{uuidstr}"),
|
830 |
+
InlineKeyboardButton("๐ฏ๐ต", callback_data=f"tr_{int(user_id)}_ja_{uuidstr}")
|
831 |
])
|
832 |
keyboard.append([
|
833 |
+
InlineKeyboardButton("๐ฒ๐พ", callback_data=f"tr_{int(user_id)}_ms_{uuidstr}"),
|
834 |
+
InlineKeyboardButton("๐ท๐บ", callback_data=f"tr_{int(user_id)}_ru_{uuidstr}"),
|
|
|
|
|
|
|
835 |
])
|
836 |
try:
|
837 |
await callback.edit_message_reply_markup(
|
|
|
880 |
likes: int = 0,
|
881 |
unlikes: int = 0,
|
882 |
user_id: int = None,
|
883 |
+
uuid_str: str = None,
|
884 |
chat: str = None,
|
885 |
is_menu: bool = False
|
886 |
):
|
|
|
890 |
[
|
891 |
InlineKeyboardButton(f"๐๏ธ", callback_data=f"menutools_{user_id}"),
|
892 |
InlineKeyboardButton(f"๐", url=f"https://t.me/{chat}"),
|
893 |
+
InlineKeyboardButton(f"โพ๏ธ", callback_data=f"trmulti_{user_id}_{uuid_str}"),
|
894 |
InlineKeyboardButton(f"๐พ", callback_data=f"memory_{user_id}"),
|
895 |
],
|
896 |
[
|
|
|
904 |
[
|
905 |
[
|
906 |
InlineKeyboardButton(f"๐๏ธ", callback_data=f"menutools_{user_id}"),
|
907 |
+
InlineKeyboardButton(f"โพ๏ธ", callback_data=f"trmulti_{user_id}_{uuid_str}"),
|
908 |
InlineKeyboardButton(f"๐", callback_data=f"refreshch"),
|
909 |
InlineKeyboardButton(f"๐พ", callback_data=f"memory_{user_id}")
|
910 |
],
|
|
|
1645 |
for part in text_parts:
|
1646 |
await message.reply_text(part)
|
1647 |
else:
|
1648 |
+
keyboard_like = create_keyboard(
|
1649 |
+
user_id=message.from_user.id,
|
1650 |
+
uuid_str=str(uuid.uuid4())[:8]
|
1651 |
+
)
|
1652 |
await message.reply_text(
|
1653 |
output,
|
1654 |
disable_web_page_preview=True,
|
1655 |
reply_markup=keyboard_like
|
1656 |
)
|
1657 |
+
translation_entry = {
|
1658 |
+
"uuid": str(uuid.uuid4())[:8],
|
1659 |
+
"text": output,
|
1660 |
+
"timestamp": dt.now().isoformat()
|
1661 |
+
}
|
1662 |
await db.backup_chatbot.update_one(
|
1663 |
{"user_id": message.from_user.id},
|
1664 |
+
{"$push": {"translate_history": translation_entry}},
|
1665 |
upsert=True
|
1666 |
)
|
1667 |
backup_chat.append({"role": "model", "parts": [{"text": output}]})
|