使用 discord.js 在文本中提及名字

First name mentions in a text using discord.js

我正在尝试制作某种踢球系统。我想知道如何获得文本中提到的名字。

client.on("message", (message) => {
if (message.member.hasPermission(["KICK_MEMBERS"],["BAN_MEMBERS"])){
    if(message.content == "!kick"){
        let member = message.mentions.members();
        console.log(member)
        member.kick("You have been kicked").then ((member) => {
        message.channel.send( member.displayName + " has been Kicked!"); 
        })
    }
}
});

据我所知,没有抛出任何错误。

首先,如果你想在GuildMember.hasPermission()中检查多个权限,你需要传递一个数组。现在编写代码的方式是,您正在传递一个数组 "KICK_MEMBERS" 作为检查权限,并传递一个数组 "BAN_MEMBERS" 作为 explicit 参数。
解决方案: message.member.hasPermission(["KICK_MEMBERS", "BAN_MEMEBRS"])

其次,您将 member 声明为一个集合,而它应该是一个 GuildMember。
解决方案: const member = message.mentions.members.first()

client.on("message", async message => {
  if (message.content === "!kick" && message.member.hasPermission(["KICK_MEMBERS", "BAN_MEMBERS"])) {
    try {
      const member = message.mentions.members.first();
      if (!member) return await message.channel.send(`No user mentioned.`);

      await member.kick(`Kicked by ${message.author.tag}`);
      await message.channel.send(`${member.user.tag} has been kicked.`);
    } catch(err) {
      console.error(err);
    }
  }
});