尝试修复越界

pull/15/head
UnCLAS-Prommer 2025-04-16 19:15:08 +08:00
parent e5603972fa
commit ea8b7a978b
2 changed files with 12 additions and 3 deletions

View File

@ -77,7 +77,10 @@ class RecvHandler:
message_time: float = time.time() # 应可乐要求现在是float了
template_info: TemplateInfo = None # 模板信息,暂时为空,等待启用
format_info: FormatInfo = None # 格式化信息,暂时为空,等待启用
format_info: FormatInfo = FormatInfo(
content_format=["text", "image", "emoji"],
accept_format=["text", "image", "emoji", "reply"],
) # 格式化信息,暂时为空,等待启用
if message_type == MessageType.private:
sub_type = raw_message.get("sub_type")
if sub_type == MessageType.Private.friend:
@ -436,6 +439,8 @@ class RecvHandler:
match sub_type:
case NoticeType.Notify.poke:
handled_message: Seg = await self.handle_poke_notify(raw_message)
case _:
logger.warning("不支持的notify类型")
if not handled_message:
logger.warning("notice处理失败或不支持")
return None

View File

@ -31,10 +31,10 @@ class SendHandler:
target_id: int = None
action: str = None
id_name: str = None
processed_message: list = []
logger.info("接收到来自MaiBot的消息处理中")
try:
processed_message: list = await self.handle_seg_recursive(message_segment)
processed_message = await self.handle_seg_recursive(message_segment)
except Exception as e:
logger.error(f"处理消息时发生错误: {e}")
return
@ -77,6 +77,8 @@ class SendHandler:
payload: list = []
if seg_data.type == "seglist":
# level = self.get_level(seg_data) # 给以后可能的多层嵌套做准备,此处不使用
if not seg_data.data:
return []
for seg in seg_data.data:
payload = self.process_message_by_type(seg, payload)
else:
@ -92,6 +94,8 @@ class SendHandler:
new_payload = self.build_payload(payload, self.handle_reply_message(target_id), True)
elif seg.type == "text":
text = seg.data
if not text:
return []
new_payload = self.build_payload(payload, self.handle_text_message(text), False)
elif seg.type == "face":
pass