所以我在discord.js中并且正在执行一条命令,该命令会将服务器上的所有人踢出。问题是,我想踢除我以外的所有人,但我不知道该怎么做,也没有找到任何教程。这是我的代码:
bot.on("message", async message => {
if(message.content.startsWith(`${prefix}gone`)) {
message.guild.members.cache.forEach(member => member.ban())
}
}
)
我希望有人帮忙。预先谢谢你+
答案 0 :(得分:1)
尝试这样的事情:
const MY_USER_ID = 'your user id'
bot.on("message", async message => {
if(message.content.startsWith(`${prefix}gone`)) {
message.guild.members.cache.forEach(member => {
if (member.id !== MY_USER_ID) {
member.ban()
}
})
}
})
答案 1 :(得分:1)
在您的.forEach()
循环中,您需要添加检查以查看member
是否具有与您相同的ID,因此您可以通过以下两种方式进行操作:
通过使漫游器忽略键入命令的用户:
message.guild.members.cache.forEach(member => {
if (member.id !== message.author.id) member.ban()
})
或者,如果您只想使其不被禁止,则:
message.guild.members.cache.forEach(member => {
if (member.id !== 'USER_ID') member.ban()
})
您也可以像这样在.filter()
内写这些支票:
message.guild.members.cache.filter(member => member.id !== 'USER_ID').forEach(member => member.ban())