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 )