azils3/bash
0
1# Ultroid - UserBot2# Copyright (C) 2021-2025 TeamUltroid3#4# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >5# PLease read the GNU Affero General Public License in6# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.7"""8✘ Commands Available -9 10• `{i}addsudo`11 Add Sudo Users by replying to user or using <space> separated userid(s)12 13• `{i}delsudo`14 Remove Sudo Users by replying to user or using <space> separated userid(s)15 16• `{i}listsudo`17 List all sudo users.18"""19 20from telethon.tl.types import User21 22from pyUltroid._misc import sudoers23 24from . import get_string, inline_mention, udB, ultroid_bot, ultroid_cmd25 26 27@ultroid_cmd(pattern="addsudo( (.*)|$)", fullsudo=True)28async def _(ult):29 inputs = ult.pattern_match.group(1).strip()30 if ult.reply_to_msg_id:31 replied_to = await ult.get_reply_message()32 id = replied_to.sender_id33 name = await replied_to.get_sender()34 elif inputs:35 try:36 id = await ult.client.parse_id(inputs)37 except ValueError:38 try:39 id = int(inputs)40 except ValueError:41 id = inputs42 try:43 name = await ult.client.get_entity(int(id))44 except BaseException:45 name = None46 elif ult.is_private:47 id = ult.chat_id48 name = await ult.get_chat()49 else:50 return await ult.eor(get_string("sudo_1"), time=5)51 if name and isinstance(name, User) and (name.bot or name.verified):52 return await ult.eor(get_string("sudo_4"))53 name = inline_mention(name) if name else f"`{id}`"54 if id == ultroid_bot.uid:55 mmm = get_string("sudo_2")56 elif id in sudoers():57 mmm = f"{name} `is already a SUDO User ...`"58 else:59 udB.set_key("SUDO", "True")60 key = sudoers()61 key.append(id)62 udB.set_key("SUDOS", key)63 mmm = f"**Added** {name} **as SUDO User**"64 await ult.eor(mmm, time=5)65 66 67@ultroid_cmd(pattern="delsudo( (.*)|$)", fullsudo=True)68async def _(ult):69 inputs = ult.pattern_match.group(1).strip()70 if ult.reply_to_msg_id:71 replied_to = await ult.get_reply_message()72 id = replied_to.sender_id73 name = await replied_to.get_sender()74 elif inputs:75 try:76 id = await ult.client.parse_id(inputs)77 except ValueError:78 try:79 id = int(inputs)80 except ValueError:81 id = inputs82 try:83 name = await ult.client.get_entity(int(id))84 except BaseException:85 name = None86 elif ult.is_private:87 id = ult.chat_id88 name = await ult.get_chat()89 else:90 return await ult.eor(get_string("sudo_1"), time=5)91 name = inline_mention(name) if name else f"`{id}`"92 if id not in sudoers():93 mmm = f"{name} `wasn't a SUDO User ...`"94 else:95 key = sudoers()96 key.remove(id)97 udB.set_key("SUDOS", key)98 mmm = f"**Removed** {name} **from SUDO User(s)**"99 await ult.eor(mmm, time=5)100 101 102@ultroid_cmd(103 pattern="listsudo$",104)105async def _(ult):106 sudos = sudoers()107 if not sudos:108 return await ult.eor(get_string("sudo_3"), time=5)109 msg = ""110 for i in sudos:111 try:112 name = await ult.client.get_entity(int(i))113 except BaseException:114 name = None115 if name:116 msg += f"• {inline_mention(name)} ( `{i}` )\n"117 else:118 msg += f"• `{i}` -> Invalid User\n"119 m = udB.get_key("SUDO") or True120 if not m:121 m = "[False](https://graph.org/Ultroid-04-06)"122 return await ult.eor(123 f"**SUDO MODE : {m}\n\nList of SUDO Users :**\n{msg}", link_preview=False124 )125 