不允许递归获得引用消息,防止极端情况下消息变得太长

pull/5/head
Bakadax 2025-04-15 10:04:07 +08:00
parent c6495b7e64
commit 79ee7c32a3
1 changed files with 9 additions and 6 deletions

View File

@ -201,7 +201,7 @@ class RecvHandler:
logger.info("发送到Maibot处理信息") logger.info("发送到Maibot处理信息")
await self.message_process(message_base) 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: Parameters:
@ -226,11 +226,14 @@ class RecvHandler:
case RealMessageType.face: case RealMessageType.face:
pass pass
case RealMessageType.reply: case RealMessageType.reply:
ret_seg = await self.handle_reply_message(sub_message) if not in_reply:
if ret_seg: ret_seg = await self.handle_reply_message(sub_message)
seg_message += ret_seg if ret_seg:
seg_message += ret_seg
else:
logger.warning("reply处理失败")
else: else:
logger.warning("reply处理失败") pass
case RealMessageType.image: case RealMessageType.image:
ret_seg = await self.handle_image_message(sub_message) ret_seg = await self.handle_image_message(sub_message)
if ret_seg: if ret_seg:
@ -389,7 +392,7 @@ class RecvHandler:
if not message_detail: if not message_detail:
logger.warning("获取被引用的消息详情失败") logger.warning("获取被引用的消息详情失败")
return None 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_info: dict = message_detail.get("sender")
sender_nickname: str = sender_info.get("nickname") sender_nickname: str = sender_info.get("nickname")
sender_id: str = sender_info.get("user_id") sender_id: str = sender_info.get("user_id")