guild.members.fetch();抛出错误:类型错误:无法读取未定义的属性(读取"成员")不确定为什么?



我制作了一个discordbot,并试图使用guild.members.fetch((获取服务器中每个人的姓名/id;

然而,无论我尝试了什么,它总是会发送错误TypeError:无法读取未定义(读取"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')

我几乎尝试了我在网上找到的所有东西,但都无济于事。我对编码和discord机器人制作相对陌生,所以我不确定。我启用了公会成员意图,将其放入异步函数中,并带有等待和启动。

这是我的第一个问题,如果我遗漏了东西或做错了事情,很抱歉提前谢谢。

guild声明放入函数中。当函数被调用时,客户端应该已经准备好了,行会将被缓存

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

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

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

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

相关内容

最新更新