模块管理优化

This commit is contained in:
liuwei
2025-03-20 10:53:34 +08:00
parent a5a596d10b
commit a71d1d40f5

View File

@@ -178,19 +178,19 @@ class PluginManagerPlugin(MessagePluginInterface):
target = roomid if roomid else sender target = roomid if roomid else sender
# 查找匹配的插件名称 # 查找匹配的插件名称
actual_plugin_name = self.plugin_manager.find_plugin_by_name(plugin_name) display_name, plugin = self.plugin_manager.find_plugin_by_name(plugin_name)
if not actual_plugin_name: if not display_name:
wcf.send_text(f"❌未找到插件 {plugin_name},请检查名称是否正确", target, sender) wcf.send_text(f"❌未找到插件 {plugin_name},请检查名称是否正确", target, sender)
return True, f"未找到插件 {plugin_name}" return True, f"未找到插件 {plugin_name}"
# 不允许操作自身(对于某些操作) # 不允许操作自身(对于某些操作)
if actual_plugin_name == self.name and operation_func in [self._unload_plugin, self._disable_plugin]: if display_name == self.name and operation_func in [self._unload_plugin, self._disable_plugin]:
wcf.send_text(f"⚠️不能对插件管理插件自身执行此操作", target, sender) wcf.send_text(f"⚠️不能对插件管理插件自身执行此操作", target, sender)
return True, "不能对插件管理插件自身执行此操作" return True, "不能对插件管理插件自身执行此操作"
# 执行具体操作 # 执行具体操作
return operation_func(actual_plugin_name, wcf, sender, roomid) return operation_func(display_name, wcf, sender, roomid)
def _enable_plugin(self, plugin_name: str, wcf, sender: str, roomid: str) -> Tuple[bool, str]: def _enable_plugin(self, plugin_name: str, wcf, sender: str, roomid: str) -> Tuple[bool, str]:
"""启用插件""" """启用插件"""
@@ -328,18 +328,18 @@ class PluginManagerPlugin(MessagePluginInterface):
def _plugin_info(self, plugin_name: str, wcf, sender: str, roomid: str) -> Tuple[bool, str]: def _plugin_info(self, plugin_name: str, wcf, sender: str, roomid: str) -> Tuple[bool, str]:
"""查看插件详情""" """查看插件详情"""
# 查找匹配的插件名称 # 查找匹配的插件名称
actual_plugin_name = self.plugin_manager.find_plugin_by_name(plugin_name) display_name, plugin = self.plugin_manager.find_plugin_by_name(plugin_name)
if not actual_plugin_name: if not display_name:
wcf.send_text(f"❌未找到插件 {plugin_name},请检查名称是否正确", wcf.send_text(f"❌未找到插件 {plugin_name},请检查名称是否正确",
(roomid if roomid else sender), sender) (roomid if roomid else sender), sender)
return True, f"未找到插件 {plugin_name}" return True, f"未找到插件 {plugin_name}"
plugin = self.plugin_registry.get_plugin(actual_plugin_name) plugin = self.plugin_registry.get_plugin(display_name)
if not plugin: if not plugin:
wcf.send_text(f"❌插件 {actual_plugin_name} 不存在", wcf.send_text(f"❌插件 {display_name} 不存在",
(roomid if roomid else sender), sender) (roomid if roomid else sender), sender)
return True, f"插件 {actual_plugin_name} 不存在" return True, f"插件 {display_name} 不存在"
# 获取插件模块名 # 获取插件模块名
module_name = plugin.__class__.__module__.split('.')[-2] module_name = plugin.__class__.__module__.split('.')[-2]