Team Ai
Apppublic

azils3/bash

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
sudo.py125 linesDownload Raw Back to plugins
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