fix(command_manager): 修复插件卸载时元信息移除不精确的问题

修复 CommandManager 中 unload_plugin 方法移除插件元信息时使用 startswith 导致可能误删其他插件的问题,改为精确匹配
同时调整相关测试用例验证精确匹配行为
This commit is contained in:
2026-01-09 04:37:49 +08:00
parent 3235e7bae8
commit cbea484f38
5 changed files with 75 additions and 9 deletions

View File

@@ -18,11 +18,11 @@ __plugin_meta__ = {
@command_manager.command("admin", permission=Permission.ADMIN)
async def admin_management(event: MessageEvent, args: str):
async def admin_management(event: MessageEvent, args: list[str]):
"""
处理所有权限管理相关的命令。
"""
parts = args.split()
parts = args
if not parts:
await event.reply(f"用法不正确。\n\n{__plugin_meta__['usage']}")
return
@@ -73,7 +73,7 @@ async def list_permissions(event: MessageEvent):
"""
列出所有具有特殊权限(管理员和操作员)的用户。
"""
permissions = permission_manager.get_all_user_permissions()
permissions = await permission_manager.get_all_user_permissions()
if not permissions:
await event.reply("当前没有配置任何特殊权限的用户。")
return