discord.js v13运行报错embeds[0].description: This field is required求助
问题原因
你出现报错是因为对discord.js v13的embed发送格式理解错误,产生了多余的嵌套:
你定义的exampleEmbed本身已经是一个包含embeds字段的对象,后续调用message.channel.send的时候又把它塞入了新的embeds数组中,导致最终传给接口的embeds[0]不是MessageEmbed实例,而是一个带embeds属性的普通对象,系统无法读取到正确的description字段才触发报错。
修正方案
有两种修正方式,选其中一种即可:
方式1:修改exampleEmbed的定义,直接存储MessageEmbed实例
const exampleEmbed = new MessageEmbed() .setColor('#1a038a') .setTitle('Proxy') .setDescription('Proxy Help Embed') .addFields( { name: 'Bot', value: '`ping`, `invite`', inline: false }, ) .setTimestamp() .setFooter('TEST') .setImage('IMAGE') .setURL('URL') return message.channel.send({ embeds: [exampleEmbed] });
方式2:修改send调用的参数,直接传入定义好的带embeds的对象
const exampleEmbed = { embeds: [new MessageEmbed() .setColor('#1a038a') .setTitle('Proxy') .setDescription('Proxy Help Embed') .addFields( { name: 'Bot', value: '`ping`, `invite`', inline: false }, ) .setTimestamp() .setFooter('TEST') .setImage('IMAGE') .setURL('URL')] } return message.channel.send(exampleEmbed);
内容的提问来源于stack exchange,提问作者65454
相关产品推荐
相关产品推荐

