我正在制作一个会员计数器,当我输入 ,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);
}
}
答案 0 :(得分:1)
你可以这样做:
const members = message.guild.members.cache;
let BotsInServer = members.filter(member => member.user.bot).size
let PeopleInServer = members.filter(member => !member.user.bot).size
请记住,您需要对 refer to this post to know how
具有存在意图