首页 > 解决方案 > 未正确检索机器人和人员的数量

问题描述

我正在制作一个会员计数器,当我输入,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);
    } 
}

标签: javascriptdiscord.js

解决方案


你可以这样做:

const members = message.guild.members.cache;
let BotsInServer = members.filter(member => member.user.bot).size
let PeopleInServer = members.filter(member => !member.user.bot).size

请记住,您需要有存在意图才能参考这篇文章以了解如何


推荐阅读