如何获取大型公会 discord.js 的所有成员
Posted
技术标签:
【中文标题】如何获取大型公会 discord.js 的所有成员【英文标题】:How to fetch all members of a large guild discord.js 【发布时间】:2020-08-15 22:51:27 【问题描述】:我正在尝试获取一个大型公会的所有成员的 ID。这个公会有大约2000人。我正在使用这个:
const list = client.guilds.get("id");
list.fetchMembers().then(r =>
r.members.array().forEach(r =>
let userid = r.id
msg.channel.send(userid)
)
);
它适用于我的 3 人测试公会,但是一旦我在大型公会尝试它,我就会收到此错误
(node:8632) UnhandledPromiseRejectionWarning: Error: Members didn't arrive in time.
at Timeout._onTimeout (c:\Users\Han75\Documents\bot\node_modules\discord.js\src\client\Client.js:436:7)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)
我知道是因为超时。我该如何阻止这种情况?
【问题讨论】:
【参考方案1】:假设您使用的是最新的稳定版本 (v12),您可以使用不带参数的 GuildMemberManager#fetch 来获取公会的所有成员。
【讨论】:
以上是关于如何获取大型公会 discord.js 的所有成员的主要内容,如果未能解决你的问题,请参考以下文章