diff options
Diffstat (limited to 'ATRI/plugins/code_runner')
| -rw-r--r-- | ATRI/plugins/code_runner/__init__.py | 38 | ||||
| -rw-r--r-- | ATRI/plugins/code_runner/data_source.py | 8 | 
2 files changed, 27 insertions, 19 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: | 
