From b93f30b809d0404ad40a67c8d611e7ea11a1fcce Mon Sep 17 00:00:00 2001
From: Soulter <37870767+Soulter@users.noreply.github.com>
Date: Sat, 14 Jun 2025 02:09:06 +0800
Subject: [PATCH 1/2] docs: update readme
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 08252881b..07237bfa4 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
+
+
-
From f93f04a5362ab51367180c19c05016c2844122bb Mon Sep 17 00:00:00 2001
From: Zhalslar
Date: Sat, 14 Jun 2025 15:01:18 +0800
Subject: [PATCH 2/2] =?UTF-8?q?feat:=E6=94=AF=E6=8C=81=E9=80=9A=E8=BF=87?=
=?UTF-8?q?=E5=BC=95=E7=94=A8bot=E6=B6=88=E6=81=AF=E6=9D=A5=E5=94=A4?=
=?UTF-8?q?=E9=86=92bot?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Update dingtalk_event.py
Update stage.py
---
astrbot/core/pipeline/waking_check/stage.py | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/astrbot/core/pipeline/waking_check/stage.py b/astrbot/core/pipeline/waking_check/stage.py
index 6fb3378ca..5c5163938 100644
--- a/astrbot/core/pipeline/waking_check/stage.py
+++ b/astrbot/core/pipeline/waking_check/stage.py
@@ -4,7 +4,7 @@ from astrbot import logger
from typing import Union, AsyncGenerator
from astrbot.core.platform.astr_message_event import AstrMessageEvent
from astrbot.core.message.message_event_result import MessageEventResult, MessageChain
-from astrbot.core.message.components import At, AtAll
+from astrbot.core.message.components import At, AtAll, Reply
from astrbot.core.star.star_handler import star_handlers_registry, EventType
from astrbot.core.star.star import star_map
from astrbot.core.star.filter.permission import PermissionTypeFilter
@@ -80,11 +80,19 @@ class WakingCheckStage(Stage):
event.message_str = event.message_str[len(wake_prefix) :].strip()
break
if not is_wake:
- # 检查是否有 at 消息
+ # 检查是否有at消息 / at全体成员消息 / 引用了bot的消息
for message in messages:
- if (isinstance(message, At) and (
- str(message.qq) == str(event.get_self_id())
- )) or (isinstance(message, AtAll) and not self.ignore_at_all):
+ if (
+ (
+ isinstance(message, At)
+ and (str(message.qq) == str(event.get_self_id()))
+ )
+ or (isinstance(message, AtAll) and not self.ignore_at_all)
+ or (
+ isinstance(message, Reply)
+ and str(message.sender_id) == str(event.get_self_id())
+ )
+ ):
is_wake = True
event.is_wake = True
wake_prefix = ""