Javascript discord.js检查特定用户ID是否具有特定角色ID
我有一些我想要的代码;获取具有特定角色的所有用户(他们的“团队”)。然后,对于特定团队中的每个用户,我想调查他们的其他角色 我将团队(角色)放在一个阵列中,因此我可以循环遍历每个团队Javascript discord.js检查特定用户ID是否具有特定角色ID,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我有一些我想要的代码;获取具有特定角色的所有用户(他们的“团队”)。然后,对于特定团队中的每个用户,我想调查他们的其他角色 我将团队(角色)放在一个阵列中,因此我可以循环遍历每个团队 //pop a role to work with for this loop const therole = teams.pop(); //find role for this loop const Role = message.guild.roles.cache.find(role => role.na
//pop a role to work with for this loop
const therole = teams.pop();
//find role for this loop
const Role = message.guild.roles.cache.find(role => role.name == therole );
//filtered by those with therole for the loop, fill members array with users ids with that role
const Members = message.guild.members.cache.filter(member => member.roles.cache.find(role => role == Role)).map(member => member.user.id);
现在,我有了一个数组成员,其中包含角色为“therole”的用户的成员ID。这部分是有效的
然后,我想对存储在Members数组中的每个成员ID执行的操作是查找该成员并检查它们是否具有各种其他角色(例如,我具有时区角色)
所以我开始循环
for (var i=Members.length; i--;){
但我一直在想如何通过Members数组中的ID查找成员,并检查他们是否有其他角色。我得到的最接近的是
var haseurope = message.member.roles.cache.some(r => r.name === 'Europe');
//Debug log
console.log(i + ' The member is:' + Members[i]);
console.log(i + ' Has Europe is:' + haseurope);
成员数组的长度为6个ID,有时我可以使haseEurope等于true 6次,有时等于false 6次,具体取决于我如何定义haseEurope变量。上述示例日志(未命名的ID)
我想发生的是,当我运行message.member.roles.cache.some(r=>r.name=='Europe')代码>成员零件不会因循环的每次迭代而更改。但我似乎不能做这样的事情
message.Members[i].roles.cache.some(r => r.name === 'Europe');
我如何检查;“对于Members Array中的每个ID,此用户ID是否具有“Europe”角色
感谢大家的帮助!让members=message.guild.members.cache.array();
让role=message.guild.roles.cache.find(r=>r.name==='Europe');
对于(让成员中的成员){
让hasRole=member.roles.cache.has(role.id);
log(`${member.id}:${hasRole}`);
}
这是一个简单的示例,说明了如何找出哪个用户具有“Europe”角色。members
是GuildMembers数组。role
是角色。然后我使用了基本的foreach循环。在hasRole
中,我们检查该成员是否具有该角色
示例输出:
283929434854129664: true
292953664492929025: false
这段代码似乎获取了所有服务器成员,并检查它们是否都是“Europe”角色。是否有办法将其限制为仅查找我已保存在名为members的数组中的用户ID?当我运行您的示例时,它似乎输出了服务器上所有30多个成员的成员ID。
283929434854129664: true
292953664492929025: false