Server Stats 代码段将频道更新为未定义而不是总成员

Server Stats piece of code updates the channel to undefined instead of the total members

所以我一直在为一台显示服务器统计信息等的服务器创建一个私人机器人,但我遇到了一个问题;每次用户 joins/leaves 公会时,机器人都会用 'undefined' 更新频道,但这意味着该公会的成员总数。有人能帮我吗?这是一段代码:

const serverStats = {
    guildID: '474658204475719701',
    totalUsersID: '578114537589309441',
};

client.on('guildMemberAdd', member => {
    if (member.guild.id !== serverStats.guildID) return;
    client.channels.get(serverStats.totalUsersID).setName(` MEMBERS COUNT: ${member.guild.membersCount}`);
});

client.on('guildMemberRemove', member => {
    if (member.guild.id !== serverStats.guildID) return;
    client.channels.get(serverStats.totalUsersID).setName(` MEMBERS COUNT: ${member.guild.membersCount}`);
});

谢谢。

membersCount 不是 Guild. It's actually memberCount(单数 "member")的有效 属性。

member.guild.memberCount

此代码将 return 预期的成员数。

这是我在 server-info 命令中使用的内容:

const Discord = require("discord.js");
module.exports.run = async (bot, message, args) => {
    let sicon = message.guild.iconURL;
    let serverembed = new Discord.RichEmbed()
    .setDescription("Server Information")
    .setColor("#ff0000")
    .setThumbnail(sicon)
    .addField("Server Name", message.guild.name)
    .addField("Created On", message.guild.createdAt)
    .addField("You Joined", message.member.joinedAt)
    .addField("Total Members", message.guild.memberCount)
    .addField("Bot Version", "2.4.4")

    message.channel.send(serverembed);
}

希望你还需要他

const embed = new Discord.RichEmbed()
.setDescription(` MEMBERS COUNT: ${message.guild.members.filter(member => !member.user.bot).size}`)
.setThumbnail(message.guild.iconURL)
client.on('guildMemberAdd', member => {
    if (member.guild.id !== serverStats.guildID) return;
    client.channels.get(serverStats.totalUsersID).send(embed);
});

client.on('guildMemberRemove', member => {
    if (member.guild.id !== serverStats.guildID) return;
    client.channels.get(serverStats.totalUsersID).send(embed);
});