Javascript 如何检查某人是否具有特定角色

Javascript 如何检查某人是否具有特定角色,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,好的,我知道有类似的问题,但无论我怎么尝试,我都会得到相同的结果。我已经试了两天了,想知道如何检查我是否拥有ban命令的“OverBot Admin”角色。但是每当我运行这个命令时,它就会垃圾邮件聊天!这是我的密码: if (command === "ban") { if(message.member.roles.has(role => role.name === "OverBot-Admin")) { let reason = args.slice(1).

好的,我知道有类似的问题,但无论我怎么尝试,我都会得到相同的结果。我已经试了两天了,想知道如何检查我是否拥有ban命令的“OverBot Admin”角色。但是每当我运行这个命令时,它就会垃圾邮件聊天!这是我的密码:

      if (command === "ban") {
    if(message.member.roles.has(role => role.name === "OverBot-Admin")) {
      let reason = args.slice(1).join(" ");
      if (!reason) reason = "No reason provided";
      const user = message.mentions.users.first();

      if (user) {
        const member = message.guild.member(user);

        if (member) {
          member
            .ban({ reason: "They were being bad." })
            .then(() => {
              message.reply(
                ":white_check_mark: Successfully banned " +
                  message.user.id +
                  "for " +
                  reason
              );

              const embed = new Discord.RichEmbed()
                .setTitle("Ban")
                .addField("Member:", message.user.id)
                .addField("Reason:", reason)
                .setTimestamp()
                .setFooter(
                  "Created by OverThrow, OverBot SE",
                  "https://cdn.discordapp.com/avatars/649431468254429224/0b63291c1e7342c2320ca5c3cce806ca.png?size=2048"
                );
            })
            .catch(err => {
              message.reply(":x: I was unable to ban that member!");

              console.error(err);
            });
        } else {
          message.reply(":x: That user isn't a member to this guild!");
        }
      } else {
        message.reply(":x: You didn't mention a member to ban!");
      }
    }
  } else {
    message.reply(":x: I couldn't ban this user, please make sure you have the OverBot-Admin role!")
  }

message.member.roles.has()
需要一个角色ID作为参数,而在这里,您要传递一个函数。我认为您正在寻找的方法是(尽管这种方法已被弃用,但如果有人能想出一种不同的方法,请让我知道)

查看
功能中的
消息.reply
,然后在禁用后,我看到
消息.user.id
。但是,根据文档,
message.user
似乎不是消息对象的有效属性。我假设您指的是刚刚被禁止的用户,在这种情况下,您可以重用先前定义的
user
member
变量


如果您还有其他问题,请随时回复。

该成员至少被正确禁止了吗?是的,没有检查该角色的If语句的成员被禁止了。