Recientemente actualicé a la v14 de discordjs (creo), y he recibido muchos errores, ya que este es uno de muchos. Y parece que muchas cosas han cambiado desde la última vez que codifiqué y estoy un poco confundido acerca de lo que necesito cambiar para que este comando de barra diagonal funcione.
Error Expected the value to be an object, but received string instead
Código
const { EmbedBuilder } = require("discord.js"); module.exports = { name: "ping", description: "Displays Crimson's API and Latency ping!", options: null, run: async (client, interaction, args) => { const pingEmbed1 = new EmbedBuilder() .setTitle("Pinging...") .setColor("#fb644c"); const pingMsg = await interaction.reply({ embeds: [pingEmbed1], fetchReply: true }); try { const pingEmbed2 = new EmbedBuilder() .setTitle("Pong!") .setDescription(`⌛ Latency: \`${Math.floor(pingMsg.createdTimestamp - interaction.createdTimestamp)}ms\`\n⏲️ API: \`${Math.round(client.ws.ping)}ms\``) .setFooter(`Command Requested by: ${interaction.user.tag}`, interaction.user.displayAvatarURL()) .setColor("#fb644c"); await interaction.editReply({ embeds: [pingEmbed2] }); } catch (err) { console.log(err); return interaction.editReply(`\`${err.message}\`.`); } }, };Ahora, para que quede claro, para que la gente no se enoje conmigo por no intentarlo... Cambié algunas cosas que se cambiaron, como el nuevo creador de incrustaciones, etc.
En discord.js v14, EmbedBuilder#setFooter() acepta un único objeto FooterOptions . Deberá proporcionar un objeto con un text y unas claves iconURL :
const pingEmbed2 = new EmbedBuilder() .setTitle('Pong!') .setDescription( `⌛ Latency: \`${Math.floor( pingMsg.createdTimestamp - interaction.createdTimestamp, )}ms\`\n⏲️ API: \`${Math.round(client.ws.ping)}ms\``, ) .setFooter({ text: `Command Requested by: ${interaction.user.tag}`, iconURL: interaction.user.displayAvatarURL(), }) .setColor('#fb644c');