web-dev-qa-db-fra.com

Comment obtenir un nom d'utilisateur spécifique membre avec discorde.js

Je voudrais ajouter une information de membre spécifique (nom d'utilisateur + avatar) dans un message incorporé. Est-ce que quelqu'un sait comment faire ça?

const feedback = new discord.RichEmbed()
.setColor([0, 0, 255])
.setFooter("Bot created by : " + message.author.username, message.author.avatarURL)
.setDescription("The text I want to be sent")

Sur le code ci-dessus, je voudrais changer "Message.Author.Asername" et "Message.Author.AvatarurL" par un identifiant d'identification de membre de discorde spécifique tel que: 436577130583949315 par exemple.

Cependant, je ne sais pas quelle est la voie à partir de ce numéro d'identification de discorde pour pouvoir montrer le nom d'utilisateur et l'avatar.

Merci d'avance pour votre aide :)

2
Maxence Hermand

Le code suivant doit être modifié pour utiliser la dernière version de Discord.js (V12 à l'heure de cette modification) en raison de la mise en œuvre des gestionnaires.


Vous pouvez récupérer un utilisateur par son identifiant à partir du cache des utilisateurs du client, Client#users . Cependant, chaque utilisateur n'est pas garanti d'être mis en cache à tout moment. Vous pouvez donc récupérer un utilisateur à partir de la discorde à l'aide de Client#fetchUser() . Gardez à l'esprit, il renvoie une promesse . Si l'utilisateur est dans le cache, la méthode le retournera.

Exemple:

// Async context needed for 'await'

try {
  const devID = '436577130583949315';
  const dev = await client.fetchUser(devID);

  const feedback = new discord.RichEmbed()
    .setColor([0, 0, 255])
    .setFooter(`Bot created by ${dev.tag}.`, dev.displayAvatarURL)
    .setDescription('Your text here.');

  await message.channel.send(feedback);
} catch(err) {
  console.error(err);
}
4
slothiful