3 votes

Comment obtenir une liste des membres d'une guilde Discord.js

J'essaie d'obtenir tous les membres d'une guilde en utilisant Discord.js v12. Voici ce que j'ai :

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

J'ai regardé ceci Question sur le dépassement de pile mais je pense qu'il n'est pas à jour car il envoie une erreur disant que guilds est indéfinie. C'est l'erreur que j'obtiens avec le code modifié que j'ai ci-dessus :

TypeError: list.members.forEach is not a function

7voto

Daemon Beast Points 2389

Comme l'a souligné Jakye, tu dois changer list.members à list.members.cache .

Cependant, vous ne pouvez pas utiliser .forEach() car il s'agit d'une méthode de type tableau et list.members.cache renvoie une collection Discord ( Discord.Collection() ).

Au lieu de .forEach() vous pouvez utiliser .each() :

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

Vous pouvez également convertir la collection en un tableau de valeurs en utilisant la méthode suivante .array() et ensuite en utilisant .forEach() sur ce point :

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

1voto

Jakye Points 4414

Puisque vous utilisez Discord JS v12, au lieu de list.members.forEach() vous devez utiliser list.members.cache.forEach() .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X