增加对音乐卡片消息的处理,提取歌曲和歌手信息并构建相应文本

pull/69/head
墨梓柒 2025-12-11 15:29:48 +08:00
parent 12f6d205e1
commit 0beb3dfdfa
No known key found for this signature in database
GPG Key ID: 4A65B9DBA35F7635
1 changed files with 16 additions and 0 deletions

View File

@ -521,6 +521,22 @@ class MessageHandler:
return Seg(type="text", data=announce_text) return Seg(type="text", data=announce_text)
# 检查是否为音乐卡片
if app == "com.tencent.music.lua" or app == "com.tencent.structmsg":
meta = parsed_json.get("meta", {})
music = meta.get("music", {})
# 尝试从music字段提取信息
if music:
title = music.get("title", "")
singer = music.get("singer", "")
music_text = "[音乐卡片]"
if title:
music_text += f"\n歌曲: {title}"
if singer:
music_text += f"\n歌手: {singer}"
return Seg(type="text", data=music_text)
# 其他卡片消息使用prompt字段 # 其他卡片消息使用prompt字段
prompt = parsed_json.get("prompt", "[卡片消息]") prompt = parsed_json.get("prompt", "[卡片消息]")
return Seg(type="text", data=prompt) return Seg(type="text", data=prompt)