我试图创建一个使用discord.js轮询所有连接用户的计时器。
我目前的代码是......
Bot.on('ready', () => {
setInterval (function (){
var u = Bot.users();
console.log(u);
}, 10000);
});
但是,它不能处理错误" TypeError:Bot.users不是函数"。
我不确定这是如何运作的。我也试过......
Bot.server.users();
Bot.guilds.users();
答案 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
收集到底是什么东西