【问题标题】:Get the list of all user on a server discord.js获取服务器 discord.js 上所有用户的列表
【发布时间】:2020-08-23 03:04:13
【问题描述】:

我正在尝试通过使用 discord.js 的机器人从我的服务器上获取所有用户,我编写了这段代码但它不起作用,它告诉我:TypeError: client.guilds.get is not a function。这是我的代码:

'use strict';
const Discord = require('discord.js');
const client = new Discord.Client();
const list = client.guilds.get("myServerID"); 
list.members.forEach(member => console.log(member.user.username)); 
client.login('myTokenID');

谢谢

【问题讨论】:

  • @VedantBang 请不要随意丢弃不相关的链接来解决人们的问题,您的第二个链接是与 C# 相关的问答,而不是 JavaScript
  • 对不起,我点击错了。

标签: javascript node.js discord discord.js


【解决方案1】:

从 discord.js v12 开始,您现在需要使用 .cache 访问 guilds 集合,我还可以看到您正在尝试访问 members 集合,因此您的解决方案是:

'use strict';
const Discord = require('discord.js');
const client = new Discord.Client();
const list = client.guilds.cache.get("myServerID"); 
list.members.cache.forEach(member => console.log(member.user.username)); 
client.login('myTokenID');

【讨论】:

  • 似乎只列出了已连接的成员...您能确认一下吗?这是获得完整列表的解决方案,即使没有连接的成员?
  • @xNiux 使用Guild.members.fetch() 获取所有成员,包括离线成员。
【解决方案2】:

只需使用.fetch()

const guild = await client.guilds.fetch('your_id')
const members = await guild.members.fetch() // returns Collection

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2021-05-24
    • 2021-04-12
    • 1970-01-01
    相关资源
    最近更新 更多