如何将服务器中每个用户的 id 放入数组中? (Discord.js v12)
Posted
技术标签:
【中文标题】如何将服务器中每个用户的 id 放入数组中? (Discord.js v12)【英文标题】:How do I get every user's id in a server into an array? (Discord.js v12) 【发布时间】:2020-10-04 16:50:13 【问题描述】:我需要帮助来获取服务器中的所有用户 ID。我已经尝试了所有解决方案,显然它对我不起作用。
我已经尝试过这个(这与我最相关)
// 获取 Guild 并将其存储在变量“list”下 常量列表 = client.guilds.cache.get("335507048017952771");
// 从 Guild 中遍历 GuildMembers 的集合,获取每个成员的用户名属性 list.members.forEach(member => console.log(member.user.username));
【问题讨论】:
如果您尝试了 all 个 htem,则没有什么可建议的了。 提供一些源代码以获得有用的建议。 好吧,我想描述应该是“我需要帮助以获取服务器中的所有用户 ID。我已经尝试了所有我能找到的解决方案,显然,它对我不起作用。” 【参考方案1】:公会的成员存储在一个集合中。您可以使用map() 方法创建一个仅包含 ID 的数组。
const Guild = client.guilds.cache.get("335507048017952771"); // Getting the guild.
const Members = Guild.members.cache.map(member => member.id); // Getting the members and mapping them by ID.
console.log(Members);
// --> ["1234567890054356", "1323534709650967", "436567540796390"] etc...
【讨论】:
【参考方案2】:使用 map 可以正常工作,但 keys() 是另一种解决方案,它返回一个 map 迭代器
const list = <Guild>.members.cache.keys();
list.forEach(id => console.log(id));
如果你想把它变成一个数组,只需使用扩展运算符
const arr = [...list];
【讨论】:
以上是关于如何将服务器中每个用户的 id 放入数组中? (Discord.js v12)的主要内容,如果未能解决你的问题,请参考以下文章