diff options
Diffstat (limited to 'ATRI/plugins')
| -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) +@menu.handle() +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) +@about.handle() +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, | 
