如何获取公会 Discord.js 中的成员列表

JD *_*D M 3 discord.js

我正在尝试使用 Discord.js v12 获取公会中的所有成员。这就是我所拥有的:

    const list = client.guilds.cache.get("720352141709148200");
    list.members.forEach(member => {
       //do stuff with guild memebrs here
    }
Run Code Online (Sandbox Code Playgroud)

我已经看过这个堆栈溢出问题,但我认为它已经过时了,因为它会抛出一个错误,说它guilds是未定义的。这是我在上面的修改后的代码中得到的错误:

TypeError: list.members.forEach is not a function
Run Code Online (Sandbox Code Playgroud)

Dae*_*ast 6

正如 Jakye 所指出的,您需要更改list.memberslist.members.cache.

但是,您不能使用.forEach(),因为这是一个数组方法并list.members.cache返回一个 Discord 集合 ( Discord.Collection())。

代替.forEach(),您可以使用.each()

list.members.cache.each(member => {
  // do stuff with guild members here
});
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用.array()然后.forEach()在其上使用将集合转换为值数组:

list.members.cache.array().forEach(member => {
  // do stuff with guild members here
});
Run Code Online (Sandbox Code Playgroud)