不再进行类型判断

pull/43/head
A0000Xz 2025-06-29 00:42:53 +08:00
parent e1307b61ee
commit e526b9fda7
1 changed files with 8 additions and 12 deletions

View File

@ -49,7 +49,7 @@ class SendHandler:
id_name: str = None
processed_message: list = []
try:
processed_message, seg_type = 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
@ -85,11 +85,7 @@ class SendHandler:
logger.warning(f"消息发送失败napcat返回{str(response)}")
qq_message_id = response.get("data", {}).get("message_id")
if seg_type in {"text","image","emoji","reply","voice","voiceurl","music"}:
await self.message_sent_back(raw_message_base, qq_message_id)
else:
logger.debug("消息类型不支持回调更新数据库")
await self.message_sent_back(raw_message_base, qq_message_id)
async def send_command(self, raw_message_base: MessageBase) -> None:
"""
@ -136,19 +132,19 @@ class SendHandler:
else:
return 1
async def handle_seg_recursive(self, seg_data: Seg) -> tuple[list, str]:
async def handle_seg_recursive(self, seg_data: Seg) -> list:
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, seg_type = self.process_message_by_type(seg, payload)
payload = self.process_message_by_type(seg, payload)
else:
payload, seg_type = self.process_message_by_type(seg_data, payload)
return payload, seg_type
payload = self.process_message_by_type(seg_data, payload)
return payload
def process_message_by_type(self, seg: Seg, payload: list) -> tuple[list, str]:
def process_message_by_type(self, seg: Seg, payload: list) -> list:
# sourcery skip: reintroduce-else, swap-if-else-branches, use-named-expression
new_payload = payload
if seg.type == "reply":
@ -178,7 +174,7 @@ class SendHandler:
elif seg.type == "music":
song_id = seg.data
new_payload = self.build_payload(payload, self.handle_music_message(song_id), False)
return new_payload, seg.type
return new_payload
def build_payload(self, payload: list, addon: dict, is_reply: bool = False) -> list:
# sourcery skip: for-append-to-extend, merge-list-append, simplify-generator