【问题标题】:server-info command not showing human and bots members discord.jsserver-info 命令未显示人和机器人成员 discord.js
【发布时间】:2021-09-27 00:32:52
【问题描述】:

我正在制作一个服务器信息命令,我希望它说明服务器中有多少人和机器人,这是应该执行此操作的嵌入部分:

{ name: 'Human members: ', value: message.guild.members.cache.filter(member => !member.user.bot).size, inline: true}, 
{ name: 'Bots members: ', value: message.guild.members.cache.filter(member => member.user.bot).size, inline: true},  
            

但这就是我得到的:

我正在一个有 50 个人和 10 个机器人的服务器中尝试该命令,希望您能提供帮助

【问题讨论】:

标签: javascript node.js discord discord.js


【解决方案1】:

在检查缓存之前尝试获取成员。 members.fetch() 将从 Discord 中获取成员,即使他们处于离线状态。它返回 GuildMember 对象的集合,因此您甚至不再需要 cache 属性:

let members = await message.guild.members.fetch()

// ...
.addFields(
  { name: 'Human members: ', value: members.filter(member => !member.user.bot).size, inline: true}, 
  { name: 'Bots members: ', value: members.filter(member => member.user.bot).size, inline: true},  
)

【讨论】:

  • 我正在使用 module.exports 和其他东西,我尝试在执行之前放置 async(消息,args),但是命令不能完全工作,并且 vs 代码没有错误
  • 现在是async execute(message, args) {... 吗?你有没有试过检查members的值是多少?
  • 是的,现在执行是这样,但我还没有尝试检查members
  • 这有什么更新吗?你登录members了吗?你发现问题了吗?我用我的机器人试了一下,效果很好。您是否启用了GUILD_MEMBERS 意图?
猜你喜欢
  • 2020-05-10
  • 2020-08-21
  • 1970-01-01
  • 2021-04-18
  • 2020-07-18
  • 2021-06-02
  • 2021-06-02
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多