使用纯文本而不是提及来定义用户

Use plain text instead of mentions to define user

命令代码如下:

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() 但不知道如何使用。感谢您的帮助!

我会使用 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()));