迭代';forEach&x27;具有角色的成员

迭代';forEach&x27;具有角色的成员,foreach,collections,discord,discord.js,Foreach,Collections,Discord,Discord.js,我发现有几篇文章似乎试图解决这个问题,但我所看到的解决方案/尝试都不适合我 我有一个“角色”,我的bot成功获取该角色。根据命令,我希望bot然后遍历具有该角色的每个成员,并为他们提供其他角色 它根本无法工作,因此(出于测试/调试目的)我目前有以下代码: const teamCaptainRole = await message.guild.roles.cache.find(role => role.name === "Team Captain"); console.l

我发现有几篇文章似乎试图解决这个问题,但我所看到的解决方案/尝试都不适合我

我有一个“角色”,我的bot成功获取该角色。根据命令,我希望bot然后遍历具有该角色的每个成员,并为他们提供其他角色

它根本无法工作,因此(出于测试/调试目的)我目前有以下代码:

const teamCaptainRole = await message.guild.roles.cache.find(role => role.name === "Team Captain");
console.log(teamCaptainRole.members)
await teamCaptainRole.members.forEach(member => {
  console.log(member)
});
“teamCaptainRole”之前的“控制台日志”显示我正在成功获取该角色。“teamCaptainRole.members”的控制台日志返回:

我已经在谷歌上搜索了这些词,但我发现自己陷入了一场白费力气的追逐——我找不到深入挖掘这张地图/收藏的方法。我以前没有任何使用地图的经验,但是我很了解数组和对象。“forEach”似乎永远不会触发,但也不会抛出任何错误——只是什么都没有发生。现在,我希望能够看到一系列具有该角色的成员的控制台日志,以便我知道forEach正在工作

有什么帮助吗?

让角色=message.guild.roles.cache.find(r=>r.name==“队长”); 让giveRole=message.guild.roles.cache.find(r=>r.name==“在此处输入角色”); 让users=role.members.map(m=>message.guild.member(m.user)); for(让用户对用户){ user.roles.add(giveRole); }
role
->我们将从中搜索用户的角色。
giveRole
->我们将为所有拥有
角色的成员提供的角色
用户
->具有
角色的用户

您也可以使用
users.forEach()
,但我使用了一个基本for循环。我们将拥有该角色的用户映射为GuildMember对象,这样我们就可以在for循环中添加
giveRole

let role=message.guild.roles.cache.find(r=>r.name==“Team Captain”);
让giveRole=message.guild.roles.cache.find(r=>r.name==“在此处输入角色”);
让users=role.members.map(m=>message.guild.member(m.user));
for(让用户对用户){
user.roles.add(giveRole);
}
role
->我们将从中搜索用户的角色。
giveRole
->我们将为所有拥有
角色的成员提供的角色
用户
->具有
角色的用户


您也可以使用
users.forEach()
,但我使用了一个基本for循环。我们将那些拥有该角色的用户映射为GuildMember对象,这样我们就可以在for循环中添加
giveRole

嘿,谢谢,但我仍然无法实现这一点。我已将其设置为:
constteamcaptainrole=wait message.guild.roles.cache.find(role=>role.name==“队长”);const teamCaptains=wait teamCaptainRole.members.map(m=>message.guild.member(m.user));控制台日志(队长)控制台日志告诉我:
[]
因此,forEach和正常的“for”循环没有实现任何功能。很好,它就可以工作了!你的公会没有任何用户拥有这个角色^^有趣的是,我有足够的能力来检查类似的事情-它获取的角色(通过控制台日志检查,它是正确的角色)有14个成员具有该角色。嗯,好的,如果使用我的for循环,
user
的输出是什么?顺便说一句,它对我有效,通常应该可以正常工作。嘿,谢谢,但我仍然无法让它工作。我已将其设置为:
constteamcaptainrole=wait message.guild.roles.cache.find(role=>role.name==“队长”);const teamCaptains=wait teamCaptainRole.members.map(m=>message.guild.member(m.user));控制台日志(队长)控制台日志告诉我:
[]
因此,forEach和正常的“for”循环没有实现任何功能。很好,它就可以工作了!你的公会没有任何用户拥有这个角色^^有趣的是,我有足够的能力来检查类似的事情-它获取的角色(通过控制台日志检查,它是正确的角色)有14个成员具有该角色。嗯,好的,如果使用我的for循环,
user
的输出是什么?顺便说一句,它对我有效,通常应该可以正常工作。
Collection [Map] {}