从角色中获取所有成员只返回Bot和发送命令的用户



所以我试图用以下代码获取所有具有特定角色的服务器成员

// REMOVE FROM ALL -----------------------------------------------
if(args[0] == 'removeFromAll'){
var role = msg.mentions.roles.first();
if(role == null) {
Embeds.removeFromAllNoRole(msg)
break;
}
let roleID = role.id;
const membersWithRole = msg.guild.members.cache.filter((member) => member.roles.cache.some((role) => role.id === roleID)).map(m => m)
membersWithRole.forEach(member => {
member.roles.remove(roleID)
.then(function() {
console.log(`Removed role from user ${member.user.tag}!`);
})
})
Embeds.removeFromAllFinished(msg)
}

然后删除它们的角色。然而,这只会将角色从机器人自身和发送命令的用户中删除。

我至少尝试过所有这些解决方案:

代码返回所有成员,而不是角色中的成员

https://www.codegrepper.com/code-examples/javascript/discord.js+v12.2.0+get+all+members+of+a+角色

如何从公会的每个成员中删除一个角色

如何列出所有在Discord.Js 中扮演角色的成员

他们中没有一个不为我工作!

出了什么问题,我该如何解决?

问题是故意的!这是一个有类似问题的SOF问题的链接,以及如何解决它!

Discord.js Bot欢迎会员,分配角色并向他们发送DM

最新更新