diff --git a/src/recv_handler.py b/src/recv_handler.py index b17303f..2f655c0 100644 --- a/src/recv_handler.py +++ b/src/recv_handler.py @@ -201,7 +201,7 @@ class RecvHandler: logger.info("发送到Maibot处理信息") await self.message_process(message_base) - async def handle_real_message(self, raw_message: dict) -> List[Seg]: + async def handle_real_message(self, raw_message: dict, in_reply: bool = False) -> List[Seg]: """ 处理实际消息 Parameters: @@ -226,11 +226,14 @@ class RecvHandler: case RealMessageType.face: pass case RealMessageType.reply: - ret_seg = await self.handle_reply_message(sub_message) - if ret_seg: - seg_message += ret_seg + if not in_reply: + ret_seg = await self.handle_reply_message(sub_message) + if ret_seg: + seg_message += ret_seg + else: + logger.warning("reply处理失败") else: - logger.warning("reply处理失败") + pass case RealMessageType.image: ret_seg = await self.handle_image_message(sub_message) if ret_seg: @@ -389,7 +392,7 @@ class RecvHandler: if not message_detail: logger.warning("获取被引用的消息详情失败") return None - reply_message = await self.handle_real_message(message_detail) + reply_message = await self.handle_real_message(message_detail, in_reply=True) sender_info: dict = message_detail.get("sender") sender_nickname: str = sender_info.get("nickname") sender_id: str = sender_info.get("user_id")