模块管理优化

This commit is contained in:
liuwei
2025-03-20 10:11:37 +08:00
parent 331f347d4e
commit 4687382d3f

View File

@@ -305,19 +305,22 @@ class PluginManagerPlugin(MessagePluginInterface):
(roomid if roomid else sender), sender)
return True, f"插件 {actual_plugin_name} 不存在"
# 获取插件的模块名,这才是插件管理器需要的名称
module_name = plugin.__class__.__module__.split('.')[-2]
# 记录插件状态,以便重新加载后恢复
was_running = plugin.status == PluginStatus.RUNNING
# 先卸载插件 - 这里使用actual_plugin_name而不是plugin_name
self.LOG.info(f"正在卸载插件 {actual_plugin_name} 以进行重载")
if not self.plugin_manager.unload_plugin(actual_plugin_name):
# 先卸载插件 - 使用模块名而不是显示名称
self.LOG.info(f"正在卸载插件 {actual_plugin_name}(模块名:{module_name}) 以进行重载")
if not self.plugin_manager.unload_plugin(module_name):
wcf.send_text(f"❌插件 {actual_plugin_name} 卸载失败,无法重载",
(roomid if roomid else sender), sender)
return False, f"插件 {actual_plugin_name} 卸载失败,无法重载"
# 然后加载插件 - 这里使用actual_plugin_name而不是plugin_name
self.LOG.info(f"正在加载插件 {actual_plugin_name}")
plugin = self.plugin_manager.load_plugin(actual_plugin_name)
# 然后加载插件 - 使用模块名而不是显示名称
self.LOG.info(f"正在加载插件 {module_name}")
plugin = self.plugin_manager.load_plugin(module_name)
if not plugin:
wcf.send_text(f"❌插件 {actual_plugin_name} 加载失败",
(roomid if roomid else sender), sender)
@@ -360,8 +363,9 @@ class PluginManagerPlugin(MessagePluginInterface):
(roomid if roomid else sender), sender)
return True, f"插件 {actual_plugin_name} 不存在或已卸载"
# 使用插件管理器卸载插件
success = self.plugin_manager.unload_plugin(actual_plugin_name)
# 使用插件管理器卸载插件 - 使用模块名而不是显示名称
self.LOG.info(f"正在卸载插件 {actual_plugin_name}(模块名:{module_name})")
success = self.plugin_manager.unload_plugin(module_name)
if success:
if not silent:
wcf.send_text(f"✅插件 {actual_plugin_name} 卸载成功",