diff --git a/astrbot/core/pipeline/scheduler.py b/astrbot/core/pipeline/scheduler.py index ffb9c5c99c..4af41eef2b 100644 --- a/astrbot/core/pipeline/scheduler.py +++ b/astrbot/core/pipeline/scheduler.py @@ -86,8 +86,10 @@ async def execute(self, event: AstrMessageEvent) -> None: try: await self._process_stages(event) - # 如果没有发送操作, 则发送一个空消息, 以便于后续的处理 - if isinstance(event, WebChatMessageEvent | WecomAIBotMessageEvent): + # 发送一个空消息, 以便于后续的处理 + if ( + isinstance(event, WebChatMessageEvent | WecomAIBotMessageEvent) + ): await event.send(None) logger.debug("pipeline 执行完毕。") diff --git a/astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py b/astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py index b7cf189e1d..9f0c569d1b 100644 --- a/astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py +++ b/astrbot/core/platform/sources/wecom_ai_bot/wecomai_event.py @@ -135,6 +135,8 @@ def _extract_plain_text_from_chain(message_chain: MessageChain | None) -> str: async def send(self, message: MessageChain | None) -> None: """发送消息""" + if message is None: + return raw = self.message_obj.raw_message assert isinstance(raw, dict), ( "wecom_ai_bot platform event raw_message should be a dict"