From 55f114061ccb19b5a94b7ccf103636c46d31290e Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Sun, 2 Nov 2025 10:49:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor(permission):=20=E5=B0=86=E6=9D=83?= =?UTF-8?q?=E9=99=90=E8=8A=82=E7=82=B9=E5=AE=9A=E4=B9=89=E4=BB=8E=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E7=B1=BB=E7=A7=BB=E8=87=B3=E6=8F=92=E4=BB=B6=E4=B8=BB?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 `permission_nodes` 的定义从 `PermissionCommand` 类移动到 `PermissionManagerPlugin` 类。 这样的结构更加合理,因为权限节点是插件级别的概念,而非特定于某个命令。此更改提高了代码的可读性和可维护性,将插件的核心定义集中在一起。 --- .../built_in/permission_management/plugin.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/plugins/built_in/permission_management/plugin.py b/src/plugins/built_in/permission_management/plugin.py index 8633ff88a..be094a12a 100644 --- a/src/plugins/built_in/permission_management/plugin.py +++ b/src/plugins/built_in/permission_management/plugin.py @@ -38,17 +38,6 @@ class PermissionCommand(PlusCommand): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - permission_nodes: ClassVar[list[PermissionNodeField]] = [ - PermissionNodeField( - node_name="manage", - description="权限管理:可以授权和撤销其他用户的权限", - ), - PermissionNodeField( - node_name="view", - description="权限查看:可以查看权限节点和用户权限信息", - ), - ] - async def execute(self, args: CommandArgs) -> tuple[bool, str | None, bool]: """执行权限管理命令""" if args.is_empty: @@ -57,7 +46,7 @@ class PermissionCommand(PlusCommand): subcommand = args.get_first.lower() remaining_args = args.get_args()[1:] # 获取除第一个参数外的所有参数 - chat_stream = self.message.chat_stream + chat_stream = self.message.chat_info.stream_id if subcommand in ["grant", "授权", "give"]: await self._grant_permission(chat_stream, remaining_args) @@ -396,3 +385,14 @@ class PermissionManagerPlugin(BasePlugin): def get_plugin_components(self) -> list[tuple[PlusCommandInfo, type[PlusCommand]]]: """返回插件的PlusCommand组件""" return [(PermissionCommand.get_plus_command_info(), PermissionCommand)] + + permission_nodes: ClassVar[list[PermissionNodeField]] = [ + PermissionNodeField( + node_name="manage", + description="权限管理:可以授权和撤销其他用户的权限", + ), + PermissionNodeField( + node_name="view", + description="权限查看:可以查看权限节点和用户权限信息", + ), + ] \ No newline at end of file