javascript - 未正确检索机器人和人员的数量
问题描述
我正在制作一个会员计数器,当我输入,member-count
它时,它会给我当时服务器上的会员总数作为标题嵌入。这些字段应该分别显示服务器上的人数和机器人的数量,但每个字段只显示 0,我不知道如何让它们更改值。
这是代码:
module.exports = {
name: 'member-count',
async execute(Client, message, args, Discord) {
const MembersInServer = message.guild.memberCount;
var BotsInServer = 0;
var PeopleInServer = 0;
if(MembersInServer === message.author.bot){
BotsInServer++
}
else if(MembersInServer === message.author.member) {
PeopleInServer++
}
MemberEmbed = new Discord.MessageEmbed()
.setColor("RANDOM")
.setTitle(`${message.guild.name} has ${MembersInServer} members in the server!`)
.addFields(
{ name: "People in the server:", value: PeopleInServer },
{ name: "Bots in the server:", value: BotsInServer },
)
message.channel.send(MemberEmbed);
}
}
解决方案
你可以这样做:
const members = message.guild.members.cache;
let BotsInServer = members.filter(member => member.user.bot).size
let PeopleInServer = members.filter(member => !member.user.bot).size
请记住,您需要有存在意图才能参考这篇文章以了解如何
推荐阅读
- python - 算法 11.2 非线性射击法(Burden and Faires)Python
- graphql - 使用 CraftQL 和 Gatsby JS 查询 Craft CMS 中的全局字段
- java - Java Lambda 性能与声明的供应商/功能
- java - 大型机到云 - 基于文件的处理
- android - 正确使用调度器
- javascript - 使用javascript的标准函数中的json条件?
- scala - 在数据帧上执行 sql 时无法解析给定的输入列
- cocoa - 全屏隐藏 NSToolbar
- excel - 当其他单元格值等于特定值时为单元格着色
- google-app-maker - Google App Maker:如何访问绑定到小部件的项目的属性?