嗨,我嘗試使用 Distube 將嵌入添加到訊息中,但出現此錯誤。
An error encountered: RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty strings.
這是我的命令事件:
client.distube
.on('playSong', (queue, song) => {
queue.textChannel.send({embeds: [
new MessageEmbed()
.setTitle('Started Playing')
.setDescription(`[${song.name}](${song.url})`)
.addField('**Views:**', song.views, false)
.addField('**Duration:**', song.formattedDuration, false)
.addField('**Status**', status(queue), false)
.setThumbnail(song.thumbnail)
.setColor("BLUE")
]})
})
我使用這個包:Discord.js@v13 [email protected]
uj5u.com熱心網友回復:
錯誤來自以下事實,即在.addField()
驗證每個第二個引數,并設定默認值 =/= ""
uj5u.com熱心網友回復:
如果您的嵌入欄位值之一為空,則會出現此錯誤,該錯誤很容易解釋,如果您需要幫助分享更多代碼片段,例如您定義歌曲等的內容?
uj5u.com熱心網友回復:
假設song.views, status(queue)andsong.formattedDuration不是字串,您可以用引號將它們括起來,如下所示:
client.distube
.on('playSong', (queue, song) => {
queue.textChannel.send({embeds: [
new MessageEmbed()
.setTitle('Started Playing')
.setDescription(`[${song.name}](${song.url})`)
.addField('**Views:**', `${song.views}`, false)
.addField('**Duration:**', `${song.formattedDuration}`, false)
.addField('**Status**', `${status(queue)}`, false)
.setThumbnail(song.thumbnail)
.setColor("BLUE")
]})
})
另一種方法是.toString()使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/485992.html
