flash / Mikobot /utils /can_restrict.py
Karma
Add files via upload
c7dfe8b
raw
history blame
1.46 kB
# <============================================== IMPORTS =========================================================>
from typing import Callable
from pyrogram.enums import ChatMemberStatus
from pyrogram.types import Message
from Mikobot import DEV_USERS, app
# <=======================================================================================================>
# <================================================ FUNCTION =======================================================>
def can_restrict(func: Callable) -> Callable:
async def non_admin(_, message: Message):
if message.from_user.id in DEV_USERS:
return await func(_, message)
check = await app.get_chat_member(message.chat.id, message.from_user.id)
if check.status not in [ChatMemberStatus.OWNER, ChatMemberStatus.ADMINISTRATOR]:
return await message.reply_text(
"» You're not an admin, Please stay in your limits."
)
admin = (
await app.get_chat_member(message.chat.id, message.from_user.id)
).privileges
if admin.can_restrict_members:
return await func(_, message)
else:
return await message.reply_text(
"`You don't have permissions to restrict users in this chat."
)
return non_admin
# <================================================ END =======================================================>