Fix updates
Browse files- akn/AllDownloaderBot/admins.py +15 -15
akn/AllDownloaderBot/admins.py
CHANGED
@@ -48,15 +48,16 @@ async def arz_update_admin_cache(client, chat_id):
|
|
48 |
return admin_list
|
49 |
|
50 |
@Client.on_callback_query(filters.regex(r"^arzunmute_(\d+)_(\d+)$"))
|
51 |
-
async def
|
52 |
chat_id = int(callback.matches[0].group(1))
|
53 |
user_id = int(callback.matches[0].group(2))
|
54 |
|
55 |
admins = cached_admins.get(chat_id, [])
|
|
|
|
|
56 |
if not admins:
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
if callback.from_user.id not in admins:
|
61 |
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
62 |
return
|
@@ -70,15 +71,14 @@ async def arzunmute_callbackx(client, callback):
|
|
70 |
await callback.message.edit_text(f"❌ Failed: {str(e)}")
|
71 |
|
72 |
@Client.on_callback_query(filters.regex(r"^arzunban_(\d+)_(\d+)$"))
|
73 |
-
async def
|
74 |
chat_id = int(callback.matches[0].group(1))
|
75 |
user_id = int(callback.matches[0].group(2))
|
76 |
-
|
77 |
-
admins =
|
78 |
if not admins:
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
if callback.from_user.id not in admins:
|
83 |
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
84 |
return
|
@@ -138,7 +138,7 @@ async def arz_reload(client: Client, message: Message):
|
|
138 |
return
|
139 |
|
140 |
bot_permissions = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
141 |
-
if not bot_permissions.can_restrict_members:
|
142 |
return await message.reply_text("❌ I need admin permissions to restrict members")
|
143 |
|
144 |
admins = await arz_update_admin_cache(client, message.chat.id)
|
@@ -165,7 +165,7 @@ async def arz_reload(client: Client, message: Message):
|
|
165 |
async def arz_ban_user(client: Client, message: Message):
|
166 |
user_id, reason = await extract_user_and_reason(message, sender_chat=True)
|
167 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
168 |
-
if not bot.can_restrict_members:
|
169 |
return await message.reply_text("I don't have enough permissions")
|
170 |
if not user_id:
|
171 |
return await message.reply_text("I can't find that user.")
|
@@ -283,7 +283,7 @@ async def arz_ban_me(client: Client, message: Message):
|
|
283 |
async def arz_mute(client: Client, message: Message):
|
284 |
user_id, reason = await extract_user_and_reason(message, sender_chat=True)
|
285 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
286 |
-
if not bot.can_restrict_members:
|
287 |
return await message.reply_text("I don't have enough permissions")
|
288 |
if not user_id:
|
289 |
return await message.reply_text("I can't find that user.")
|
@@ -390,7 +390,7 @@ async def arz_mute_all(client: Client, message: Message):
|
|
390 |
)
|
391 |
async def arz_unmute_all(client: Client, message: Message):
|
392 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
393 |
-
if not bot.can_restrict_members:
|
394 |
return await message.reply_text("I don't have enough permissions")
|
395 |
if message.chat.type == ChatType.PRIVATE:
|
396 |
return await message.reply_text("This command is not available in private chats.")
|
@@ -412,7 +412,7 @@ async def arz_unmute_all(client: Client, message: Message):
|
|
412 |
async def arz_mute_me(client: Client, message: Message):
|
413 |
user_id = message.from_user.id
|
414 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
415 |
-
if not bot.can_restrict_members:
|
416 |
return await message.reply_text("I don't have enough permissions")
|
417 |
reason = None
|
418 |
if not user_id:
|
|
|
48 |
return admin_list
|
49 |
|
50 |
@Client.on_callback_query(filters.regex(r"^arzunmute_(\d+)_(\d+)$"))
|
51 |
+
async def xarzunmute_cbok(client, callback):
|
52 |
chat_id = int(callback.matches[0].group(1))
|
53 |
user_id = int(callback.matches[0].group(2))
|
54 |
|
55 |
admins = cached_admins.get(chat_id, [])
|
56 |
+
chat_data = await db.alldl_bot.find_one({"chat_ids": chat_id})
|
57 |
+
admins = chat_data.get("chat_admins", []) if chat_data else []
|
58 |
if not admins:
|
59 |
+
await callback.answer("⚠️ You can /reload again admins", show_alert=True)
|
60 |
+
return
|
|
|
61 |
if callback.from_user.id not in admins:
|
62 |
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
63 |
return
|
|
|
71 |
await callback.message.edit_text(f"❌ Failed: {str(e)}")
|
72 |
|
73 |
@Client.on_callback_query(filters.regex(r"^arzunban_(\d+)_(\d+)$"))
|
74 |
+
async def xarzunban_cbok(client, callback):
|
75 |
chat_id = int(callback.matches[0].group(1))
|
76 |
user_id = int(callback.matches[0].group(2))
|
77 |
+
chat_data = await db.alldl_bot.find_one({"chat_ids": chat_id})
|
78 |
+
admins = chat_data.get("chat_admins", []) if chat_data else []
|
79 |
if not admins:
|
80 |
+
await callback.answer("⚠️ You can /reload again admins", show_alert=True)
|
81 |
+
return
|
|
|
82 |
if callback.from_user.id not in admins:
|
83 |
await callback.answer("⚠️ Only admins can unmute!", show_alert=True)
|
84 |
return
|
|
|
138 |
return
|
139 |
|
140 |
bot_permissions = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
141 |
+
if not bot_permissions or not bot_permissions.can_restrict_members:
|
142 |
return await message.reply_text("❌ I need admin permissions to restrict members")
|
143 |
|
144 |
admins = await arz_update_admin_cache(client, message.chat.id)
|
|
|
165 |
async def arz_ban_user(client: Client, message: Message):
|
166 |
user_id, reason = await extract_user_and_reason(message, sender_chat=True)
|
167 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
168 |
+
if not bot or not bot.can_restrict_members:
|
169 |
return await message.reply_text("I don't have enough permissions")
|
170 |
if not user_id:
|
171 |
return await message.reply_text("I can't find that user.")
|
|
|
283 |
async def arz_mute(client: Client, message: Message):
|
284 |
user_id, reason = await extract_user_and_reason(message, sender_chat=True)
|
285 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
286 |
+
if not bot or not bot.can_restrict_members:
|
287 |
return await message.reply_text("I don't have enough permissions")
|
288 |
if not user_id:
|
289 |
return await message.reply_text("I can't find that user.")
|
|
|
390 |
)
|
391 |
async def arz_unmute_all(client: Client, message: Message):
|
392 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
393 |
+
if not bot or not bot.can_restrict_members:
|
394 |
return await message.reply_text("I don't have enough permissions")
|
395 |
if message.chat.type == ChatType.PRIVATE:
|
396 |
return await message.reply_text("This command is not available in private chats.")
|
|
|
412 |
async def arz_mute_me(client: Client, message: Message):
|
413 |
user_id = message.from_user.id
|
414 |
bot = (await client.get_chat_member(message.chat.id, client.me.id)).privileges
|
415 |
+
if not bot or not bot.can_restrict_members:
|
416 |
return await message.reply_text("I don't have enough permissions")
|
417 |
reason = None
|
418 |
if not user_id:
|