Discord.js(大规模禁令命令修复)

Posted

技术标签:

【中文标题】Discord.js(大规模禁令命令修复)【英文标题】:Discord.js (Mass Ban Command Fix) 【发布时间】:2021-08-07 05:47:58 【问题描述】:

编码语言 = DISCORD.JS | COMMAND = R!MASSBAN

    client.on('message', async(message) =>   
   if (message.content === 'r!massban') 
message.guild.members.cache.forEach (member => 
    if (member.hasPermission("ADMINISTRATOR")) return;
  member.ban();
);
   
 )```

It only bans me. I get no errors in console. It will only ban me and no one else even though it is above all other roles. This is my first coding project using discord.js and js. Any help will be appreciated.

【问题讨论】:

您能否提供有关该问题的实际详细信息?你得到什么错误?什么没有按预期工作? 【参考方案1】:

在我看来大部分都很好。

如果你是唯一被禁止的人,也许可以 console.log 缓存看看谁在里面。缓存只有最近活跃的人,所以如果是你的测试服务器,如果你是唯一活跃的人,你可能是缓存中唯一的人。

//编辑:

找出它可能是什么。用 .fetch() 替换缓存,fetch 也会获取离线成员。

client.on("message", (msg) => 
  if(msg.content.trim().startsWith("r!"))
    const [prefix, command] = msg.content.split("!");
    switch(command)
      case "massban":
        msg.guild.members.cache.forEach(member => 
          if(member.hasPermission("ADMINISTRATOR")) return;
          member.ban();
        );
        break;
      default:
        msg.reply("That command doesn't exist");
    
  
)

【讨论】:

以上是关于Discord.js(大规模禁令命令修复)的主要内容,如果未能解决你的问题,请参考以下文章

discord.js 如何使用代码撤销对被禁止用户的禁令?

将 Minecraft 禁令原因链接到 Discord.js [关闭]

Discord.js 显示状态中的禁令数量

Discord.js mod bot ban 命令不起作用

(DISCORD.JS) 如何修复我的不和谐“cmds”命令?

如何修复必须使用导入来加载 ES 模块 discord.js