From 2b6ad8493b41826d8b2bcb13a447c711e4a1a4f3 Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Sun, 2 Nov 2025 12:46:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(system):=20=E4=B8=BA=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=BD=E4=BB=A4=E6=B7=BB=E5=8A=A0=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为 `system` 命令添加了 `system.access` 权限节点,并为 `execute` 方法增加了权限检查。现在只有拥有 `system.access` 权限的用户才能执行系统管理相关操作,提升了机器人的安全性。 --- src/plugins/built_in/system_management/plugin.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/built_in/system_management/plugin.py b/src/plugins/built_in/system_management/plugin.py index 20d79551b..1431921f4 100644 --- a/src/plugins/built_in/system_management/plugin.py +++ b/src/plugins/built_in/system_management/plugin.py @@ -41,6 +41,7 @@ class SystemCommand(PlusCommand): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) + @require_permission("system.access", "❌ 你没有权限使用此命令") async def execute(self, args: CommandArgs) -> tuple[bool, str | None, bool]: """执行系统管理命令""" if args.is_empty: @@ -508,6 +509,10 @@ class SystemManagementPlugin(BasePlugin): return [(SystemCommand.get_plus_command_info(), SystemCommand)] permission_nodes: ClassVar[list[PermissionNodeField]] = [ + PermissionNodeField( + node_name="system.access", + description="权限管理:授权和撤销权限", + ), PermissionNodeField( node_name="permission.manage", description="权限管理:授权和撤销权限",