无法读取未定义的属性(读取 'members')

Cannot read properties of undefined (reading 'members')

我一直在寻找此类错误的各种答案,但我尝试的所有方法要么是错误,要么就是不起作用。 基本上我正在尝试为我的 Discord 服务器制作一个机器人,并有一个存在状态说明我的服务器中有多少成员。我每次都会收到此错误: name: `${guild.members.filter(member => !member.user.bot).size} users!` ^ TypeError: Cannot read properties of undefined (reading 'members') 我已经检查过公会 ID 是否正确,我没有语法错误等等。

代码如下:

const guild = client.guilds.cache.get("745807908071145564");
client.once("ready", () => {
  console.log("Bot is ready!");
  setInterval(() => {
    client.setPresence({
      status: "online", 
      activity: {
        name: `${guild.members.filter(member => !member.user.bot).size} users!`, 
        type: "WATCHING"
      }
    })
    .catch(console.error);
  },5000); // 5 seconds just for testing
});

尝试一下,使用 activity 而不是 presence,还需要从缓存中获取成员,这是未定义错误的来源。

const guild = client.guilds.cache.get("745807908071145564");

client.once("ready", () => {
  console.log("Bot is ready!");
  setInterval(() => {
    client.user.setActivity({
        name: `${guild.members.cache.filter(member => !member.user.bot).size} users!`, 
        type: "WATCHING"
    })
    .catch(console.error);
  },5000); // 5 seconds just for testing
});

如果你想使用 presence 你也可以这样做

const guild = client.guilds.cache.get("745807908071145564");

client.once("ready", () => {
  console.log("Bot is ready!");
  setInterval(() => {
    client.user.setPresence({
        status: 'online',
        activity: {
            name: `${guild.members.cache.filter(member => !member.user.bot).size} users!`, 
            type: "WATCHING"
        }
    })
    .catch(console.error);
  },5000); // 5 seconds just for testing
});