无法在Discord.js v12上获取实际成员列表

当我试图从我的 discord 服务器获取成员列表时,djsv12 返回一个列表,但它只有 1 个条目。

当我试图从我的 discord 服务器获取成员列表时,djsv12 返回一个列表,但它只有 1 个条目。

事实上,应该有 23 个条目,因为这是器上的成员数量。

我不明白什么是错的。你可以在下面找到我的代码:

const Guild = client.guilds.cache.first(); // My one server
const Members = Guild.members.cache.map(member => member.id);
console.log(Members);

控制台:

[ '578565698461106204' ]
1

也许是因为只有一个成员被缓存。首先尝试fetch所有成员。

members.fetch()从 Discord 中获取成员,即使它们处于脱机状态并返回解析为GuildMember集合的 promise:

const guild = client.guilds.cache.first(); // My one server
const members = await guild.members.fetch();
const memberIDs = members.map((member) => member.id);
console.log(memberIDs);

PS:当我使用await关键字时,请确保您位于async function中。

1

我相信您遇到的问题与question中提到的问题相同。

由于 Discord 一直在实施特权意图,这意味着您必须授予机器人访问某些数据的权限。默认情况下,此权限处于关闭状态。

要打开它,只需转到Discord Developer Portal。然后选择您的应用程序,然后转到左侧的机器人部分并向下滚动。您应该看到两个选项"Presence Intent""Server Members Intent"

Resources:

None of my discord.js guildmember events are emitting,my user caches are basically empty,and my functions are timing out? Discord.js Guide-Gateway Intents

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(639)
在OpenWRT上配置OpenVPN时 无法使用Google Authenticator进行身份验证
上一篇
用于在网络适配器上启用“Microsoft网络的文件和打印共享”的 PowerShell命令
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(16条)