【问题标题】:(Discord.js) How to get a full list of Members instead of only the cached ones(Discord.js)如何获取成员的完整列表,而不仅仅是缓存的成员列表
【发布时间】: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")
    })
}

来源:https://github.com/awwbots/Dis-GuildAudit-CSV

【问题讨论】:

    标签: node.js discord discord.js


    【解决方案1】:

    在访问用户之前先运行fetchMembers()

    【讨论】:

    • 我不敢相信它这么简单。耶稣。感谢您的帮助!
    猜你喜欢
    • 2020-11-21
    • 2010-10-25
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 2012-11-17
    • 2017-03-30
    相关资源
    最近更新 更多