diff options
author | Kyomotoi <[email protected]> | 2021-05-04 14:27:56 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2021-05-04 14:27:56 +0800 |
commit | ea7f48011c34fdaec7e91af7eb373c8174e439e6 (patch) | |
tree | e4f14eaacde37774d49e7f98ac1ff4635049d80a /ATRI/plugins/manage | |
parent | 07a7e41f72cfa9dfd207a04445f4aa5b0b6fa3ce (diff) | |
download | ATRI-ea7f48011c34fdaec7e91af7eb373c8174e439e6.tar.gz ATRI-ea7f48011c34fdaec7e91af7eb373c8174e439e6.tar.bz2 ATRI-ea7f48011c34fdaec7e91af7eb373c8174e439e6.zip |
✨🐛 更新
新增:老婆!
新增:涩图
修复:manage中出现的bug
优化:nsfw不再用float,换为int
Diffstat (limited to 'ATRI/plugins/manage')
-rw-r--r-- | ATRI/plugins/manage/__init__.py | 3 | ||||
-rw-r--r-- | ATRI/plugins/manage/modules/block.py | 124 | ||||
-rw-r--r-- | ATRI/plugins/manage/modules/broadcast.py | 42 | ||||
-rw-r--r-- | ATRI/plugins/manage/modules/debug.py | 97 | ||||
-rw-r--r-- | ATRI/plugins/manage/modules/dormant.py | 12 | ||||
-rw-r--r-- | ATRI/plugins/manage/modules/request.py | 102 | ||||
-rw-r--r-- | ATRI/plugins/manage/modules/service.py | 160 | ||||
-rw-r--r-- | ATRI/plugins/manage/modules/shutdown.py | 10 |
8 files changed, 331 insertions, 219 deletions
diff --git a/ATRI/plugins/manage/__init__.py b/ATRI/plugins/manage/__init__.py index b316020..d9f1ffe 100644 --- a/ATRI/plugins/manage/__init__.py +++ b/ATRI/plugins/manage/__init__.py @@ -4,4 +4,5 @@ from pathlib import Path _sub_plugins = set() -_sub_plugins |= nonebot.load_plugins(str((Path(__file__).parent / "modules").resolve())) +_sub_plugins |= nonebot.load_plugins( + str((Path(__file__).parent / 'modules').resolve())) diff --git a/ATRI/plugins/manage/modules/block.py b/ATRI/plugins/manage/modules/block.py index 0c2fcec..7b982d4 100644 --- a/ATRI/plugins/manage/modules/block.py +++ b/ATRI/plugins/manage/modules/block.py @@ -12,24 +12,36 @@ __doc__ = """ 封禁用户 QQ号 """ -block_user = sv.on_command(cmd="封禁用户", docs=__doc__, permission=SUPERUSER) - +block_user = sv.on_command( + cmd="封禁用户", + docs=__doc__, + permission=SUPERUSER +) @block_user.args_parser # type: ignore -async def _block_user_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _block_user_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - cancel = ["算了", "罢了"] + cancel = ['算了', '罢了'] if msg in cancel: - await block_user.finish("好吧...") + await block_user.finish('好吧...') if not msg: - await block_user.reject("是谁呢?!GKD!") + await block_user.reject('是谁呢?!GKD!') else: - state["noob"] = msg - + state['noob'] = msg @block_user.handle() async def _block_user(bot: Bot, event: MessageEvent, state: T_State) -> None: - noob = state["noob"] + msg = str(event.message).strip() + if msg: + state['noob'] = msg + +@block_user.got('noob', prompt='是谁呢?!GKD!') +async def _deal_block_user(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + noob = state['noob'] sv.BlockSystem.control_list(True, user=noob) msg = f"用户[{noob}]已被封禁(;′⌒`)" await block_user.finish(msg) @@ -42,24 +54,36 @@ __doc__ = """ 解封用户 QQ号 """ -unblock_user = sv.on_command(cmd="解封用户", docs=__doc__, permission=SUPERUSER) - +unblock_user = sv.on_command( + cmd="解封用户", + docs=__doc__, + permission=SUPERUSER +) @unblock_user.args_parser # type: ignore -async def _unblock_user_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _unblock_user_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - cancel = ["算了", "罢了"] + cancel = ['算了', '罢了'] if msg in cancel: - await unblock_user.finish("好吧...") + await unblock_user.finish('好吧...') if not msg: - await unblock_user.reject("要原谅谁呢...") + await unblock_user.reject('要原谅谁呢...') else: - state["forgive"] = msg - + state['forgive'] = msg @unblock_user.handle() async def _unblock_user(bot: Bot, event: MessageEvent, state: T_State) -> None: - forgive = state["forgive"] + msg = str(event.message).strip() + if msg: + state['forgive'] = msg + +@unblock_user.got('forgive', prompt='要原谅谁呢...') +async def _deal_unblock_user(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + forgive = state['forgive'] sv.BlockSystem.control_list(False, user=forgive) msg = f"用户[{forgive}]已被解封ヾ(´・ω・`)ノ" await unblock_user.finish(msg) @@ -72,24 +96,36 @@ __doc__ = """ 封禁群 群号 """ -block_group = sv.on_command(cmd="封禁群", docs=__doc__, permission=SUPERUSER) - +block_group = sv.on_command( + cmd="封禁群", + docs=__doc__, + permission=SUPERUSER +) @block_group.args_parser # type: ignore -async def _block_group_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _block_group_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - cancel = ["算了", "罢了"] + cancel = ['算了', '罢了'] if msg in cancel: - await block_user.finish("好吧...") + await block_user.finish('好吧...') if not msg: - await block_user.reject("是哪个群?!GKD!") + await block_user.reject('是哪个群?!GKD!') else: - state["noob_g"] = msg - + state['noob_g'] = msg @block_group.handle() async def _block_group(bot: Bot, event: MessageEvent, state: T_State) -> None: - noob_g = state["noob_g"] + msg = str(event.message).strip() + if msg: + state['noob_g'] = msg + +@block_group.got('noob_g', prompt='是哪个群?!GKD!') +async def _deal_block_group(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + noob_g = state['noob_g'] sv.BlockSystem.control_list(True, group=noob_g) msg = f"群[{noob_g}]已被封禁(;′⌒`)" await block_user.finish(msg) @@ -102,24 +138,38 @@ __doc__ = """ 解封 群号 """ -unblock_group = sv.on_command(cmd="解封群", docs=__doc__, permission=SUPERUSER) - +unblock_group = sv.on_command( + cmd="解封群", + docs=__doc__, + permission=SUPERUSER +) @unblock_group.args_parser # type: ignore -async def _unblock_group_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _unblock_group_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - cancel = ["算了", "罢了"] + cancel = ['算了', '罢了'] if msg in cancel: - await block_user.finish("好吧...") + await block_user.finish('好吧...') if not msg: - await block_user.reject("要原谅哪个群呢...") + await block_user.reject('要原谅哪个群呢...') else: - state["forgive_g"] = msg - + state['forgive_g'] = msg @unblock_group.handle() -async def _unblock_group(bot: Bot, event: MessageEvent, state: T_State) -> None: - forgive_g = state["forgive_g"] +async def _unblock_group(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + msg = str(event.message).strip() + if msg: + state['forgive_g'] = msg + +@unblock_group.got('forgive_g', prompt='要原谅哪个群呢...') +async def _deal_unblock_group(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + forgive_g = state['forgive_g'] sv.BlockSystem.control_list(False, group=forgive_g) msg = f"群[{forgive_g}]已被解封ヾ(´・ω・`)ノ" await unblock_user.finish(msg) diff --git a/ATRI/plugins/manage/modules/broadcast.py b/ATRI/plugins/manage/modules/broadcast.py index 7f7816d..5086fcf 100644 --- a/ATRI/plugins/manage/modules/broadcast.py +++ b/ATRI/plugins/manage/modules/broadcast.py @@ -15,46 +15,52 @@ __doc__ = """ 广播 内容 """ -broadcast = sv.on_command(cmd="广播", docs=__doc__, permission=SUPERUSER) - +broadcast = sv.on_command( + cmd="广播", + docs=__doc__, + permission=SUPERUSER +) @broadcast.args_parser # type: ignore -async def _broadcast_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _broadcast_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message) - quit_list = ["算了", "罢了", "取消"] + quit_list = ['算了', '罢了', '取消'] if msg in quit_list: - await broadcast.finish("好吧...") + await broadcast.finish('好吧...') if not msg: - await broadcast.reject("想群发啥呢0w0") + await broadcast.reject('想群发啥呢0w0') else: - state["msg"] = msg - + state['msg'] = msg @broadcast.handle() async def _broadcast(bot: Bot, event: MessageEvent, state: T_State) -> None: msg = str(event.message).strip() if msg: - state["msg"] = msg - - [email protected]("msg", prompt="请告诉咱需要群发的内容~!") -async def _deal_broadcast(bot: Bot, event: MessageEvent, state: T_State) -> None: - msg = state["msg"] + state['msg'] = msg + [email protected]('msg', prompt='请告诉咱需要群发的内容~!') +async def _deal_broadcast(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + msg = state['msg'] group_list = await bot.get_group_list() succ_list = [] err_list = [] - + for group in group_list: await asyncio.sleep(randint(0, 2)) try: - await bot.send_group_msg(group_id=group["group_id"], message=msg) + await bot.send_group_msg(group_id=group["group_id"], + message=msg) except BaseException: err_list.append(group["group_id"]) - + msg0 = "" for i in err_list: msg0 += f" {i}\n" - + repo_msg = ( f"推送消息:\n{msg}\n" "————————\n" diff --git a/ATRI/plugins/manage/modules/debug.py b/ATRI/plugins/manage/modules/debug.py index 7bd3992..259e791 100644 --- a/ATRI/plugins/manage/modules/debug.py +++ b/ATRI/plugins/manage/modules/debug.py @@ -11,7 +11,7 @@ from ATRI.utils.ub_paste import paste from ATRI.exceptions import load_error -level_list = ["info", "warning", "error", "debug"] +level_list = ['info', 'warning', 'error', 'debug'] __doc__ = """ @@ -25,47 +25,48 @@ __doc__ = """ get_console = sv.on_command( cmd="获取log", - aliases={"获取LOG", "获取控制台", "获取控制台信息"}, + aliases={'获取LOG', '获取控制台', '获取控制台信息'}, docs=__doc__, - permission=SUPERUSER, + permission=SUPERUSER ) - @get_console.handle() async def _get_console(bot: Bot, event: MessageEvent, state: T_State) -> None: - msg = str(event.message).strip() + msg = str(event.message).split(' ') if msg: - state["level"] = msg + state['level'] = msg[0] + try: + state['line'] = msg[1] + except Exception: + pass - -@get_console.got("level", prompt="需要获取的等级是?") +@get_console.got('level', prompt='需要获取的等级是?') async def _got(bot: Bot, event: MessageEvent, state: T_State) -> None: - quit_list = ["算了", "罢了", "不了"] - if state["level"] in quit_list: - await get_console.finish("好吧...") - + quit_list = ['算了', '罢了', '不了'] + if state['level'] in quit_list: + await get_console.finish('好吧...') -@get_console.got("line", prompt="需要获取的行数是?") +@get_console.got('line', prompt='需要获取的行数是?') async def _deal_get(bot: Bot, event: MessageEvent, state: T_State) -> None: - level = state["level"] - line = state["line"] + level = state['level'] + line = state['line'] repo = str() - + path = LOGGER_DIR / f"{level}" / f"{NOW_TIME}.log" - logs = await open_file(path, "readlines") - + logs = await open_file(path, 'readlines') + try: - content = logs[int(line) :] # type: ignore + content = logs[int(line):] # type: ignore repo = "\n".join(content).replace("[36mATRI[0m", "ATRI") except IndexError: - await get_console.finish(f"行数错误...max: {len(logs)}") # type: ignore - + await get_console.finish(f'行数错误...max: {len(logs)}') # type: ignore + data = FormData() - data.add_field("poster", "ATRI running log") - data.add_field("syntax", "text") - data.add_field("expiration", "day") - data.add_field("content", repo) - + data.add_field('poster', 'ATRI running log') + data.add_field('syntax', 'text') + data.add_field('expiration', 'day') + data.add_field('content', repo) + msg0 = f"> {event.sender.nickname}\n" msg0 = msg0 + f"详细请移步此处~\n{await paste(data)}" await track_error.finish(msg0) @@ -79,39 +80,41 @@ __doc__ = """ """ track_error = sv.on_command( - cmd="track", aliases={"追踪"}, docs=__doc__, permission=SUPERUSER + cmd="track", + aliases={'追踪'}, + docs=__doc__, + permission=SUPERUSER ) - @track_error.args_parser # type: ignore -async def _track_error_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _track_error_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - cancel = ["算了", "罢了"] + cancel = ['算了', '罢了'] if msg in cancel: - await track_error.finish("好吧...") + await track_error.finish('好吧...') if not msg: - await track_error.reject("欸?!要开始debug了吗,请提供追踪ID...Ծ‸Ծ") + await track_error.reject('欸?!要开始debug了吗,请提供追踪ID...Ծ‸Ծ') else: - state["track"] = msg - + state['track'] = msg @track_error.handle() async def _track_error(bot: Bot, event: MessageEvent, state: T_State) -> None: msg = str(event.message).strip() if msg: - state["track"] = msg - + state['track'] = msg -@track_error.got("track", prompt="欸?!要开始debug了吗,请提供追踪ID...Ծ‸Ծ") +@track_error.got('track', prompt='欸?!要开始debug了吗,请提供追踪ID...Ծ‸Ծ') async def _deal_track(bot: Bot, event: MessageEvent, state: T_State) -> None: - track_id = state["track"] + track_id = state['track'] data = dict() - + try: data = load_error(track_id) except BaseException: - await track_error.finish("未发现对应ID呢...(⇀‸↼‶)") - + await track_error.finish('未发现对应ID呢...(⇀‸↼‶)') + msg = ( f"ID: [{track_id}]\n" f"Time: [{data['time']}]\n" @@ -119,13 +122,13 @@ async def _deal_track(bot: Bot, event: MessageEvent, state: T_State) -> None: "——————\n" f"{data['content']}" ) - + data = FormData() - data.add_field("poster", track_id) - data.add_field("syntax", "text") - data.add_field("expiration", "day") - data.add_field("content", msg) - + data.add_field('poster', track_id) + data.add_field('syntax', 'text') + data.add_field('expiration', 'day') + data.add_field('content', msg) + msg0 = f"> {event.sender.nickname}\n" msg0 = msg0 + f"详细请移步此处~\n{await paste(data)}" await track_error.finish(msg0) diff --git a/ATRI/plugins/manage/modules/dormant.py b/ATRI/plugins/manage/modules/dormant.py index cd72d47..d5ae321 100644 --- a/ATRI/plugins/manage/modules/dormant.py +++ b/ATRI/plugins/manage/modules/dormant.py @@ -13,10 +13,12 @@ __doc__ = """ """ dormant_enabled = sv.on_command( - cmd="休眠", docs=__doc__, rule=to_bot(), permission=SUPERUSER + cmd='休眠', + docs=__doc__, + rule=to_bot(), + permission=SUPERUSER ) - @dormant_enabled.handle() async def _dormant_enabled(bot: Bot, event: MessageEvent) -> None: sv.Dormant.control_dormant(True) @@ -32,10 +34,12 @@ __doc__ = """ """ dormant_disabled = sv.on_command( - cmd="苏醒", docs=__doc__, rule=to_bot(), permission=SUPERUSER + cmd='苏醒', + docs=__doc__, + rule=to_bot(), + permission=SUPERUSER ) - @dormant_disabled.handle() async def _dormant_disabled(bot: Bot, event: MessageEvent) -> None: sv.Dormant.control_dormant(False) diff --git a/ATRI/plugins/manage/modules/request.py b/ATRI/plugins/manage/modules/request.py index 762e918..a09b721 100644 --- a/ATRI/plugins/manage/modules/request.py +++ b/ATRI/plugins/manage/modules/request.py @@ -9,7 +9,7 @@ from ATRI.service import Service as sv from ATRI.exceptions import ReadFileError, FormatError -ESSENTIAL_DIR = Path(".") / "ATRI" / "data" / "database" / "essential" +ESSENTIAL_DIR = Path('.') / 'ATRI' / 'data' / 'database' / 'essential' __doc__ = """ @@ -19,13 +19,16 @@ __doc__ = """ 查看申请列表 """ -req_list = sv.on_command(cmd="申请列表", docs=__doc__, permission=SUPERUSER) - +req_list = sv.on_command( + cmd="申请列表", + docs=__doc__, + permission=SUPERUSER +) @req_list.handle() async def _req_list(bot: Bot, event: MessageEvent) -> None: - path_f = ESSENTIAL_DIR / "request_friend.json" - path_g = ESSENTIAL_DIR / "request_group.json" + path_f = ESSENTIAL_DIR / 'request_friend.json' + path_g = ESSENTIAL_DIR / 'request_group.json' data_f, data_g = dict() try: data_f = json.loads(path_f.read_bytes()) @@ -35,7 +38,7 @@ async def _req_list(bot: Bot, event: MessageEvent) -> None: data_g = json.loads(path_g.read_bytes()) except ReadFileError: msg_g = "[读取文件失败]" - + msg_f = str() for i in data_f.keys(): msg_f += f"{i} | {data_f[i]['user_id']} | {data_f[i]['comment']}\n" @@ -43,65 +46,82 @@ async def _req_list(bot: Bot, event: MessageEvent) -> None: msg_g = str() for i in data_g.keys(): msg_g += f"{i} | {data_g[i]['sub_type']} | {data_g[i]['user_id']} | {data_g[i]['comment']}\n" - - msg = "好友/群申请列表如下:\n" "· 好友:\n" f"{msg_f}" "· 群:\n" f"{msg_g}" + + msg = ( + "好友/群申请列表如下:\n" + "· 好友:\n" + f"{msg_f}" + "· 群:\n" + f"{msg_g}" + ) await req_list.finish(msg) -req_deal = sv.on_regex(r"[同意|拒绝][好友|群]申请", permission=SUPERUSER) - +req_deal = sv.on_regex( + r'(同意|拒绝)(好友|群)申请', + permission=SUPERUSER +) @req_deal.handle() async def _req_deal(bot: Bot, event: MessageEvent) -> None: - msg = str(event.message).split(" ") - arg = re.findall(r"[同意|拒绝][好友|群]申请", msg[0]) + msg = str(event.message).split(' ') + arg = re.findall(r'(同意|拒绝)(好友|群)申请', msg[0])[0] app = arg[0] _type = arg[1] - + if not msg[1]: - await req_deal.finish(f"正确用法!速看\n{app}{_type}申请 (reqid)") - - path = ESSENTIAL_DIR / "request_group.json" - data_g = dict() - try: - data_g = json.loads(path.read_bytes()) - except FileExistsError: - await req_deal.finish("读取群数据失败,可能并没有请求...") - + await req_deal.finish(f'正确用法!速看\n{app}{_type}申请 (reqid)') + reqid = msg[1] if app == "同意": if _type == "好友": try: - await bot.set_friend_add_request(flag=reqid, approve=True) - await req_deal.finish("完成~!已同意申请") + await bot.set_friend_add_request(flag=reqid, + approve=True) + await req_deal.finish('完成~!已同意申请') except FormatError: - await req_deal.finish("请检查输入的值是否正确——!") + await req_deal.finish('请检查输入的值是否正确——!') elif _type == "群": + path = ESSENTIAL_DIR / "request_group.json" + data_g = dict() try: - await bot.set_group_add_request( - flag=reqid, sub_type=data_g[reqid]["sub_type"], approve=True - ) - await req_deal.finish("完成~!已同意申请") + data_g = json.loads(path.read_bytes()) + except FileExistsError: + await req_deal.finish("读取群数据失败,可能并没有请求...") + + try: + await bot.set_group_add_request(flag=reqid, + sub_type=data_g[reqid]['sub_type'], + approve=True) + await req_deal.finish('完成~!已同意申请') except FormatError: - await req_deal.finish("请检查输入的值是否正确——!") + await req_deal.finish('请检查输入的值是否正确——!') else: - await req_deal.finish("请检查输入的值是否正确——!") + await req_deal.finish('请检查输入的值是否正确——!') elif app == "拒绝": if _type == "好友": try: - await bot.set_friend_add_request(flag=reqid, approve=False) - await req_deal.finish("完成~!已拒绝申请") + await bot.set_friend_add_request(flag=reqid, + approve=False) + await req_deal.finish('完成~!已拒绝申请') except FormatError: - await req_deal.finish("请检查输入的值是否正确——!") + await req_deal.finish('请检查输入的值是否正确——!') elif _type == "群": + path = ESSENTIAL_DIR / "request_group.json" + data_g = dict() + try: + data_g = json.loads(path.read_bytes()) + except FileExistsError: + await req_deal.finish("读取群数据失败,可能并没有请求...") + try: - await bot.set_group_add_request( - flag=reqid, sub_type=data_g[reqid]["sub_type"], approve=False - ) - await req_deal.finish("完成~!已拒绝申请") + await bot.set_group_add_request(flag=reqid, + sub_type=data_g[reqid]['sub_type'], + approve=False) + await req_deal.finish('完成~!已拒绝申请') except FormatError: - await req_deal.finish("请检查输入的值是否正确——!") + await req_deal.finish('请检查输入的值是否正确——!') else: - await req_deal.finish("请检查输入的值是否正确——!") + await req_deal.finish('请检查输入的值是否正确——!') else: - await req_deal.finish("请检查输入的值是否正确——!") + await req_deal.finish('请检查输入的值是否正确——!') diff --git a/ATRI/plugins/manage/modules/service.py b/ATRI/plugins/manage/modules/service.py index a3624df..6489ad6 100644 --- a/ATRI/plugins/manage/modules/service.py +++ b/ATRI/plugins/manage/modules/service.py @@ -5,7 +5,7 @@ from nonebot.adapters.cqhttp import ( Bot, MessageEvent, GroupMessageEvent, - PrivateMessageEvent, + PrivateMessageEvent ) from ATRI.service import Service as sv @@ -21,40 +21,46 @@ __doc__ = """ """ cur_service_ena = sv.on_command( - cmd="启用功能", docs=__doc__, permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER + cmd="启用功能", + docs=__doc__, + permission=SUPERUSER|GROUP_ADMIN|GROUP_OWNER ) - @cur_service_ena.args_parser # type: ignore -async def _cur_ena_load(bot: Bot, event: GroupMessageEvent, state: T_State) -> None: +async def _cur_ena_load(bot: Bot, + event: GroupMessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - quit_list = ["算了", "罢了", "取消"] + quit_list = ['算了', '罢了', '取消'] if msg in quit_list: - await cur_service_ena.finish("好吧...") + await cur_service_ena.finish('好吧...') if not msg: - await cur_service_ena.reject("请告诉咱目标命令!") + await cur_service_ena.reject('请告诉咱目标命令!') else: - state["service_e"] = msg - + state['service_e'] = msg @cur_service_ena.handle() -async def _cur_ena(bot: Bot, event: GroupMessageEvent, state: T_State) -> None: +async def _cur_ena(bot: Bot, + event: GroupMessageEvent, + state: T_State) -> None: msg = str(event.message).strip() if msg: - state["service_e"] = msg + state['service_e'] = msg - -@cur_service_ena.got("service_e", prompt="请告诉咱目标命令!") -async def _deal_cur_ena(bot: Bot, event: GroupMessageEvent, state: T_State) -> None: - cmd = state["service_e"] +@cur_service_ena.got('service_e', prompt='请告诉咱目标命令!') +async def _deal_cur_ena(bot: Bot, + event: GroupMessageEvent, + state: T_State) -> None: + cmd = state['service_e'] group = str(event.group_id) sv.control_service(cmd, False, True, group=group) - await cur_service_ena.finish(f"成功!本群已启用:{cmd}") - + await cur_service_ena.finish(f'成功!本群已启用:{cmd}') @cur_service_ena.handle() -async def _refuse_cur_ena(bot: Bot, event: PrivateMessageEvent, state: T_State) -> None: - await cur_service_ena.finish("只能在群聊中决定哦...") +async def _refuse_cur_ena(bot: Bot, + event: PrivateMessageEvent, + state: T_State) -> None: + await cur_service_ena.finish('只能在群聊中决定哦...') __doc__ = """ @@ -67,40 +73,46 @@ __doc__ = """ """ cur_service_dis = sv.on_command( - cmd="禁用功能", docs=__doc__, permission=SUPERUSER | GROUP_ADMIN | GROUP_OWNER + cmd="禁用功能", + docs=__doc__, + permission=SUPERUSER|GROUP_ADMIN|GROUP_OWNER ) - @cur_service_dis.args_parser # type: ignore -async def _cur_dis_load(bot: Bot, event: GroupMessageEvent, state: T_State) -> None: +async def _cur_dis_load(bot: Bot, + event: GroupMessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - quit_list = ["算了", "罢了", "取消"] + quit_list = ['算了', '罢了', '取消'] if msg in quit_list: - await cur_service_dis.finish("好吧...") + await cur_service_dis.finish('好吧...') if not msg: - await cur_service_dis.reject("请告诉咱目标命令!") + await cur_service_dis.reject('请告诉咱目标命令!') else: - state["service_d"] = msg - + state['service_d'] = msg @cur_service_dis.handle() -async def _cur_dis(bot: Bot, event: GroupMessageEvent, state: T_State) -> None: +async def _cur_dis(bot: Bot, + event: GroupMessageEvent, + state: T_State) -> None: msg = str(event.message).strip() if msg: - state["service_d"] = msg + state['service_d'] = msg - -@cur_service_dis.got("service_d", prompt="请告诉咱目标命令!") -async def _deal_cur_dis(bot: Bot, event: GroupMessageEvent, state: T_State) -> None: - cmd = state["service_d"] +@cur_service_dis.got('service_d', prompt='请告诉咱目标命令!') +async def _deal_cur_dis(bot: Bot, + event: GroupMessageEvent, + state: T_State) -> None: + cmd = state['service_d'] group = str(event.group_id) sv.control_service(cmd, False, False, group=group) - await cur_service_dis.finish(f"成功!本群已禁用:{cmd}") - + await cur_service_dis.finish(f'成功!本群已禁用:{cmd}') @cur_service_dis.handle() -async def _refuse_cur_dis(bot: Bot, event: PrivateMessageEvent, state: T_State) -> None: - await cur_service_dis.finish("只能在群聊中决定哦...") +async def _refuse_cur_dis(bot: Bot, + event: PrivateMessageEvent, + state: T_State) -> None: + await cur_service_dis.finish('只能在群聊中决定哦...') __doc__ = """ @@ -112,33 +124,40 @@ __doc__ = """ 全局启用 以图搜图 """ -glo_service_ena = sv.on_command(cmd="全局启用", docs=__doc__, permission=SUPERUSER) - +glo_service_ena = sv.on_command( + cmd="全局启用", + docs=__doc__, + permission=SUPERUSER +) @glo_service_ena.args_parser # type: ignore -async def _glo_ena_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _glo_ena_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - quit_list = ["算了", "罢了", "取消"] + quit_list = ['算了', '罢了', '取消'] if msg in quit_list: - await glo_service_ena.finish("好吧...") + await glo_service_ena.finish('好吧...') if not msg: - await glo_service_ena.reject("请告诉咱目标命令!") + await glo_service_ena.reject('请告诉咱目标命令!') else: - state["service_e_g"] = msg - + state['service_e_g'] = msg @glo_service_ena.handle() -async def _glo_ena(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _glo_ena(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() if msg: - state["service_e_g"] = msg - + state['service_e_g'] = msg -@glo_service_ena.got("service_e_g", prompt="请告诉咱目标命令!") -async def _deal_glo_ena(bot: Bot, event: MessageEvent, state: T_State) -> None: - cmd = state["service_e_g"] +@glo_service_ena.got('service_e_g', prompt='请告诉咱目标命令!') +async def _deal_glo_ena(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + cmd = state['service_e_g'] sv.control_service(cmd, True, True) - await glo_service_ena.finish(f"成功!已全局启用:{cmd}") + await glo_service_ena.finish(f'成功!已全局启用:{cmd}') __doc__ = """ @@ -150,30 +169,37 @@ __doc__ = """ 全局禁用 以图搜图 """ -glo_service_dis = sv.on_command(cmd="全局禁用", docs=__doc__, permission=SUPERUSER) - +glo_service_dis = sv.on_command( + cmd="全局禁用", + docs=__doc__, + permission=SUPERUSER +) @glo_service_dis.args_parser # type: ignore -async def _glo_dis_load(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _glo_dis_load(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() - quit_list = ["算了", "罢了", "取消"] + quit_list = ['算了', '罢了', '取消'] if msg in quit_list: - await glo_service_dis.finish("好吧...") + await glo_service_dis.finish('好吧...') if not msg: - await glo_service_dis.reject("请告诉咱目标命令!") + await glo_service_dis.reject('请告诉咱目标命令!') else: - state["service_d_g"] = msg - + state['service_d_g'] = msg @glo_service_dis.handle() -async def _glo_dis(bot: Bot, event: MessageEvent, state: T_State) -> None: +async def _glo_dis(bot: Bot, + event: MessageEvent, + state: T_State) -> None: msg = str(event.message).strip() if msg: - state["service_d_g"] = msg - + state['service_d_g'] = msg -@glo_service_dis.got("service_d_g", prompt="请告诉咱目标命令!") -async def _deal_glo_dis(bot: Bot, event: MessageEvent, state: T_State) -> None: - cmd = state["service_d_g"] +@glo_service_dis.got('service_d_g', prompt='请告诉咱目标命令!') +async def _deal_glo_dis(bot: Bot, + event: MessageEvent, + state: T_State) -> None: + cmd = state['service_d_g'] sv.control_service(cmd, True, False) - await glo_service_dis.finish(f"成功!已全局禁用:{cmd}") + await glo_service_dis.finish(f'成功!已全局禁用:{cmd}') diff --git a/ATRI/plugins/manage/modules/shutdown.py b/ATRI/plugins/manage/modules/shutdown.py index 78f23e8..11b2b1b 100644 --- a/ATRI/plugins/manage/modules/shutdown.py +++ b/ATRI/plugins/manage/modules/shutdown.py @@ -12,8 +12,11 @@ __doc__ = """ @ 关机 """ -shutdown = sv.on_command(cmd="关机", docs=__doc__, permission=SUPERUSER) - +shutdown = sv.on_command( + cmd="关机", + docs=__doc__, + permission=SUPERUSER +) @shutdown.handle() async def _shutdown(bot: Bot, event: MessageEvent, state: T_State) -> None: @@ -21,10 +24,9 @@ async def _shutdown(bot: Bot, event: MessageEvent, state: T_State) -> None: if msg: state["msg"] = msg - @shutdown.got("msg", prompt="[WARNING]此项操作将强行终止bot运行,是否继续(y/n)") async def __shutdown(bot: Bot, event: MessageEvent, state: T_State) -> None: - t = ["y", "Y", "是"] + t = ['y', 'Y', '是'] if state["msg"] in t: await bot.send(event, "咱还会醒来的,一定") exit(0) |