如何在Guild Discord.js中获取成员列表

时间:2020-07-31 18:26:27

标签: discord.js

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

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

我已经看过这个stack overflow question,但我认为它已经过时了,因为它引发了一个错误,指出guilds未定义。这是我上面具有修改后的代码的错误:

TypeError: list.members.forEach is not a function

2 个答案:

答案 0 :(得分:3)

正如Jakye指出的那样,您需要将list.members更改为list.members.cache

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

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

list.members.cache.each(member => {
  // do stuff with guild members here
});

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

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

答案 1 :(得分:0)

由于您使用的是Discord JS v12,因此您需要使用list.members.forEach()来代替list.members.cache.forEach()