Node.js 无法读取属性';长度';使用sendMessage函数定义未定义的

Node.js 无法读取属性';长度';使用sendMessage函数定义未定义的,node.js,discord,discord.js,Node.js,Discord,Discord.js,所以我希望我的机器人在某个服务器上每10分钟向一个随机成员发送一个dm。当我的机器人从服务器向每个人发送一个dm时,它会发送一条完整的消息 但当我启动我的机器人时,他说这个错误代码:无法读取未定义的属性“length” if (message.content.startsWith(botconfig.prefix + 'dmall')) { console.log("demo"); var list = message.guild.members; sendMessag

所以我希望我的机器人在某个服务器上每10分钟向一个随机成员发送一个dm。当我的机器人从服务器向每个人发送一个dm时,它会发送一条完整的消息

但当我启动我的机器人时,他说这个错误代码:无法读取未定义的属性“length”

 if (message.content.startsWith(botconfig.prefix + 'dmall')) {
    console.log("demo");
    var list = message.guild.members;
    sendMessage(list);
  }
});


function sendMessage(list) {
  setTimeout(function () {
    for (i = 0; i < list.length; i++) {
      console.log(list.length);
    }

    console.log("I'm done, mate!");
    sendMessage();
  }, 10 * 1000);
}
if(message.content.startsWith(botconfig.prefix+'dmall')){
控制台日志(“演示”);
var list=message.guild.members;
发送消息(列表);
}
});
函数sendMessage(列表){
setTimeout(函数(){
对于(i=0;i
控制台:
演示
4(是成员的金额)
4.
4.
4.
对于(i=0;i
第二次调用
sendMessage
函数时,您没有传递
列表
参数

function sendMessage(list) {
  setTimeout(function () {
    for (i = 0; i < list.length; i++) {
      console.log(list.length);
    }

    console.log("I'm done, mate!");
    sendMessage(list); // Added this
  }, 10 * 1000);
}
函数发送消息(列表){
setTimeout(函数(){
对于(i=0;i
它是否记录了
“我完成了,伙计!”
?是的,但它表示无法读取未定义的属性'length'。
列出了[I]
记录了什么?服务器中的成员数好的。第二次调用
sendmages()
时,您没有传递
list
参数。它应该是
sendmages(list)
console.log(“我做完了,伙计!”)之后。
现在可以工作了,谢谢!但是为什么它发送的成员数量是原来的4倍?@MoadTouhafi建议为您的查询创建一个新问题。您可以共享链接(新问题)这里。@MoadTouhafi同样,如果我的回答满足了你的疑问,你介意接受它作为正确的答案吗?你怎么认为?这可能会帮助你:)
function sendMessage(list) {
  setTimeout(function () {
    for (i = 0; i < list.length; i++) {
      console.log(list.length);
    }

    console.log("I'm done, mate!");
    sendMessage(list); // Added this
  }, 10 * 1000);
}