Estoy tratando de crear un comando de info
que extraiga la información de los usuarios especificados. Según los documentos de discord.js, estoy forzando a buscar al usuario especificado para obtener el .hexAccentColor
. El usuario que busco tiene un color de acento, pero no undefined
el valor cada vez que trato de obtenerlo. Aquí está mi código:
const user = await client.users.fetch( interaction.options.getUser("user"), false, true ); const embed = new MessageEmbed() .setColor(`${user.hexAccentColor}`) .setTitle(`User info for ${user.username}`) .addFields( { name: "User Tag:", value: `${user.tag}`, inline: true }, { name: "User ID:", value: `${user.id}`, inline: true }, { name: "Bot Status:", value: `${user.bot}`, inline: true }, { name: "Account Creation Date:", value: `${user.createdAt}`, inline: false, } ) .setImage(`${user.displayAvatarURL()}`);
Toda la demás información se transmite correctamente, son solo los valores de color para los que no estoy undefined
.
En realidad no estás forzando la búsqueda. Los argumentos no son correctos (ver UserManager#fetch()
). Aquí se explica cómo forzar la recuperación de un usuario
const user = await client.users.fetch( interaction.options.getUser("user"), { force: true } )
Pero en lugar de buscar de esta manera, podría hacer un User#fetch()
simple, ya que interaction.options.getUser
devuelve una instancia User
const user = await interaction.options.getUser("user").fetch(true)