[Bug]: 使用海豹码嵌入相对路径发送文件名带逗号的文件失败
Closed this issue · 1 comments
在提问之前...
- 我理解 Issue 是用于反馈和解决问题的,而非吐槽评论区,将尽可能提供更多信息帮助问题解决
- 我填写了简短且清晰明确的标题,以便开发者在翻阅 issue 列表时能快速确定大致问题。而不是“一个建议”、“卡住了”等
- 我已查看master branch或最新测试版的更新内容,并未提及该 bug 已被修复的情况
- 已有issue中并没有看见其他人与我反馈相同的问题
问题描述
在海豹码中使用相对路径时,若文件名带有,
,似乎会产生截断
dice\platform_adapter_gocq_actions.go:638 textAssetsConvert
在海豹码中手动转义,
海豹提示找不到文件
如何复现
-
自定义回复中嵌入海豹码,且待发送的文件名带
,
"[语音:data/music/乐正绫,COP - 世末歌者.mp3]"
-> NapCat报错仅收到*/data/music/乐正绫
,文件名被截断
"[语音:data/music/乐正绫,COP - 世末歌者.mp3]"
-> 海豹提示找不到文件 -
代码中调用
ReplyToSender
发送
"[语音:data/music/乐正绫,COP - 世末歌者.mp3]"
-> NapCat报错仅收到*/data/music/乐正绫
,文件名被截断
"[语音:data/music/乐正绫,COP - 世末歌者.mp3]"
-> 海豹提示找不到文件 -
使用完整url路径发送
"[语音:file:///D:/sealdice/data/music/乐正绫,COP - 世末歌者.mp3]"
-> 成功发送
你期望发生的
成功使用相对路径的海豹码发送文件名带,
的语音
实际上发生的
使用相对路径的海豹码发送文件名带,
的语音失败
日志文件
sealdice日志:
dice/im_session.go:724 收到群(####)内<樂>(QQ:####)的消息: 小奥测试
dice/ext_reply.go:233 自定义回复[reply.yaml]: 条件满足
dice/im_helpers.go:192 发给(####): [voice:"D:/Programs/sealdice/data/music/乐正绫,COP - 世末歌者.mp3"]
Received message {"status":"failed","retcode":1200,"data":null,"message":"语音转换失败, 请检查语音文件是否正常","wording":"语音转换失败, 请检查语音文件是否正常","echo":""}
NapCat日志:
[INFO] 奥尔菲·亚德里安(####) | 接收 <- 群聊 (群 #### 的 ####) 小奥测试
[ERROR] 奥尔菲·亚德里安(####) | convert silk failed Error: ENOENT: no such file or directory, open 'D:\Programs\sealdice\data\music\乐正绫'
截图
No response
海豹核心版本
1.5.0-dev
操作系统
Windows 11 Pro
帐号类型
QQ
仅搭载了一个QQ,通过LLOneBot连接到NapCat
使用协议
No response
附加内容
No response
上游问题吧,海豹应该不负责这个
Napcat日志信息量太少,把日志等级调高,然后再抓一次日志
海豹问题,等待修复吧
问题解决啦!把文件名里的逗号删了就不会报错啦!