在 Discord.js 中列出可踢成员

2022-01-10 00:00:00 discord javascript discord.js

所以我正在尝试清理我的旧服务器,并且我希望我的机器人踢出名为bot"的角色以下的所有人.(并让每个人都高于它)所以我认为(如果我错了,请纠正我)将创建一个可踢成员的列表,然后踢每个成员(forEach).但是,我找不到制作此列表的方法.任何帮助,将不胜感激.谢谢!

So I am trying to clean up my old server, and I want my bot to kick everyone below a role named "bot". (and keep everyone above it) So I think (correct me if I am wrong) would be to create a list of kickable members and then kick each one (forEach). However, I can't find a way to make this list. Any help would be appreciated. Thanks!

推荐答案

你可以用 Role.comparePositionTo

// <guild> is a placeholder for the guild object
const role = <guild>.roles.cache.find(r => r.name === "bot") // get the role

<guild>.members.cache.each((member) => {
 const highest = member.roles.highest; // get the member's highest role
 
 // if the member's highest role is lower than the specified role, kick them
 if (role.comparePositionTo(highest) > 0)
  member.kick().catch(console.error);
});

相关文章