Actualmente estoy trabajando en un comando que muestra el perfil de un usuario usando e incrustado, pero cada vez que se usa el comando, el texto se agrega nuevamente. entonces, si usa el comando dos veces, verá el texto dos veces y así sucesivamente. He intentado encontrar una solución durante aproximadamente una hora, pero no puedo encontrar nada. También intenté reescribir el código varias veces y actualmente tengo esto
const { discord, MessageEmbed } = require('discord.js'); const embed = new MessageEmbed(); const users = require('../users.json'); const stand = require('../standsInfo.json'); module.exports = { name: 'profile', description: 'show the users profile', execute(message, args) { var user = message.author; var xpNeeded = (users[user.id].level+(users[user.id].level+1))*45; embed.setTitle(`${user.username}'s profile`); embed.setThumbnail(user.displayAvatarURL()); embed.addField('level', `${users[user.id].level}`); embed.addField('experience', `${users[user.id].xp}/${xpNeeded}`); message.channel.send({embeds: [embed] }); } }editar: entonces. Me acabo de dar cuenta de lo que estaba mal. Usé addField en lugar de setField.
Mover const embed = new MessageEmbed(); dentro del ámbito de ejecución. De lo contrario, seguirá editando la misma inserción y enviando nuevamente, con campos agregados
const { discord, MessageEmbed } = require('discord.js'); const users = require('../users.json'); const stand = require('../standsInfo.json'); module.exports = { name: 'profile', description: 'show the users profile', execute(message, args) { var user = message.author; var xpNeeded = (users[user.id].level+(users[user.id].level+1))*45; const embed = new MessageEmbed(); embed.setTitle(`${user.username}'s profile`); embed.setThumbnail(user.displayAvatarURL()); embed.addField('level', `${users[user.id].level}`); embed.addField('experience', `${users[user.id].xp}/${xpNeeded}`); message.channel.send({embeds: [embed] }); } }