如何获取大型公会discord.js的所有成员

时间:2020-05-01 12:36:23

标签: javascript node.js npm discord.js

我正在尝试获取大型公会所有成员的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 个答案:

答案 0 :(得分:0)

假设您使用的是最新的稳定版本(v12),则可以使用不带任何参数的GuildMemberManager#fetch来获取行会的所有成员。