Fix lol
Browse files- akn/AllDownloaderBot/admins.py +25 -26
akn/AllDownloaderBot/admins.py
CHANGED
@@ -50,23 +50,22 @@ async def arz_update_admin_cache(client, chat_id):
|
|
50 |
cached_admins[chat_id] = admin_list
|
51 |
return admin_list
|
52 |
|
53 |
-
@Client.on_callback_query(filters.regex(r"^
|
54 |
async def xarzunmute_cbok(client, callback):
|
55 |
chat_id = int(callback.matches[0].group(1))
|
56 |
user_id = int(callback.matches[0].group(2))
|
57 |
chat_member = await client.get_chat_member(chat_id, client.me.id)
|
58 |
if not chat_member or not chat_member.can_restrict_members:
|
59 |
await callback.answer("⚠️ Bot needs 'Restrict Members' permission!", show_alert=True)
|
60 |
-
admins = cached_admins.get(chat_id, [])
|
61 |
-
chat_data = await db.alldl_bot.find_one({"chat_ids": chat_id})
|
62 |
-
admins = chat_data.get("chat_admins", []) if chat_data else []
|
63 |
-
if not admins:
|
64 |
-
await callback.answer("⚠️ You can /reload again admins", show_alert=True)
|
65 |
-
return
|
66 |
-
if callback.from_user.id not in admins:
|
67 |
-
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
68 |
-
return
|
69 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
user_mention = callback.from_user.mention
|
71 |
await client.restrict_chat_member(chat_id, user_id, unmute_permissions)
|
72 |
await callback.message.edit_text(
|
@@ -77,22 +76,22 @@ async def xarzunmute_cbok(client, callback):
|
|
77 |
LOGS.error(f"Error xarzunmute_cbok: {str(e)} ")
|
78 |
await callback.message.edit_text(f"❌ Failed: {str(e)}")
|
79 |
|
80 |
-
@Client.on_callback_query(filters.regex(r"^
|
81 |
async def xarzunban_cbok(client, callback):
|
82 |
chat_id = int(callback.matches[0].group(1))
|
83 |
user_id = int(callback.matches[0].group(2))
|
84 |
chat_member = await client.get_chat_member(chat_id, client.me.id)
|
85 |
if not chat_member or not chat_member.can_restrict_members:
|
86 |
await callback.answer("⚠️ Bot needs 'Restrict Members' permission!", show_alert=True)
|
87 |
-
chat_data = await db.alldl_bot.find_one({"chat_ids": chat_id})
|
88 |
-
admins = chat_data.get("chat_admins", []) if chat_data else []
|
89 |
-
if not admins:
|
90 |
-
await callback.answer("⚠️ You can /reload again admins", show_alert=True)
|
91 |
-
return
|
92 |
-
if callback.from_user.id not in admins:
|
93 |
-
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
94 |
-
return
|
95 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
user_mention = callback.from_user.mention
|
97 |
await client.unban_chat_member(chat_id, user_id)
|
98 |
await callback.message.edit_text(
|
@@ -208,7 +207,7 @@ async def arz_ban_user(client: Client, message: Message):
|
|
208 |
[
|
209 |
[
|
210 |
InlineKeyboardButton(
|
211 |
-
"⚫ Unban", callback_data=f"
|
212 |
)
|
213 |
]
|
214 |
]
|
@@ -331,7 +330,7 @@ async def arz_mute(client: Client, message: Message):
|
|
331 |
[
|
332 |
[
|
333 |
InlineKeyboardButton(
|
334 |
-
"⚫ Unmute", callback_data=f"
|
335 |
)
|
336 |
]
|
337 |
]
|
@@ -459,7 +458,7 @@ async def arz_mute_me(client: Client, message: Message):
|
|
459 |
[
|
460 |
[
|
461 |
InlineKeyboardButton(
|
462 |
-
"Unmute", callback_data=f"
|
463 |
)
|
464 |
]
|
465 |
]
|
@@ -480,7 +479,7 @@ async def arz_admin_list(client: Client, message: Message):
|
|
480 |
return await message.reply_text("I don't have enough permissions to list admins.")
|
481 |
|
482 |
try:
|
483 |
-
|
484 |
async for m in client.get_chat_members(message.chat.id, filter=ChatMembersFilter.ADMINISTRATORS):
|
485 |
if m.user.is_bot:
|
486 |
continue
|
@@ -489,12 +488,12 @@ async def arz_admin_list(client: Client, message: Message):
|
|
489 |
user = m.user
|
490 |
tag = f"[{user.first_name}](tg://user?id={user.id})"
|
491 |
role = "👑 Owner" if m.status.value == "owner" else "🔧 Admin"
|
492 |
-
|
493 |
|
494 |
if not admin_list:
|
495 |
return await message.reply_text("No admins found.")
|
496 |
|
497 |
-
text = "**👥 Admin List:**\n\n" + "\n".join(
|
498 |
await message.reply_text(
|
499 |
text,
|
500 |
disable_web_page_preview=True
|
@@ -505,7 +504,7 @@ async def arz_admin_list(client: Client, message: Message):
|
|
505 |
@Client.on_message(filters.incoming & filters.group, group=-1)
|
506 |
async def check_user_mute(client: Client, message: Message):
|
507 |
bot = await client.get_chat_member(message.chat.id, client.me.id)
|
508 |
-
if not bot.privileges.can_restrict_members:
|
509 |
return
|
510 |
if message.from_user and message.from_user.is_deleted:
|
511 |
return
|
|
|
50 |
cached_admins[chat_id] = admin_list
|
51 |
return admin_list
|
52 |
|
53 |
+
@Client.on_callback_query(filters.regex(r"^arzunmuted_(\d+)_(\d+)$"))
|
54 |
async def xarzunmute_cbok(client, callback):
|
55 |
chat_id = int(callback.matches[0].group(1))
|
56 |
user_id = int(callback.matches[0].group(2))
|
57 |
chat_member = await client.get_chat_member(chat_id, client.me.id)
|
58 |
if not chat_member or not chat_member.can_restrict_members:
|
59 |
await callback.answer("⚠️ Bot needs 'Restrict Members' permission!", show_alert=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
try:
|
61 |
+
chat_data = await db.alldl_bot.find_one({"chat_ids": chat_id})
|
62 |
+
admins = chat_data.get("chat_admins", []) if chat_data else []
|
63 |
+
if not admins:
|
64 |
+
await callback.answer("⚠️ You can /reload again admins", show_alert=True)
|
65 |
+
return
|
66 |
+
if callback.from_user.id not in admins:
|
67 |
+
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
68 |
+
return
|
69 |
user_mention = callback.from_user.mention
|
70 |
await client.restrict_chat_member(chat_id, user_id, unmute_permissions)
|
71 |
await callback.message.edit_text(
|
|
|
76 |
LOGS.error(f"Error xarzunmute_cbok: {str(e)} ")
|
77 |
await callback.message.edit_text(f"❌ Failed: {str(e)}")
|
78 |
|
79 |
+
@Client.on_callback_query(filters.regex(r"^arzunband_(\d+)_(\d+)$"))
|
80 |
async def xarzunban_cbok(client, callback):
|
81 |
chat_id = int(callback.matches[0].group(1))
|
82 |
user_id = int(callback.matches[0].group(2))
|
83 |
chat_member = await client.get_chat_member(chat_id, client.me.id)
|
84 |
if not chat_member or not chat_member.can_restrict_members:
|
85 |
await callback.answer("⚠️ Bot needs 'Restrict Members' permission!", show_alert=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
try:
|
87 |
+
chat_data = await db.alldl_bot.find_one({"chat_ids": chat_id})
|
88 |
+
admins = chat_data.get("chat_admins", []) if chat_data else []
|
89 |
+
if not admins:
|
90 |
+
await callback.answer("⚠️ You can /reload again admins", show_alert=True)
|
91 |
+
return
|
92 |
+
if callback.from_user.id not in admins:
|
93 |
+
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
94 |
+
return
|
95 |
user_mention = callback.from_user.mention
|
96 |
await client.unban_chat_member(chat_id, user_id)
|
97 |
await callback.message.edit_text(
|
|
|
207 |
[
|
208 |
[
|
209 |
InlineKeyboardButton(
|
210 |
+
"⚫ Unban", callback_data=f"arzunband_{message.chat.id}_{user_id}"
|
211 |
)
|
212 |
]
|
213 |
]
|
|
|
330 |
[
|
331 |
[
|
332 |
InlineKeyboardButton(
|
333 |
+
"⚫ Unmute", callback_data=f"arzunmuted_{message.chat.id}_{user_id}"
|
334 |
)
|
335 |
]
|
336 |
]
|
|
|
458 |
[
|
459 |
[
|
460 |
InlineKeyboardButton(
|
461 |
+
"⚫ Unmute", callback_data=f"arzunmuted_{user_id}"
|
462 |
)
|
463 |
]
|
464 |
]
|
|
|
479 |
return await message.reply_text("I don't have enough permissions to list admins.")
|
480 |
|
481 |
try:
|
482 |
+
admin_listx = []
|
483 |
async for m in client.get_chat_members(message.chat.id, filter=ChatMembersFilter.ADMINISTRATORS):
|
484 |
if m.user.is_bot:
|
485 |
continue
|
|
|
488 |
user = m.user
|
489 |
tag = f"[{user.first_name}](tg://user?id={user.id})"
|
490 |
role = "👑 Owner" if m.status.value == "owner" else "🔧 Admin"
|
491 |
+
admin_listx.append(f"┣ {role}: {tag}")
|
492 |
|
493 |
if not admin_list:
|
494 |
return await message.reply_text("No admins found.")
|
495 |
|
496 |
+
text = "**👥 Admin List:**\n\n" + "\n".join(admin_listx)
|
497 |
await message.reply_text(
|
498 |
text,
|
499 |
disable_web_page_preview=True
|
|
|
504 |
@Client.on_message(filters.incoming & filters.group, group=-1)
|
505 |
async def check_user_mute(client: Client, message: Message):
|
506 |
bot = await client.get_chat_member(message.chat.id, client.me.id)
|
507 |
+
if not bot or not bot.privileges.can_restrict_members:
|
508 |
return
|
509 |
if message.from_user and message.from_user.is_deleted:
|
510 |
return
|