From d5a53a89eb5e0fc8ca077ea1a6ce42bc778610c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E4=BB=AC=E7=9A=84=E9=A5=BA=E5=AD=90?= <64739528+MCjiaozi@users.noreply.github.com> Date: Tue, 12 Aug 2025 21:41:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=20terminate=20=E6=97=A0=E6=B3=95=E8=A2=AB=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E8=B0=83=E7=94=A8=E7=9A=84=E9=97=AE=E9=A2=98=20(#2352?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/star/star_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/astrbot/core/star/star_manager.py b/astrbot/core/star/star_manager.py index b64b4aa85..ab98b254e 100644 --- a/astrbot/core/star/star_manager.py +++ b/astrbot/core/star/star_manager.py @@ -809,11 +809,11 @@ class PluginManager: if star_metadata.star_cls is None: return - if hasattr(star_metadata.star_cls, "__del__"): + if '__del__' in star_metadata.star_cls_type.__dict__: asyncio.get_event_loop().run_in_executor( None, star_metadata.star_cls.__del__ ) - elif hasattr(star_metadata.star_cls, "terminate"): + elif 'terminate' in star_metadata.star_cls_type.__dict__: await star_metadata.star_cls.terminate() async def turn_on_plugin(self, plugin_name: str):