首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Discord.js 12.5.1中禁止外部服务器用户

在Discord.js 12.5.1中禁止外部服务器用户
EN

Stack Overflow用户
提问于 2021-09-28 18:02:02
回答 1查看 66关注 0票数 1

我正在尝试制作一个ban命令,它可以禁止某人使用他的ID,它工作得很好,问题是当我试图禁止一个不在服务器上(使用他的ID)或只使用1位数字的用户时,该命令不起作用,机器人崩溃。我认为问题是由if语句引起的,但我不确定。

下面是我的代码:

代码语言:javascript
复制
  let args = messageArray.slice(1);

  if(message.content.startsWith(prefix + 'ban')) {
      let toBan = message.guild.members.cache.get(args[0]) || message.mentions.members.first() || message.guild.members.cache.find(x => x.user.username.toLowerCase() === args.slice(0).join(" ") || x.user.username === args[0]);
      if(!args) return message.channel.send('You need to mention a user!')
      if (!message.member.hasPermission("VIEW_AUDIT_LOG")) return message.channel.send("You don't have enough permissions.")
      if (!message.guild.me.hasPermission("BAN_MEMBERS")) return message.channel.send("I don't have enought permissions.")
             if(!toBan.bannable) return message.channel.send("I can't ban that user!")
      if(toBan === message.author) return message.channel.send("No.")
      if(toBan.roles.highest.position >= message.member.roles.highest.position) return message.channel.send("You can't ban anyone that have a high or same role that you have.")

      const reason = args[1] || "Undefined";

      member.ban(`${toBan}`, {
        reason: reason
      })
           message.channel.send(`${toBan} Has been banned of the server by ${message.author}!`)
       }
EN

回答 1

Stack Overflow用户

发布于 2021-09-29 14:43:03

您可以使用接受UserResolvable参数的GuildMemberManager.ban()。它可以是一个User、一个GuildMember,甚至只是一个Snowflake (ID)。

简单的例子:

代码语言:javascript
复制
message.guild.members.ban("12345678901234567");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69366491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档