不再进行类型判断
parent
e1307b61ee
commit
e526b9fda7
|
|
@ -49,7 +49,7 @@ class SendHandler:
|
||||||
id_name: str = None
|
id_name: str = None
|
||||||
processed_message: list = []
|
processed_message: list = []
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
logger.error(f"处理消息时发生错误: {e}")
|
logger.error(f"处理消息时发生错误: {e}")
|
||||||
return
|
return
|
||||||
|
|
@ -85,11 +85,7 @@ class SendHandler:
|
||||||
logger.warning(f"消息发送失败,napcat返回:{str(response)}")
|
logger.warning(f"消息发送失败,napcat返回:{str(response)}")
|
||||||
|
|
||||||
qq_message_id = response.get("data", {}).get("message_id")
|
qq_message_id = response.get("data", {}).get("message_id")
|
||||||
|
await self.message_sent_back(raw_message_base, qq_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("消息类型不支持回调更新数据库")
|
|
||||||
|
|
||||||
async def send_command(self, raw_message_base: MessageBase) -> None:
|
async def send_command(self, raw_message_base: MessageBase) -> None:
|
||||||
"""
|
"""
|
||||||
|
|
@ -136,19 +132,19 @@ class SendHandler:
|
||||||
else:
|
else:
|
||||||
return 1
|
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 = []
|
payload: list = []
|
||||||
if seg_data.type == "seglist":
|
if seg_data.type == "seglist":
|
||||||
# level = self.get_level(seg_data) # 给以后可能的多层嵌套做准备,此处不使用
|
# level = self.get_level(seg_data) # 给以后可能的多层嵌套做准备,此处不使用
|
||||||
if not seg_data.data:
|
if not seg_data.data:
|
||||||
return []
|
return []
|
||||||
for seg in seg_data.data:
|
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:
|
else:
|
||||||
payload, seg_type = self.process_message_by_type(seg_data, payload)
|
payload = self.process_message_by_type(seg_data, payload)
|
||||||
return payload, seg_type
|
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
|
# sourcery skip: reintroduce-else, swap-if-else-branches, use-named-expression
|
||||||
new_payload = payload
|
new_payload = payload
|
||||||
if seg.type == "reply":
|
if seg.type == "reply":
|
||||||
|
|
@ -178,7 +174,7 @@ class SendHandler:
|
||||||
elif seg.type == "music":
|
elif seg.type == "music":
|
||||||
song_id = seg.data
|
song_id = seg.data
|
||||||
new_payload = self.build_payload(payload, self.handle_music_message(song_id), False)
|
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:
|
def build_payload(self, payload: list, addon: dict, is_reply: bool = False) -> list:
|
||||||
# sourcery skip: for-append-to-extend, merge-list-append, simplify-generator
|
# sourcery skip: for-append-to-extend, merge-list-append, simplify-generator
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue