From 1b69d99c068596c2f751dacc8f867e18d2f45a73 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Tue, 11 Mar 2025 14:20:06 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8F=92=E4=BB=B6=E5=90=8E=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E9=87=8D=E8=BD=BD=E4=B8=8D=E5=AE=8C=E5=85=A8=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/star/star_manager.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/astrbot/core/star/star_manager.py b/astrbot/core/star/star_manager.py index bdf2c2473..4a7938605 100644 --- a/astrbot/core/star/star_manager.py +++ b/astrbot/core/star/star_manager.py @@ -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): """