diff options
-rw-r--r-- | ATRI/plugins/code_runner/__init__.py | 38 | ||||
-rw-r--r-- | ATRI/plugins/code_runner/data_source.py | 8 | ||||
-rw-r--r-- | ATRI/plugins/help/__init__.py | 27 | ||||
-rw-r--r-- | ATRI/plugins/help/data_source.py | 4 |
4 files changed, 41 insertions, 36 deletions
diff --git a/ATRI/plugins/code_runner/__init__.py b/ATRI/plugins/code_runner/__init__.py index adf6407..77240ec 100644 --- a/ATRI/plugins/code_runner/__init__.py +++ b/ATRI/plugins/code_runner/__init__.py @@ -11,33 +11,43 @@ from .data_source import CodeRunner _flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"]) -code_runner = CodeRunner().on_command("/code", "在线运行一段代码,帮助:/code help") +code_runner = CodeRunner().on_command("/code", "在线运行一段代码,获取帮助:/code.help") @code_runner.handle([Cooldown(5, prompt=_flmt_notice)]) -async def _code_runner( - matcher: Matcher, event: MessageEvent, args: Message = CommandArg() -): - user_id = event.get_user_id() +async def _code_runner(matcher: Matcher, args: Message = CommandArg()): msg = args.extract_plain_text() if msg: matcher.set_arg("opt", args) else: - content = f"> {MessageSegment.at(user_id)}\n" + "请键入 /code help 以获取帮助~!" + content = "请键入 /code.help 以获取帮助~!" await code_runner.finish(Message(content)) -@code_runner.got("opt") +@code_runner.got("opt", prompt="需要运行的语言及代码?\n获取帮助:/code.help") async def _(event: MessageEvent, opt: str = ArgPlainText("opt")): user_id = event.get_user_id() - msg = opt.split("\n") - if msg[0] == "help": - content = f"> {MessageSegment.at(user_id)}\n" + "请键入 /code help 以获取帮助~!" - elif msg[0] == "list": - content = f"> {MessageSegment.at(user_id)}\n" + CodeRunner().list_supp_lang() - else: - content = MessageSegment.at(user_id) + await CodeRunner().runner(unescape(opt)) + # 拯救傻瓜用户 + if opt == "/code.help": + await code_runner.finish(CodeRunner().help()) + content = MessageSegment.at(user_id) + str(await CodeRunner().runner(unescape(opt))) await code_runner.finish(Message(content)) + + +code_runner_helper = CodeRunner().cmd_as_group("help", "使用说明") + + +@code_runner_helper.handle() +async def _(): + await code_runner_helper.finish(CodeRunner().help()) + + +code_supp_list = CodeRunner().cmd_as_group("list", "查看支持的语言") + + +@code_supp_list.handle() +async def _(): + await code_supp_list.finish(CodeRunner().list_supp_lang()) diff --git a/ATRI/plugins/code_runner/data_source.py b/ATRI/plugins/code_runner/data_source.py index bf3d8b2..87ae792 100644 --- a/ATRI/plugins/code_runner/data_source.py +++ b/ATRI/plugins/code_runner/data_source.py @@ -34,13 +34,11 @@ SUPPORTED_LANGUAGES = { } -__doc__ = """在线跑代码 -""" - - class CodeRunner(Service): def __init__(self): - Service.__init__(self, "在线跑代码", __doc__, rule=is_in_service("在线跑代码")) + Service.__init__( + self, "在线跑代码", "在线跑代码", rule=is_in_service("在线跑代码"), main_cmd="/code" + ) @staticmethod def help() -> str: diff --git a/ATRI/plugins/help/__init__.py b/ATRI/plugins/help/__init__.py index d4b8b36..c6f915e 100644 --- a/ATRI/plugins/help/__init__.py +++ b/ATRI/plugins/help/__init__.py @@ -3,34 +3,31 @@ from nonebot.adapters.onebot.v11 import MessageEvent from .data_source import Helper -main_help = Helper().on_command("菜单", "获取食用bot的方法", aliases={"menu"}) +menu = Helper().on_command("菜单", "获取食用bot的方法", aliases={"menu"}) -@main_help.handle() -async def _main_help(): - repo = Helper().menu() - await main_help.finish(repo) +async def _(): + await menu.finish(Helper().menu()) -about_me = Helper().on_command("关于", "获取关于bot的信息", aliases={"about"}) +about = Helper().on_command("关于", "获取关于bot的信息", aliases={"about"}) -@about_me.handle() -async def _about_me(): - repo = Helper().about() - await about_me.finish(repo) +async def _(): + await about.finish(Helper().about()) -service_list = Helper().on_command("服务列表", "查看所有可用服务", aliases={"功能列表"}) +service_list = Helper().on_command("服务列表", "获取服务列表", aliases={"功能列表"}) @service_list.handle() -async def _service_list(): - repo = Helper().service_list() - await service_list.finish(repo) +async def _(): + await service_list.finish(Helper().service_list()) -service_info = Helper().on_command("帮助", "获取服务详细帮助", aliases={"help"}) +service_info = Helper().on_command("帮助", "获取对应服务详细信息", aliases={"help"}) @service_info.handle() diff --git a/ATRI/plugins/help/data_source.py b/ATRI/plugins/help/data_source.py index f96d59e..e3dd1ff 100644 --- a/ATRI/plugins/help/data_source.py +++ b/ATRI/plugins/help/data_source.py @@ -72,7 +72,7 @@ class Helper(Service): ) table = tabulate( services, - headers=["服务名称", "开启状态", "仅支持管理员"], + headers=["服务名称", "开启状态(全局)", "仅支持管理员"], tablefmt="plain", showindex=True, ) @@ -91,7 +91,7 @@ class Helper(Service): service_enabled = data.get("enabled", True) _service_cmd_list = list(data.get("cmd_list", {"error"})) - service_cmd_list = "、".join(map(str, _service_cmd_list)) + service_cmd_list = "\n".join(map(str, _service_cmd_list)) repo = SERVICE_INFO_FORMAT.format( service=service_name, |