javascript - Discord.js(大规模禁令命令修复)
问题描述
编码语言 = DISCORD.JS | 命令 = 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.
解决方案
在我看来大部分都很好。
如果你是唯一被禁止的人,也许控制台.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");
}
}
})
推荐阅读
- vue.js - Vue.js 2:范围样式不适用于 sass/scss
- python - 熊猫在添加新列时覆盖不同的数据框
- mysql - 无服务器框架、打字稿、nodejs 和 mysql - 错误:接收到的数据包顺序错误
- javascript - Javascript 会在执行前简化语句吗?
- swift - Mac OS:在查找器属性中显示自定义文件大小并在没有内核的情况下获取信息
- android - 使 ListView 平滑滚动
- html - 使所有 div 大小相同 CSS Flex
- ionic3 - 单击选项卡有时会显示错误的页面
- sql - 如何编写一个 ActiveRecord 范围来返回最近创建的 2 条属于其父级的记录?
- sas - SAS LIBNAME 包含数据集文件夹的目录