Fra*_*ari 6 javascript node.js discord discord.js
我正在尝试使用discord.js 通过机器人从我的服务器获取所有用户,我编写了这段代码,但它不起作用,它告诉我:TypeError: client.guilds.get is not a function。这是我的代码:
'use strict';
const Discord = require('discord.js');
const client = new Discord.Client();
const list = client.guilds.get("myServerID");
list.members.forEach(member => console.log(member.user.username));
client.login('myTokenID');
Run Code Online (Sandbox Code Playgroud)
谢谢
对于不和谐 v14+,
GatewayIntentBits.GuildMembers这样的意图。guild.members.cache,至少调用一次 guild.members.fetch() 。我认为后续调用可以使用缓存进行。const client = new Client({
intents: [
GatewayIntentBits.GuildMembers, // MAKE SURE TO ADD THIS
],
});
client.on(Events.ClientReady, async (client) => {
console.log("client ready");
const guild = client.guilds.cache.get("<guild_id>");
console.log("fetching users");
let res = await guild.members.fetch();
res.forEach((member) => {
console.log(member.user.username);
});
})
Run Code Online (Sandbox Code Playgroud)
从discord.js v12开始,
您现在需要使用访问该guilds集合.cache,我还可以看到您正在尝试访问该members集合,因此您的解决方案是:
'use strict';
const Discord = require('discord.js');
const client = new Discord.Client();
const list = client.guilds.cache.get("myServerID");
list.members.cache.forEach(member => console.log(member.user.username));
client.login('myTokenID');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27855 次 |
| 最近记录: |