You need to enable JavaScript to run this app. Discord.js v12 无法获取 Discord 服务器完整实际成员列表
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js v12 无法获取 Discord 服务器完整实际成员列表

问题原因

discord.js v12版本默认不会全量缓存服务器成员,同时需要申请特权权限才能获取完整成员列表,你只拿到1条ID(通常是Bot自身的ID)就是权限和缓存配置不到位导致的。

解决步骤

1. 开启特权网关意图

打开Discord开发者平台的Bot应用设置页,进入「Bot」标签,下滑到 Privileged Gateway Intents 区域,打开SERVER MEMBERS INTENT开关。

2. 调整客户端初始化配置

初始化Client实例时,声明所需的GUILD_MEMBERS意图,同时可以开启启动时全量拉取成员的配置,示例代码:

const { Client } = require('discord.js');
const client = new Client({
  ws: {
    intents: ['GUILDS', 'GUILD_MEMBERS']
  },
  fetchAllMembers: true
});

配置完成后重启Bot,原先的Guild.members.cache.map就能拿到全量成员ID了。

可选:临时手动拉取成员

如果你不需要全局缓存所有成员,也可以单独调用拉取接口获取全量列表,无需开启fetchAllMembers:

const Guild = client.guilds.cache.first();
Guild.members.fetch().then(fetchedMembers => {
  const Members = fetchedMembers.map(member => member.id);
  console.log(Members);
});

内容的提问来源于stack exchange,提问作者Chatsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 02:36:08