🐛 fix: 修复更新插件后插件重载不完全的问题

This commit is contained in:
Soulter
2025-03-11 14:20:06 +08:00
parent ad189933c6
commit 1b69d99c06
+7 -2
View File
@@ -187,6 +187,8 @@ class PluginManager:
f"插件 {smd.name} 未被正常终止: {str(e)}, 可能会导致该插件运行不正常。"
)
await self._unbind_plugin(smd.name, smd.module_path)
star_handlers_registry.clear()
star_map.clear()
star_registry.clear()
@@ -493,7 +495,10 @@ class PluginManager:
for k in keys_to_delete:
v = star_handlers_registry.star_handlers_map[k]
logger.debug(f"unbind handler {v.handler_name} from {plugin_name} (map)")
del star_handlers_registry.star_handlers_map[k]
try:
del star_handlers_registry.star_handlers_map[k]
except KeyError:
pass
try:
del sys.modules[plugin_module_path]
@@ -509,7 +514,7 @@ class PluginManager:
raise Exception("该插件是 AstrBot 保留插件,无法更新。")
await self.updator.update(plugin, proxy=proxy)
await self.reload()
await self.reload(plugin_name)
async def turn_off_plugin(self, plugin_name: str):
"""