我使用 Discord.js 编写了一个 discord 机器人,它曾经获取 discord 服务器的所有用户(我只在一个 discord 服务器中拥有该机器人),但现在它只有 59 个成员。我在服务器中有 300 多个不和谐用户。
var Discord = require('discord.js');
var bot = new Discord.Client();
function getUsers() {
let users = bot.users.array();
for (let i = 0; i < users.length; i++) {
let username = `${users[i].username}#${users[i].discriminator}`;
console.log(`[${i}] ${username}`);
}
}
最佳答案
你必须使用方法 .fetchMembers()
对于机器人所在的每个不和谐服务器。
尝试使用以下代码:
function getUsers() {
let guilds = bot.guilds.array();
for (let i = 0; i < guilds.length; i++) {
bot.guilds.get(guilds[i].id).fetchMembers().then(r => {
r.members.array().forEach(r => {
let username = `${r.user.username}#${r.user.discriminator}`;
console.log(`${username}`);
});
});
}
}
关于javascript - Discord 机器人没有获得所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51691932/