summaryrefslogtreecommitdiff
path: root/ATRI
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-03-27 15:27:34 +0800
committerKyomotoi <[email protected]>2022-03-27 15:45:36 +0800
commit66100f025f6705d68cf40549b5c2057d8426871f (patch)
tree49ee10aa6f470ab6fb447d61df8316ac36b59b0e /ATRI
parent8474e13ebb99f1115cf48041e39528327288c9d0 (diff)
downloadATRI-66100f025f6705d68cf40549b5c2057d8426871f.tar.gz
ATRI-66100f025f6705d68cf40549b5c2057d8426871f.tar.bz2
ATRI-66100f025f6705d68cf40549b5c2057d8426871f.zip
🚸🚨 优化用户体验 & 安抚 pylance
Diffstat (limited to 'ATRI')
-rw-r--r--ATRI/plugins/code_runner/__init__.py38
-rw-r--r--ATRI/plugins/code_runner/data_source.py8
-rw-r--r--ATRI/plugins/help/__init__.py27
-rw-r--r--ATRI/plugins/help/data_source.py4
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,