如何使用Discord.js获取特定的成员用户名

时间:2019-06-16 13:13:56

标签: javascript node.js discord.js

我想在嵌入消息中添加一个特定的会员信息(用户名+头像)。有人知道该怎么做吗?

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")

在上面的代码中,我想通过特定的不和谐成员标识ID(例如:436577130583949315)来更改“ message.author.username”和“ message.author.avatarUrl”。

但是我不知道从那个不一致的标识号可以显示用户名和头像的方式是什么。

在此先感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

您可以通过用户ID从客户端的用户缓存Client.users中检索用户。但是,不能保证每个用户都始终被缓存,因此您可以使用Client.fetchUser()从Discord获取用户。请记住,它返回一个Promise

示例:

// Async context needed for 'await'

try {
  const devID = '436577130583949315';
  const dev = client.users.get(devID) || await client.fetchUser(devID);
  // Retrieve the user from the client's cache.
  // If they haven't been cached yet, fetch them.

  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);
}