MessageEmbed 字段值不能为空。 Discord.js

时间:2021-06-07 15:22:51

标签: discord.js

我正在编写一个代码,该代码从每周顶部的 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);
        }
    }
});

1 个答案:

答案 0 :(得分:0)

这可能是一个简单的修复,但可能不起作用。您可以尝试将其放在反引号中。

.addField("Overige informatie:", `Likes: ${allowed[randomnumber].data.ups + " / Comments: " + allowed[randomnumber].data.num_comments)}`

也可能是由于允许的数组不完整,或者它有什么问题。