diff options
author | Kyomotoi <[email protected]> | 2023-05-11 14:49:47 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2023-05-11 14:49:47 +0800 |
commit | a1e79271e2dc9d8488c9779cb186f368a0a363c4 (patch) | |
tree | c4258b9a72b4c92796b382fe235c38d07cc0f667 /ATRI | |
parent | 30b471e390e8dac903b2cd3ccf3e2708b3c1bc63 (diff) | |
download | ATRI-a1e79271e2dc9d8488c9779cb186f368a0a363c4.tar.gz ATRI-a1e79271e2dc9d8488c9779cb186f368a0a363c4.tar.bz2 ATRI-a1e79271e2dc9d8488c9779cb186f368a0a363c4.zip |
✨ 新增权限添加通道
Diffstat (limited to 'ATRI')
-rw-r--r-- | ATRI/permission.py | 23 |
1 files 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") |