randydev's picture
Updated
23c9755 verified
import time
from pyrogram import filters, Client
from pyrogram.types import *
from akn.utils.database import db
from akn.langs import transdev
@Client.on_callback_query(filters.regex("^arzlang_"))
async def arzset_language(_, callback):
lang_code = callback.data.split("_")[1]
await db.alldl_bot.update_one(
{"user_id": callback.from_user.id},
{"$set": {"language": lang_code}},
upsert=True
)
await callback.answer(f"Language set to {lang_code.upper()}!")
await callback.message.edit_text(
f"Language changed to {lang_code.upper()}! Use /start to see the changes.",
)
unmute_permissions = ChatPermissions(
can_send_messages=True,
can_send_media_messages=True,
can_send_polls=True,
can_change_info=False,
can_invite_users=True,
can_pin_messages=False,
)
def get_help_texts(lang="en"):
return {
"ban": transdev.get("messages.help_ban", lang=lang),
"mute": transdev.get("messages.help_mute", lang=lang),
"promote": transdev.get("messages.help_promote", lang=lang),
"clean": transdev.get("messages.help_clean", lang=lang),
"lock": transdev.get("messages.help_lock", lang=lang),
"demote": transdev.get("messages.help_demote", lang=lang),
"downloader": transdev.get("messages.help_downloader", lang=lang),
"stats": transdev.get("messages.help_stats", lang=lang),
"forcesub": transdev.get("messages.help_forcesub", lang=lang),
"blacklist": transdev.get("messages.help_blacklist", lang=lang),
"botsettings": transdev.get("messages.help_botsettings", lang=lang),
}
@Client.on_callback_query(
filters.regex("^rhelp_(ban|mute|promote|demote|clean|lock|downloader|stats|forcesub|blacklist|botsettings)$")
)
async def rxhelp_callback(client, callback):
category = callback.data.split("_")[1]
user_data = await db.alldl_bot.find_one({"user_id": callback.from_user.id})
lang = user_data.get("language", "en") if user_data else "en"
help_text = get_help_texts(lang=lang)
keyboard = InlineKeyboardMarkup([
[InlineKeyboardButton(transdev.get("buttons.help_back", lang=lang), callback_data="rhelps_back")]
])
await callback.edit_message_text(
help_text.get(category, "❌ Help text not found."),
reply_markup=keyboard
)
@Client.on_callback_query(filters.regex("^rhelps_back"))
async def rhelp_back(client, callback):
start = time.time()
await client.get_me()
end = time.time()
latency = (end - start) * 1000
user_data = await db.alldl_bot.find_one({"user_id": callback.from_user.id})
lang = user_data.get("language", "en") if user_data else "en"
keyboard = InlineKeyboardMarkup([
[
InlineKeyboardButton("🚫 Ban", callback_data="rhelp_ban"),
InlineKeyboardButton("πŸ”‡ Mute", callback_data="rhelp_mute")
],
[
InlineKeyboardButton("πŸ‘‘ Promote", callback_data="rhelp_promote"),
InlineKeyboardButton("πŸ›‘οΈ Demote", callback_data="rhelp_demote")
],
[
InlineKeyboardButton("🧹 Clean", callback_data="rhelp_clean"),
InlineKeyboardButton("πŸ”’ Lock", callback_data="rhelp_lock")
],
[
InlineKeyboardButton("πŸ“₯ Downloader", callback_data="rhelp_downloader"),
],
[
InlineKeyboardButton("πŸ“Š Stats", callback_data="rhelp_stats")
],
[
InlineKeyboardButton("πŸ”’ Force Subscribe", callback_data="rhelp_forcesub"),
InlineKeyboardButton("πŸ›‘οΈ Blacklist", callback_data="rhelp_blacklist")
],
[
InlineKeyboardButton("βš™οΈ Bot Settings", callback_data="rhelp_botsettings"),
],
[
InlineKeyboardButton(transdev.get("buttons.help_close", lang=lang), callback_data="cclose"),
]
])
text_str = transdev.get(
"messages.welcome",
lang=lang,
name=callback.from_user.mention ,
ping=f"{latency:.2f}ms",
)
await callback.edit_message_text(
text_str,
reply_markup=keyboard
)