diff --git a/src/recv_handler.py b/src/recv_handler.py index 33e56c4..f6f14bf 100644 --- a/src/recv_handler.py +++ b/src/recv_handler.py @@ -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 diff --git a/src/send_handler.py b/src/send_handler.py index f030996..a179df0 100644 --- a/src/send_handler.py +++ b/src/send_handler.py @@ -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