【发布时间】:2020-04-29 17:23:52
【问题描述】:
我正在尝试使用以下代码将成员的完整列表(包括离线成员)导出为 .csv。虽然使用“message.guild.members”,但我只捕获缓存的成员。我如何更改它以包含所有人,非缓存成员?
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")
})
}
【问题讨论】:
标签: node.js discord discord.js