Sex*_*its 5 javascript node.js discord.js
我使用 Discord.js 编写了一个 Discord 机器人,它曾经获取 Discord 服务器的所有用户(我只在一台 Discord 服务器中拥有该机器人),但现在它只获取 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}`);
}
}
Run Code Online (Sandbox Code Playgroud)
这里有一个可能相关的不和谐方面的设置。
如果您的机器人跟踪服务器成员或下载整个成员列表,您可能需要服务器成员意图接收成员事件和成员列表。
转到https://discord.com/developers/并选择您的 Discord 应用程序,转到 Bot 设置,然后启用“特权网关意图”下的“服务器成员意图”。
来源:https ://github.com/discordjs/discord.js/issues/3774#issuecomment-717824144
您必须对.fetchMembers()机器人所在的每个不和谐服务器使用该方法。
尝试使用以下代码:
function getUsers() {
let guilds = bot.guilds.array();
for (let i = 0; i < guilds.length; i++) {
bot.guilds.get(guilds[i].id).fetchMembers().then(r => {
r.members.array().forEach(r => {
let username = `${r.user.username}#${r.user.discriminator}`;
console.log(`${username}`);
});
});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16749 次 |
| 最近记录: |