以下是命令的代码:
if (command === "avatar") {
let user = message.mentions.users.first() || message.author;
let embed = new Discord.RichEmbed()
.setAuthor(`${user.username}`)
.setImage(user.displayAvatarURL)
.setColor(0x842cfc);
message.channel.send(embed),
}
此命令显示指定用户的化身,但是现在,您必须标记指定用户(使他们收到通知)以显示化身。现在命令是.avatar @someuser
,但我希望命令是.avatar someuser
,所以这里没有提及。
另外,我很确定我需要以某种方式使用client.users.find()
,但请以idk的方式使用。谢谢您的帮助!
答案 0 :(得分:2)
我会使用Guild.members.find()
。由于其中包含成员,因此您需要检查用户编写的参数是否与.nickname
或.user.username
相匹配。为了简化一点,我将使用.displayName
而不是.nickname
,以便始终使用字符串。
// argument: the string after the command, I don't know how you're currently getting it
let user = message.guild.members.find(m => [m.displayName.toLowerCase(), m.user.username.toLowerCase()].includes(argument.toLowerCase()));