【问题标题】:Cannot read property 'members' of undefined无法读取未定义的属性“成员”
【发布时间】:2020-05-10 06:07:57
【问题描述】:

const Discord = require("discord.js");
const bot = new Discord.Client();
const prefix ='!';
require("dotenv").config();




bot.on('message' , message => {
  if (message.content.startsWith('!check')) {

    const list = bot.guilds.cache.get("708789786579828736");

    list.guild.members.forEach(member => console.log(member.user.username));

    if (member) {
      for (user of list.members) {
        console.log(user[1].username);
      }
    }

  }
})

说无法读取未定义的属性“成员”。我如何定义它?请记住,我正在尝试引用服务器的所有成员并对它们执行操作,例如添加角色。

【问题讨论】:

  • 谢谢大家,我会尝试每一个,看看我是否得到正确的答案。

标签: javascript node.js discord.js


【解决方案1】:

你可以试试这个吗?

const Discord = require("discord.js");
const bot = new Discord.Client();
const prefix ='!';
require("dotenv").config();




bot.on('message' , message => {
  if (message.content.startsWith('!check')) {

    const list = bot.guilds.cache.get("708789786579828736");

    //list.guild.members.forEach(member => console.log(member.user.username));

    if (list.guild.members) {
      for (user of list.guild.members) {
        console.log("--user--");
        console.log(user);
        console.log("--user[1].username--");
        console.log(user[1].username);
      }
    }

  }
})

【讨论】:

    【解决方案2】:

    您的问题是由您的if 语句和for 循环不是forEach() 循环引起的。

    list.guild.members.forEach(member => { 
    
    console.log(member.user.username));
    
        if (member) {
          for (user of list.members) {
            console.log(user[1].username);
          }
        }
    })
    

    【讨论】:

      【解决方案3】:

      我对 discord.js 了解不多,但如果我是你,我会首先尝试通过在调用 bot.guilds.cache.get("708789786579828736"); 之后输出你的 list 对象来调试它
      然后,您将能够查看 list 是否已正确初始化并包含您尝试访问的所有字段和对象集合。
      然后,根据导致错误的确切行,问自己以下问题:

      • 调用list.guild.members时是否存在list.guild
      • 此表达式是否存在listfor (user of list.members) {...}

      此外,正如 Syntle 在他的回答中所说,您包含 if(member){...} 的行不是您用来枚举和记录 list.guild.members 的所有成员的 forEach 循环的一部分;这可能是您程序的另一个问题。

      祝你好运!

      【讨论】:

        猜你喜欢
        • 2018-06-02
        • 2021-04-16
        • 2021-03-30
        • 2021-09-01
        • 2020-08-24
        • 2021-12-10
        • 1970-01-01
        • 2021-05-17
        • 1970-01-01
        相关资源
        最近更新 更多