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

时间:2017-03-30 18:42:42

标签: 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.guilds.users();

4 个答案:

答案 0 :(得分:1)

查看https://discord.js.org/#/docs/main/master/class/Client?scrollTo=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。

答案 1 :(得分:1)

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

})

我仍然对javascript很新,而且我也有同样的问题,所以我尝试解决它,让我永远想弄清楚,但无论如何我做了,希望这有帮助!< / p>

我没有添加setInterval,但如果你愿意,你可以添加它。基本上我刚刚添加了一个 .array 并且它有效。

答案 2 :(得分:1)

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

Bot.on('ready', () => {
   setInterval (function (){
      for (user of Bot.users){
        console.log(user[1].username);
      }       
   }, 10000);});

答案 3 :(得分:1)

嘿,你最好试试这个

代码

    var guilds = client.guilds;
    console.log(guilds);

这将返回一个集合,其中包含与该机器人连接的所有公会,并且该公会包含其所有成员,该公会给出了很多信息,请参见cmd日志

更多参考这里

公会到底是什么?使用此链接

https://discord.js.org/#/docs/main/stable/class/Guild

收集到底是什么东西

https://discord.js.org/#/docs/main/stable/class/Collection