Así que investigué un poco, pero nunca encontré las respuestas correctas que estaba buscando. Aquí está el código completo:
const {MessageEmbed} = require("discord.js") const moment = require("moment") module.exports.run = async (client, message, args) => { console.log(message.guild.iconURL({ dynamic: true })) const messageEmbed = new MessageEmbed() .setTitle(" Server Information ") .setThumbnail(message.guild.iconURL({dynamic: true})) .addFields( {name: "Server Name:", value: `${message.guild.name}`, inline: true}, {name: "Server Owner:", value: `${message.guild.owner.user.tag}`, inline: true}, {name: "Server Created:", value: `${moment(message.guild.createdAt).format("ddd, MMM DD, YYYY H:M A")}`}, {name: "Member Count:", value: `${message.guild.memberCount}`, inline: true}, {name: "Emoji Count:", value: `${message.guild.emojis.cache.size}`, inline: true}, {name: "Channel Count:", value: `${message.guild.channels.cache.size}`}, {name: "Role Count:", value: `${message.guild.roles.cache.size}`, inline: false}, {name: "Roles:", value: `${message.guild.roles.cache.sort((a, b) => b.position - a.position).map(r => '<@&'+r.id+'>').join(' ').slice(0,-24)}`, inline: false}, ) .setColor("#FFFF66") .setFooter("ID: " + message.guild.id) .setTimestamp() message.channel.send(messageEmbed) } exports.help = { name: "serverinfo" } exports.conf = { aliases: ["serverinfo"] } Para el recuento de miembros: {name: "Member Count:", value: `${message.guild.memberCount}`, inline: true}, muestra bots y miembros sin filtros
Y para los canales: {name: "Channel Count:", value: `${message.guild.channels.cache.size}`}, muestra tanto los canales de voz como las categorías.
¿Cómo soluciono esto?
En su lugar, puede contarlos manualmente, como:
var nonBotMembers = message.guild.members.cache.filter(member => !member.user.bot).sizey use lo mismo para contar solo tipos de canales específicos.