我正在使用Discord API和node.js.在Discord服务器中,我们可以将成员分配给特定的"角色"。 "成员"是其中之一," admin"是另一个。在这种情况下,我们正在使用自定义的,而不是重要的。 当我在Discord服务器上获取某个角色的每个成员时,API会返回一个类似于以下内容的集合:
RoleMembers = {userID:{user}, userID:{user}, userID:{user}, userID:{user}}
问题是如果不知道关键字(userID),我就无法获取{user}对象中的任何数据。我已经尝试将它视为一个数组并循环索引,但它只返回undefined。
我不清楚如何处理API为我提供的数据。
API文档告诉我这是返回的内容:
.members READ-ONLY
The cached guild members that have this role
Type: Collection<Snowflake, GuildMember>
尝试过这个循环,但它并没有给我任何东西。:
var roles = message.channel.guild.roles;
var roleMembers = roles.get(settings.ptID).members;
for (var member in roleMembers) {
var jsonMember = {
ID:member.id,
Name:member.nickname
}
obj.Members.push(member);
}
我有没有办法将集合转换为索引数组?或者获取关键字,以便我可以循环获取用户对象中需要的数据?老实说,我甚至不确定是什么&#34;收集&#34;在这种情况下意味着,或者如何对其进行操作。
Object.keys(roleMembers).map(userId => roleMembers[userId])
但是正在运行
Object.keys(roleMembers).map(userId => console.log(userId))
给我没有控制台日志。仍然不确定我做错了什么。