From 4d2ff7cd5b412bb9ecc4bae9da8afb788fe2bc52 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Sat, 8 Feb 2025 20:35:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20qq=20=E5=9B=9E?= =?UTF-8?q?=E5=A4=8D=E5=88=AB=E4=BA=BA=E7=9A=84=E6=97=B6=E5=80=99=E4=B9=9F?= =?UTF-8?q?=E4=BC=9A=E8=A7=A6=E5=8F=91=E6=9C=BA=E5=99=A8=E4=BA=BA,=20Onebo?= =?UTF-8?q?t=20at=20=E4=BD=BF=E7=94=A8=20string=20#330?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/pipeline/waking_check/stage.py | 4 ++-- .../platform/sources/aiocqhttp/aiocqhttp_message_event.py | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/astrbot/core/pipeline/waking_check/stage.py b/astrbot/core/pipeline/waking_check/stage.py index eeede166..c2676165 100644 --- a/astrbot/core/pipeline/waking_check/stage.py +++ b/astrbot/core/pipeline/waking_check/stage.py @@ -3,7 +3,7 @@ from ..context import PipelineContext 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 +from astrbot.core.message.components import At, Reply from astrbot.core.star.star_handler import star_handlers_registry, EventType from astrbot.core.star.filter.command_group import CommandGroupFilter from astrbot.core.star.filter.permission import PermissionTypeFilter @@ -43,7 +43,7 @@ class WakingCheckStage(Stage): if event.message_str.startswith(wake_prefix): if ( not event.is_private_chat() - and isinstance(messages[0], At) + and (isinstance(messages[0], At) or isinstance(messages[0], Reply)) and str(messages[0].qq) != str(event.get_self_id()) and str(messages[0].qq) != "all" ): diff --git a/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py b/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py index 482f676c..3fcbe82e 100644 --- a/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py +++ b/astrbot/core/platform/sources/aiocqhttp/aiocqhttp_message_event.py @@ -1,9 +1,7 @@ import os -import random -import asyncio from astrbot.api.event import AstrMessageEvent, MessageChain -from astrbot.api.message_components import Plain, Image, Record +from astrbot.api.message_components import Plain, Image, Record, At from aiocqhttp import CQHttp from astrbot.core.utils.io import file_to_base64, download_image_by_url @@ -33,6 +31,10 @@ class AiocqhttpMessageEvent(AstrMessageEvent): d['data'] = { 'file': bs64_data, } + if isinstance(segment, At): + d['data'] = { + 'qq': str(segment.qq) # 转换为字符串 + } ret.append(d) return ret