首页 > 解决方案 > Discord bot 没有获得所有用户

问题描述

我使用 Discord.js 编写了一个不和谐机器人,它曾经获取不和谐服务器的所有用户(我只有一个不和谐服务器中的机器人),但现在它只获得 59 个成员。我在服务器中有 300 多个不和谐用户。

var Discord = require('discord.js');
var bot = new Discord.Client();

function getUsers() {
  let users = bot.users.array();

  for (let i = 0; i < users.length; i++) {
    let username = `${users[i].username}#${users[i].discriminator}`;
    console.log(`[${i}] ${username}`);
  }
}

标签: javascriptnode.jsdiscord.js

解决方案


这里可能有一个不和谐的设置。

如果您的机器人跟踪服务器成员或下载整个成员列表,您可能需要服务器成员意图来接收成员事件和成员列表。

转到https://discord.com/developers/并选择您的 Discord 应用程序,转到 Bot 设置,然后在“特权网关意图”下启用“服务器成员意图”。

特权网关意图 > 服务器成员意图

来源:https ://github.com/discordjs/discord.js/issues/3774#issuecomment-717824144


推荐阅读