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

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处理信息")
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")