简体   繁体   English

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

[英]First name mentions in a text using discord.js

I am trying to make some sort of kick system. 我正在尝试建立某种踢腿系统。 I would like to know how I would get the first name mentioned in a text. 我想知道如何得到文字中提到的名字。

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!"); 
        })
    }
}
});

No error is thrown that I know of. 我没有发现任何错误。

First off, if you want to check multiple permissions in GuildMember.hasPermission() , you need to pass an array. 首先,如果要在GuildMember.hasPermission()检查多个权限, GuildMember.hasPermission()需要传递一个数组。 The way your code is written now, you're passing an array with "KICK_MEMBERS" as the permissions to check and an array with "BAN_MEMBERS" for the explicit parameter. 现在编写代码的方式是,传递一个以"KICK_MEMBERS"作为检查权限的数组,以及一个以"BAN_MEMBERS"作为explicit参数的数组。
Solution: message.member.hasPermission(["KICK_MEMBERS", "BAN_MEMEBRS"]) 解决方案: message.member.hasPermission(["KICK_MEMBERS", "BAN_MEMEBRS"])

Secondly, you're declaring member as a Collection, when it should be a GuildMember. 其次,当member应该是GuildMember时,您将其声明为Collection。
Solution: const member = message.mentions.members.first() 解决方案: 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);
    }
  }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM