Estoy tratando de cambiar alguna información en los mensajes incrustados y luego transferir el mensaje de los canales, pero cuando intento transferir el mensaje, aparece este error:
RangeError [EMBED_FIELD_NAME]: MessageEmbed field names must be non-empty strings.He intentado así:
let title; let fieldName; let fieldValue; if(message.channel.id == analiseChannelID && reaction.emoji.name === 'aprovada') { message.embeds.forEach(embeds => { let title = embeds.title; //console.log(embeds.title); // logging to console ✅ let fields = embeds.fields; fields.forEach((field) => { //console.log(field.name); // logging to console ✅ //console.log(field.value); // logging to console ✅ fieldName = field.name; fieldValue = field.value; }); let embed1 = new Discord.MessageEmbed().addFields(fieldName, fieldValue) ChannelAprovada.send(embed1) }) }Usó el método MessageEmbed#addFields (con una s ) que requiere objetos como argumentos. Cambiarlo a MessageEmbed#addField debería funcionar
let embed1 = new Discord.MessageEmbed() .addField(fieldName, fieldValue) //no "s"Prueba otra.
.addFields({ name: `text`, value: `text`})Para discordia v.13
.addField("text", "text")Como dijo @MrMythical, cambiar MessageEmbed#addFields a MessageEmbed#addField debería ayudarlo, pero en lugar de .addField(fieldName, fieldValue) intente usar .addField(fieldName, `** ** ${fieldValue}`) ! ¡El uso de ** ** debería ayudarlo a evitar recibir un error incluso si su fieldValue está vacío por algún motivo!
¡También en discord.js v13 tienes que usar ChannelAprovada.send({embeds: [embed1]}) en lugar de ChannelAprovada.send(embed1) para enviar una inserción!