【问题标题】:Discord js members loop returns only single userDiscord js成员循环仅返回单个用户
【发布时间】:2021-12-09 16:36:47
【问题描述】:

我想让我的服务器中的所有用户都准备好我的 discord 机器人,以便我可以将它们添加到数据库中。

我已打开所有不和谐特权网关意图。但我只使用以下代码获取单个用户的 ID:

client.once('ready', () => {
    client.guilds.cache.values().next().value.members.list().then((members) => {
        members.each(member => {
            console.log(member.id)
        });
    })
})

我确信我已经包含了创建客户端时所需的所有意图:

const client = new Client({ intents: ["GUILDS", "GUILD_MEMBERS", "GUILD_BANS", "GUILD_EMOJIS_AND_STICKERS",
    "GUILD_INTEGRATIONS", "GUILD_WEBHOOKS", "GUILD_INVITES", "GUILD_VOICE_STATES", "GUILD_PRESENCES", "GUILD_MESSAGES",
    "GUILD_MESSAGE_REACTIONS", "GUILD_MESSAGE_TYPING"]} )

我不知道为什么它只提供 1 个成员(所有者)的 id,而测试服务器有 3 个成员,包括机器人。

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:
    client.guilds.cache.get(guild_id).members.cache.map(member => member.id)
    

    【讨论】:

    • 是的,这可行,但为什么我的代码只返回 1 个用户。抱歉,我对 JS 很陌生。
    • @AllLuckBased 老实说,我不知道为什么它不起作用,但我提供的代码更加优化
    猜你喜欢
    • 2021-01-22
    • 2021-08-11
    • 2021-02-15
    • 1970-01-01
    • 2020-08-19
    • 2022-11-16
    • 2020-09-22
    • 1970-01-01
    • 2020-10-30
    相关资源
    最近更新 更多