Discord.js v14中EmbedBuilder用addFields报_CombinedPropertyError错误
解决Discord.js v14中EmbedBuilder.addFields的错误问题
问题根源
你触发的_CombinedPropertyError是因为**addFields的参数格式不符合v14的要求**。v14里addFields不再接受单独的字符串参数,必须传入包含name和value属性的对象(单个或数组形式)。
修正后的代码
const Discord = require('discord.js') // 补充你缺失的prefix定义 const prefix = "+"; const client = new Discord.Client({ intents: [ Discord.GatewayIntentBits.Guilds, Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.MessageContent ] }); client.on("ready", () => { console.log("bot opérationnel"); }); client.on("messageCreate", message => { if(message.author.bot) return; // +help if (message.content === prefix + "help"){ const embed = new Discord.EmbedBuilder() .setColor("#ffcc00") .setTitle("**__Les commandes du bot ATHENA:__**") .setURL("https://discord.js.org/") .setDescription("Vous trouverez toutes les commmandes dont vous pouvez faire usage") // 正确的addFields用法:传入包含name和value的对象 .addFields({ name: "**__+help__**", value: "Affiche la liste des commandes" }) .addFields({ name: "**__Support Developpement__**", value: "https://discord.gg/H9mSXeAm8C" }); // 也可以一次性传入多个字段,写法如下: // .addFields( // { name: "**__+help__**", value: "Affiche la liste des commandes" }, // { name: "**__Support Developpement__**", value: "https://discord.gg/H9mSXeAm8C" } // ); message.channel.send({ embeds: [embed]}); } }); // 补充机器人登录代码 client.login("你的机器人Token");
额外说明
- 你原代码缺失了
prefix定义、messageCreate事件的闭合括号,以及机器人登录逻辑,这些都需要补全才能正常运行。 addFields支持两种写法:单次调用传一个字段对象,或一次传多个字段对象(用逗号分隔)。
内容的提问来源于stack exchange,提问作者Speed Drake
相关产品推荐
相关产品推荐

