Javascript 显示所有连接的用户Discord.js
我正在尝试创建一个计时器,用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.
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:未定义用户