在 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);
});
相关文章