【问题标题】:Not properly retrieving number of bots and people未正确检索机器人和人员的数量
【发布时间】:2021-04-28 03:40:32
【问题描述】:

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

【问题讨论】:

    标签: javascript discord.js


    【解决方案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 有存在意图

    【讨论】:

    • 我应该保留我的 const MembersInServer = message.guild.memberCount; 吗?这个网站上是否有暗模式?
    • @MohidMushtaq 当然
    • 现在显示的是 1 而不是 0 但仍然无法正常工作
    • @MohidMushtaq 你有存在意图吗?
    • 我什至不知道那是什么
    猜你喜欢
    • 2019-06-27
    • 2021-09-27
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多