I'm trying to export a full list of Members, including offline ones into a .csv using the code below. Using "message.guild.members" though, I only catch the cached Members. How could I change it to get everybody, non-cached Members included?
const auditUsers = (message) => {
console.log(message)
let allMembers = []
for (let m of message.guild.members.values()){
if (m.user.bot == true) continue
let member = {
Name: m.user.username,
Tag: m.user.tag,
UserID: `<@${m.user.id}>`,
JoinDate: m.joinedAt.toDateString()
}
let memberRoles = []
for (let r of m.roles.values()){
if (r.name != "@everyone") memberRoles.push(r.name)
}
member.Roles = memberRoles.join(', ')
allMembers.push(member)
}
const json2csvParser = new Json2csvParser()
const csv = json2csvParser.parse(allMembers)
fs.writeFileSync(`./${message.guild.name}_audit.csv`, csv, {flag: 'w'}, function(err){
if (err) consoleLog('Error saving CSV file:' + err.message, "ERR")
})
}
Run fetchMembers()
first before accessing the users.