如何使用Discord.js获取特定的成员用户名 [英] How to get specific member username with discord.js
问题描述
我想在嵌入消息中添加一个特定的成员信息(用户名+头像)。有人知道怎么做吗?
I would like to add one specific member information (username + avatar) into an embed message. Does someone know how to do that?
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")
在上面的代码中,我想更改 message.author.username和 message.author .avatarUrl,例如特定的不和谐成员标识ID:例如436577130583949315。
On the code above, I would like to change "message.author.username" and "message.author.avatarUrl" by a specific discord member identification id such as : 436577130583949315 for example.
但是我不知道从那个不和谐标识号中获取的方式是什么显示用户名和头像。
However I don't know what is the way from that discord identification number to be able to show the username and the avatar.
在此先感谢您的帮助:)
Thanks in advance for your help :)
推荐答案
由于管理器的实现,必须修改以下代码以使用Discord.js的最新版本(此编辑时为v12)。
您可以通过其ID从客户端的用户缓存中检索用户, Client#users
。但是,不能保证每个用户都始终被缓存,因此您可以使用 Client#fetchUser()
。请记住,它会返回承诺 。如果用户位于中,则该方法将返回它。
You can retrieve a user by their ID from the client's cache of users, Client#users
. However, every user isn't guaranteed to be cached at all times, so you can fetch a user from Discord using Client#fetchUser()
. Keep in mind, it returns a Promise. If the user is in the cache, the method will return it.
示例:
// 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);
}
这篇关于如何使用Discord.js获取特定的成员用户名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!