模块管理优化
This commit is contained in:
@@ -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} 卸载成功",
|
||||
|
||||
Reference in New Issue
Block a user