如何在 discord.js v12 中列出所有公会成员

Posted

技术标签:

【中文标题】如何在 discord.js v12 中列出所有公会成员【英文标题】:How to list all guild members in discord.js v12 【发布时间】:2021-06-26 18:02:24 【问题描述】:

我正在尝试在机器人启动时列出来自指定服务器的所有用户,我正在使用 discord.js v12.5.1

const guild = client.guilds.cache.find(g => g.id === "my guild id");
guild.members.forEach(member => console.log(member.username));

我收到的错误:

guild.members.forEach(member => console.log(member));
      ^

TypeError: Cannot read property 'members' of undefined

如何解决这个问题?如何列出所有公会成员?

【问题讨论】:

【参考方案1】:

guild.membersGuildMemberManager,因此您需要使用其 .cachefetch() 成员。

另一个错误是members没有username属性,只有users有,所以你需要使用member.user.username来代替:

const id = 'YOUR_ID';
const guild = client.guilds.cache.find((g) => g.id === id);

if (!guild)
  return console.log(`Can't find any guild with the ID "$id"`);

guild.members
  .fetch()
  .then((members) =>
    members.forEach((member) => console.log(member.user.username)),
  );

【讨论】:

以上是关于如何在 discord.js v12 中列出所有公会成员的主要内容,如果未能解决你的问题,请参考以下文章

如何从用户 discord.js v12 中删除所有角色?

Discord.js V12 如何显示具有特定角色的所有成员?

如何在 Discord.JS v12 中查看用户正在玩的游戏

如何将服务器中每个用户的 id 放入数组中? (Discord.js v12)

如何检查我的机器人是不是可以在 discord.js v12 中添加角色?

如何定位文件 discord.js v12?