Closed Augtons closed 2 years ago
谢谢,我已经定位了这个问题。同样的问题也在酷狗音乐中出现了。
对于网易云,它在/listeners/commands/SingMusic.kt
当中的第103行。
由于kotlin
的?
使得它忽略的搜歌结果为null
的情况,因此导致未抛出异常。未执行catch
代码块。
将?
改为!!
非空断言即可。
try {
- netEaseMusicSearcher.searchSuspend(keyWord)?.let { music ->
+ netEaseMusicSearcher.searchSuspend(keyWord)!!.let { music ->
context!!.subject.sendMessage(
MusicShare(
MusicKind.NeteaseCloudMusic, music.musicName, music.singerName, music.playURL,
music.imgURL, music.playURL
)
)
}
}catch (_e: Exception) {
context!!.subject.sendMessage("【网易云】\n未找到“$keyWord”\n换一个搜索词或改用其他平台搜索吧")
}
网易云搜歌获取到的结果,没有“songs”字段的时候不会回复报错消息。 例如: