【发布时间】:2021-04-12 11:47:45
【问题描述】:
我在获取服务器上所有用户的数据时遇到了问题。目前,当我尝试第一种方法时,我只得到了 21 人(在线模组、管理员和机器人),而不是全部 546 人。
我找到了.fetch() 的第二种方法,但它给了我 0 个用户,所以我认为我没有正确使用它(但它没有给我任何错误,比如当我尝试使用 await 和 forEach() 之后)。这个机器人的目的是每天更新每个用户的排名,rankUpAll() 工作得很好。
const job = new CronJob('29 18 * * *', function () {
const guild = client.guilds.cache.get(serverId);
let Embed = new Discord.MessageEmbed()
.setColor('#FFC900')
.setFooter('~~~ qbeczek', 'https://i.imgur.com/xutibOg.png')
.setTitle('Cześć!');
let seenUser = 0;
let listOfUsers;
guild.members.cache.forEach(member => {
seenUser++;
// if (member.id == myid) {
// rankUpAll(member, guild, Embed);
// }
});
console.log(`Fetched: ${seenUser}`);
seenUser = 0;
const wait = new Promise(() => { listOfUsers = guild.members.fetch() });
Promise.all([wait]).then((values) => {
listOfUsers.forEach(member => {
//console.log(member.displayName);
seenUser++;
// if (member.id.match(myid)) {
// rankUpAll(member, guild, Embed);
// }
})
});
console.log(`Fetched: ${seenUser}`);
}, null, true, 'Poland');
job.start();
})
【问题讨论】:
标签: discord discord.js