From a1e79271e2dc9d8488c9779cb186f368a0a363c4 Mon Sep 17 00:00:00 2001 From: Kyomotoi <0w0@imki.moe> Date: Thu, 11 May 2023 14:49:47 +0800 Subject: =?UTF-8?q?=E2=9C=A8=20=E6=96=B0=E5=A2=9E=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=9A=E9=81=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/permission.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/ATRI/permission.py b/ATRI/permission.py index f5c7e1e..9c05c23 100644 --- a/ATRI/permission.py +++ b/ATRI/permission.py @@ -14,7 +14,7 @@ MASTER_FILE = FileDealer(MASTER_FILE_PATH) MASTER_LIST = set() -def create_master_file(): +def __create_master_file(): if not MASTER_FILE_PATH.is_file(): data = dict() for i in conf.BotConfig.superusers: @@ -24,15 +24,15 @@ def create_master_file(): w.write(json.dumps(data)) -def init_permission(): +def __init_permission(): global MASTER_LIST - create_master_file() + __create_master_file() data = MASTER_FILE.json() MASTER_LIST = set.union(set(data), conf.BotConfig.superusers) def is_master(bot: Bot, event: Event) -> bool: - init_permission() + __init_permission() try: user_id = event.get_user_id() except Exception: @@ -41,6 +41,19 @@ def is_master(bot: Bot, event: Event) -> bool: return user_id in MASTER_LIST +async def toggle_master(user_id: str): + """ + 添加/移除主人 + 如存在即移除,如不存在即添加 + """ + data = MASTER_FILE.json() + if user_id in data: + data.pop(user_id) + else: + data[user_id] = {"is_conf": False} + await MASTER_FILE.write_json(data) + + class Permission(_Permission): name = "UnknownPermission" @@ -83,6 +96,6 @@ class Admin: return False -init_permission() +__init_permission() MASTER = Permission(Master()).set_name("Master") ADMIN = Permission(Admin()).set_name("Admin") -- cgit v1.2.3