Spaces:
Paused
Paused
| # Ultroid - UserBot | |
| # Copyright (C) 2021-2025 TeamUltroid | |
| # | |
| # This file is a part of < https://github.com/TeamUltroid/Ultroid/ > | |
| # PLease read the GNU Affero General Public License in | |
| # <https://github.com/TeamUltroid/pyUltroid/blob/main/LICENSE>. | |
| from .. import * | |
| CMD_HELP = {} | |
| # ----------------------------------------------# | |
| class _SudoManager: | |
| def __init__(self): | |
| self.db = None | |
| self.owner = None | |
| self._owner_sudos = [] | |
| def _init_db(self): | |
| if not self.db: | |
| from .. import udB | |
| self.db = udB | |
| return self.db | |
| def get_sudos(self): | |
| db = self._init_db() | |
| SUDOS = db.get_key("SUDOS") | |
| return SUDOS or [] | |
| def should_allow_sudo(self): | |
| db = self._init_db() | |
| return db.get_key("SUDO") | |
| def owner_and_sudos(self): | |
| if not self.owner: | |
| db = self._init_db() | |
| self.owner = db.get_key("OWNER_ID") | |
| return [self.owner, *self.get_sudos()] | |
| def fullsudos(self): | |
| db = self._init_db() | |
| fsudos = db.get("FULLSUDO") | |
| if not self.owner: | |
| self.owner = db.get_key("OWNER_ID") | |
| if not fsudos: | |
| return [self.owner] | |
| fsudos = fsudos.split() | |
| fsudos.append(self.owner) | |
| return [int(_) for _ in fsudos] | |
| def is_sudo(self, id_): | |
| return bool(id_ in self.get_sudos()) | |
| SUDO_M = _SudoManager() | |
| owner_and_sudos = SUDO_M.owner_and_sudos | |
| sudoers = SUDO_M.get_sudos | |
| is_sudo = SUDO_M.is_sudo | |
| # ------------------------------------------------ # | |
| def append_or_update(load, func, name, arggs): | |
| if isinstance(load, list): | |
| return load.append(func) | |
| if isinstance(load, dict): | |
| if load.get(name): | |
| return load[name].append((func, arggs)) | |
| return load.update({name: [(func, arggs)]}) | |