从角色获取所有成员仅返回 Bot 和发送命令的用户 [重复]

Posted

技术标签:

【中文标题】从角色获取所有成员仅返回 Bot 和发送命令的用户 [重复]【英文标题】:Getting all members from role returns only the Bot and the user sending the command [duplicate] 【发布时间】:2021-07-04 16:41:42 【问题描述】:

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

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

而且没有一个对我有用!

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

【问题讨论】:

我认为这与意图有关。看看this对你有没有帮助。 @WorthyAlpaca 解决了!谢谢! 【参考方案1】:

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

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

【讨论】:

以上是关于从角色获取所有成员仅返回 Bot 和发送命令的用户 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Java Discord Bot - 获取角色成员?

Discord bot 从用户消息中获取照片

bot如何从用户python中删除所有角色

JDA 事件获取器返回 null 并让所有成员在一个角色中只返回机器人本身

如何获取不和谐服务器中特定角色的所有成员的列表?

Discord.js 删除所有成员角色