|
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 |
|
) |