diff --git a/commands/utils/memberstat.js b/commands/utils/memberstat.js new file mode 100644 index 0000000..6ea3cd4 --- /dev/null +++ b/commands/utils/memberstat.js @@ -0,0 +1,40 @@ +const { EmbedBuilder } = require('discord.js'); + +module.exports = { + name: 'statserveur', + description: "Permet d'afficher les informations des utilisateurs du serveur.", + category: 'utils', + emote: '🌐', + utilisation: '+statserveur', + async execute(message, args, client) { + const members = await message.guild.members.fetch(); + const totalMembers = members.size; + + let online = []; + let idle = []; + let dnd = []; + let offline = []; + + for (const member of members.values()) { + if (!member.user.bot) { + if (member.presence && member.presence.status === "online") online.push(member); + else if (member.presence && member.presence.status === "idle") idle.push(member); + else if (member.presence && member.presence.status === "dnd") dnd.push(member); + else offline.push(member); + } + } + + + const onlineP = Math.round((online.length / totalMembers) * 100) + `%`; + const idleP = Math.round((idle.length / totalMembers) * 100) + `%`; + const dndP = Math.round((dnd.length / totalMembers) * 100) + `%`; + const offlineP = Math.round((offline.length / totalMembers) * 100) + `%`; + + const embed = new EmbedBuilder() + .setColor("#7289DA") + .setDescription(`🌍 **Information des utilisateurs du serveur** 🌍\n\n🟢 **Membres en Ligne :**\n \`${onlineP} | ${online.length}\`\n\n🟡 **Membres en Inactif :**\n \`${idleP} | ${idle.length}\`\n\n🔴 **Membre en Ne Pas Déranger :**\n \`${dndP} | ${dnd.length}\`\n\n⚪ **Membres Déconnectés :**\n \`${offlineP} | ${offline.length}\`\n\n**Total des membres :** \`${totalMembers}\``); + + await message.reply({ embeds: [embed] }); + + }, +}; \ No newline at end of file