从角色中获取所有成员仅返回机器人和发送命令的用户

时间:2021-04-08 19:01:40

标签: javascript discord discord.js

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

                // 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)
                }

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

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

Code returns all members and not the members in the role

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

How to remove a role from every member of the guild

How do I list all Members with a Role In Discord.Js

他们都没有为我工作!

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

1 个答案:

答案 0 :(得分:0)

问题出在意图上!这是具有类似问题的 SOF 问题的链接以及如何解决它!

Discord.js Bot Welcomes Member, Assign a Role and send them a DM