我正在编写一个代码,该代码从每周顶部的 subreddit 发送随机图片。 但是当我尝试使用该命令时收到以下错误:
(node:25) UnhandledPromiseRejectionWarning: RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values may not be empty.
代码:
client.on("message", async message => {
if (message.content.toLowerCase() === "!foto") {
const snekfetch = require('snekfetch');
try {
const {
body
} = await snekfetch
.get('https://www.reddit.com/r/gtavcustoms.json?sort=top&t=week')
.query({
limit: 10
});
const allowed = message.channel.nsfw ? body.data.children : body.data.children.filter(post => !post.data.over_18);
if (!allowed.length) return message.channel.send('Het lijkt erop dat de nieuwe fotos op zijn, probeer het later nog eens!');
const randomnumber = Math.floor(Math.random() * allowed.length)
const embed = new Discord.MessageEmbed()
.setColor(0x00A2E8)
.setTitle(allowed[randomnumber].data.title)
.setDescription("Gepost door: " + allowed[randomnumber].data.author)
.setImage(allowed[randomnumber].data.url)
.addField("Overige informatie:", "Likes: " + allowed[randomnumber].data.ups + " / Comments: " + allowed[randomnumber].data.num_comments)
.setFooter("DaddyCoolNL Official Discord Server")
message.channel.send(embed)
} catch (err) {
return console.log(err);
}
}
});
答案 0 :(得分:0)
这可能是一个简单的修复,但可能不起作用。您可以尝试将其放在反引号中。
.addField("Overige informatie:", `Likes: ${allowed[randomnumber].data.ups + " / Comments: " + allowed[randomnumber].data.num_comments)}`
也可能是由于允许的数组不完整,或者它有什么问题。