使用纯文本而不是提及来定义用户
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()));
命令代码如下:
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()));