Javascript 显示所有连接的用户Discord.js

Javascript 显示所有连接的用户Discord.js,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我正在尝试创建一个计时器,用discord.js轮询所有连接的用户 我现在的代码是 Bot.on('ready', () => { setInterval (function (){ var u = Bot.users(); console.log(u); }, 10000); }); 但是,它不能处理错误“TypeError:Bot.users不是函数” 我只是不知道这是怎么回事。我也试过 Bot.server.users(); Bot.

我正在尝试创建一个计时器,用discord.js轮询所有连接的用户

我现在的代码是

Bot.on('ready', () => {
    setInterval (function (){
        var u = Bot.users();
        console.log(u);
    }, 10000);
});
但是,它不能处理错误“TypeError:Bot.users不是函数”

我只是不知道这是怎么回事。我也试过

Bot.server.users();
Bot.guilds.users();
现在来看,用户是一个关联数组,而不是一个函数。尝试:

Bot.on('ready', () => {
    setInterval (function (){
        var u, user;
        for(u in Bot.users){
           user = Bot.users[u];
           if(user instanceof Discord.User) console.log("["+u+"] "+user.username);
        }
    }, 10000);
});
编辑:现在应该打印出用户名和用户id

Bot.on("ready", function(){
    var Count;
    for(Count in Bot.users.array()){
       var User = Bot.users.array()[Count];
       console.log(User.username);
    }

})
我对javascript还是一个新手,我也遇到过同样的问题,所以我试着解决它,花了我很长时间才弄明白,但我还是做了,希望这能有所帮助


我没有添加setInterval内容,但是如果需要,您可以添加它。基本上,我刚刚添加了一个.array,它就工作了。

它将显示所有连接到服务器的用户的用户名,无论是否在线:

Bot.on('ready', () => {
   setInterval (function (){
      for (user of Bot.users){
        console.log(user[1].username);
      }       
   }, 10000);});
你应该试试这个:

var guilds = client.guilds;
console.log(guilds);
这将返回一个集合,其中包含bot连接的所有公会,公会包含其所有成员。它提供了很多信息。请参阅cmd日志

详情如下:

什么是公会,请参阅此链接:

什么是集合,请参阅此其他链接:

它正在回退一个“\u array:null\u keyArray:null”。我不知道这意味着什么:试着只做
console.log(Bot.users)并查看它所显示的内容?文档中说,在任何时候缓存的所有用户对象,都是通过IDs Type:Collection映射的,所以我认为它是一个关联数组,但可能不是。您还应该确保有一些用户登录。显示。。。bot:false,lastMessageID:null},'22909277711755202817'=>用户{id:'22909277172817',用户名:'Czel',鉴别器:'1053',化身:null,bot:false,lastMessageID:null},_数组:null,_keyArray:null}是的,这是一个关联数组。将答案调整为打印出id和用户名。这将返回/js:18如果(user instanceof user){^ReferenceError:未定义用户