|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import re |
|
|
|
from telethon.errors.rpcerrorlist import UserNotParticipantError |
|
|
|
from pyUltroid import _ult_cache |
|
|
|
from . import * |
|
|
|
|
|
@ultroid_cmd(pattern="d(kick|ban)", manager=True, require="ban_users") |
|
async def dowj(e): |
|
replied = await e.get_reply_message() |
|
if replied: |
|
user = replied.sender_id |
|
else: |
|
return await e.eor("Reply to a message...") |
|
try: |
|
await replied.delete() |
|
if e.pattern_match.group(1).strip() == "kick": |
|
await e.client.kick_participant(e.chat_id, user) |
|
te = "Kicked" |
|
else: |
|
await e.client.edit_permissions(e.chat_id, user, view_messages=False) |
|
te = "Banned" |
|
await e.eor(f"{te} Successfully!") |
|
except Exception as E: |
|
await e.eor(str(E)) |
|
|
|
|
|
@callback(re.compile("cc_(.*)"), func=_ult_cache.get("admin_callback")) |
|
async def callback_(event): |
|
data = event.data_match.group(1).decode("utf-8") |
|
if data not in _ult_cache.get("admin_callback", {}): |
|
return |
|
try: |
|
perm = await event.client.get_permissions(event.chat_id, event.sender_id) |
|
except UserNotParticipantError: |
|
return await event.answer("Join the Group First!", alert=True) |
|
if not perm.is_admin: |
|
return await event.answer("You are not an Admin!", alert=True) |
|
_ult_cache["admin_callback"].update({data: (event.sender, perm)}) |
|
await event.answer("Verification Done!") |
|
await event.delete() |
|
|