diff options
author | Kyomotoi <[email protected]> | 2022-02-03 23:31:34 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2022-02-03 23:31:34 +0800 |
commit | 405dfa5a4168f439460cca9322b56919e545bd84 (patch) | |
tree | 7c65478f7866e8e347e1baca9fa3fc6a127c4927 /ATRI/plugins/code_runner | |
parent | 79280a401fa0461868d06909643aa9aad2733b2d (diff) | |
download | ATRI-405dfa5a4168f439460cca9322b56919e545bd84.tar.gz ATRI-405dfa5a4168f439460cca9322b56919e545bd84.tar.bz2 ATRI-405dfa5a4168f439460cca9322b56919e545bd84.zip |
🚑️ 修复信息处理错误
Diffstat (limited to 'ATRI/plugins/code_runner')
-rw-r--r-- | ATRI/plugins/code_runner/__init__.py | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/ATRI/plugins/code_runner/__init__.py b/ATRI/plugins/code_runner/__init__.py index 334c09a..90d4942 100644 --- a/ATRI/plugins/code_runner/__init__.py +++ b/ATRI/plugins/code_runner/__init__.py @@ -1,5 +1,7 @@ from random import choice +from nonebot.matcher import Matcher +from nonebot.params import CommandArg, ArgPlainText from nonebot.adapters.onebot.v11 import MessageEvent, Message, MessageSegment, unescape from ATRI.utils.limit import FreqLimiter @@ -14,22 +16,32 @@ code_runner = CodeRunner().on_command("/code", "在线运行一段代码,帮� @code_runner.handle() -async def _code_runner(event: MessageEvent): +async def _code_runner(matcher: Matcher, event: MessageEvent, args: Message = CommandArg()): user_id = event.get_user_id() if not _flmt.check(user_id): await code_runner.finish(_flmt_notice) + + msg = args.extract_plain_text() + print(msg, args, type(msg), type(args)) + if msg: + matcher.set_arg("opt", args) + else: + content = f"> {MessageSegment.at(user_id)}\n" + "请键入 /code help 以获取帮助~!" + await code_runner.finish(Message(content)) - msg = str(event.get_message()) - args = msg.split("\n") - if not args[0]: +@code_runner.got("opt") +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 args[0] == "help": - content = f"> {MessageSegment.at(user_id)}\n" + CodeRunner().help() - elif args[0] == "list": + 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(msg)) + content = MessageSegment.at(user_id) + await CodeRunner().runner(unescape(opt)) _flmt.start_cd(user_id) await code_runner.finish(Message(content)) |