From 10756175b733c6a8494e2c925a8e669a9cdcc0e3 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Sat, 1 Mar 2025 10:43:20 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E7=BE=A4=E8=81=8A=E8=AE=B0=E5=BF=86?= =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E5=8F=AA=E5=A4=84=E7=90=86=20image=20?= =?UTF-8?q?=E5=92=8C=20plain?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/astrbot/main.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/astrbot/main.py b/packages/astrbot/main.py index fd68a481d..b7aa034bf 100644 --- a/packages/astrbot/main.py +++ b/packages/astrbot/main.py @@ -17,6 +17,7 @@ from astrbot.core.star.filter.permission import PermissionTypeFilter from astrbot.core.config.default import VERSION from .long_term_memory import LongTermMemory from astrbot.core import logger +from astrbot.api.message_components import Plain, Image from typing import Union @@ -796,7 +797,14 @@ UID: {user_id} 此 ID 可用于设置管理员。/op 授权管理员, /deo @filter.platform_adapter_type(filter.PlatformAdapterType.ALL) async def on_message(self, event: AstrMessageEvent): '''群聊记忆增强''' - if self.ltm: + + has_image_or_plain = False + for comp in event.message_obj.message: + if isinstance(comp, Plain) or isinstance(comp, Image): + has_image_or_plain = True + break + + if self.ltm and has_image_or_plain: need_active = await self.ltm.need_active_reply(event) group_icl_enable = self.context.get_config()['provider_ltm_settings']['group_icl_enable']