javascript - 如何在 discord.js v12 中列出所有公会成员
问题描述
我正在尝试在机器人启动时列出来自指定服务器的所有用户,我正在使用 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
如何解决这个问题?我如何列出所有公会成员?
解决方案
guild.members
是一个GuildMemberManager
所以你要么需要使用它要么使用.cache
成员fetch()
。
另一个错误是member
s 没有username
属性,只有user
s 有,所以需要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)),
);
推荐阅读
- javascript - Getting TypeError Arg 1 when calling save method of jsPDF
- python - 无法将 CSS 应用于 GtkEntry 小部件(GTK3 / gi / Python)不工作
- r - 如果不符合某些条件,则将多维数组中的所有值设置为 0
- python - 最后一个子进程调用在 FFMPEG 的串联代码中不起作用。我应该如何解决这个问题?
- django - 如何在 Django Admin 中对外部字段启用列排序
- java - 带有按钮的 Swing JPanel 无法重绘
- python - sys.exc_info() 的目的是什么?
- macos - 在 macOS Catalina 上无法识别 Conda 命令
- javascript - 如何在 Vue 中调用可重用组件上的方法
- angular - 配置我的应用程序以阻止它重写 URL?