guild.members.fetch(); throws a error: TypeError: Cannot read properties of undefined (reading 'members') not sure why?

guild.members.fetch(); throws a error: TypeError: Cannot read properties of undefined (reading 'members') not sure why?

我正在制作一个不和谐的机器人,我正在尝试使用 guild.members.fetch();

获取服务器中每个人的 names/id

但是无论我尝试过什么它总是发送错误 类型错误:无法读取未定义的属性(读取 'members')

这是我使用的代码。

const Discord = require('discord.js');
const { Client, Intents } = require('discord.js');
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS] });
const guild = client.guilds.cache.get("Server_ID");
async function fetchmembs() {
    const members = await guild.members.fetch();
    return members;
}
members = fetchmembs();
console.log(members);

它总是抛出这个错误:

const members = await guild.members.fetch();                                  
                            ^ 
TypeError: Cannot read properties of undefined (reading 'members')

我已经尝试了几乎所有我在网上找到的东西,但没有任何帮助。我对编码和不和谐机器人制作比较陌生,所以我不确定。 我启用了公会成员意图,将其放入异步函数中,等待并开始。

这是我的第一个问题,如果我遗漏了一些东西或做错了什么,我深表歉意 提前致谢。

您的机器人缓存中没有公会。您需要获取它而不是从公会缓存中获取它:

const guild = await client.guilds.fetch('Guild_ID');

记得把它放在异步模块中,否则await将不可用

guild 声明放入函数中。调用该函数时,客户端应该准备就绪,公会将被缓存

async function fetchmembs() {
    const guild = client.guilds.cache.get("Server_ID");
    const members = await guild.members.fetch();
    return members;
}