This commit is contained in:
2026-03-15 12:22:42 +01:00
parent cd99275933
commit 311ba5e7f3
558 changed files with 55182 additions and 22981 deletions

View File

@@ -2,59 +2,53 @@ const os = require('os');
const fs = require('fs');
const { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } = require('discord.js');
const { formatUptime } = require('../../utils/helpers');
const { colors } = require('../../utils/constants');
function getOS() {
const platform = os.platform();
const release = os.release();
switch (platform) {
case 'win32':
return `Windows ${release}`;
case 'darwin':
return `macOS ${release}`;
case 'linux':
try {
const data = fs.readFileSync('/etc/os-release', 'utf8');
const match = data.match(/PRETTY_NAME="(.+)"/);
if (match) return `${match[1]} (kernel ${release})`;
} catch {
return `Linux ${release}`;
}
default:
return `${platform} ${release}`;
}
const platform = os.platform();
const release = os.release();
switch (platform) {
case 'win32': return `Windows ${release}`;
case 'darwin': return `macOS ${release}`;
case 'linux':
try {
const data = fs.readFileSync('/etc/os-release', 'utf8');
const match = data.match(/PRETTY_NAME="(.+)"/);
if (match) return `${match[1]} (kernel ${release})`;
} catch { return `Linux ${release}`; }
default: return `${platform} ${release}`;
}
}
module.exports = {
category: 'dev',
data: new SlashCommandBuilder()
.setName('infra')
.setDescription('Voir l\'infrastructure du bot')
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
async execute(interaction) {
const cpuInfo = os.cpus()[0].model;
const cpuCores = os.cpus().length;
const totalRAM = (os.totalmem() / (1024 ** 3)).toFixed(2);
const freeRAM = (os.freemem() / (1024 ** 3)).toFixed(2);
const usedRAM = (totalRAM - freeRAM).toFixed(2);
const ramUsagePercent = ((usedRAM / totalRAM) * 100).toFixed(1);
const uptime = os.uptime();
category: 'dev',
data: new SlashCommandBuilder()
.setName('infra')
.setDescription('Voir l\'infrastructure du bot')
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
async execute(interaction) {
const cpuInfo = os.cpus()[0].model;
const cpuCores = os.cpus().length;
const totalRAM = (os.totalmem() / (1024 ** 3)).toFixed(2);
const freeRAM = (os.freemem() / (1024 ** 3)).toFixed(2);
const usedRAM = (totalRAM - freeRAM).toFixed(2);
const ramUsagePercent = ((usedRAM / totalRAM) * 100).toFixed(1);
const uptime = os.uptime();
const { colors } = require('../../utils/constants');
const embed = new EmbedBuilder()
.setTitle('🖥️ Infrastructure du Bot')
.setColor(colors.info)
.addFields(
{ name: '💻 CPU', value: `${cpuInfo}\n${cpuCores} cœurs`, inline: true },
{ name: '💾 RAM', value: `${usedRAM} Go / ${totalRAM} Go\n${ramUsagePercent}% utilisée`, inline: true },
{ name: '🖥️ OS', value: getOS(), inline: true },
{ name: '⏱️ Uptime Système', value: formatUptime(uptime), inline: true },
{ name: '📊 Node.js', value: process.version, inline: true },
{ name: '📦 Architecture', value: os.arch(), inline: true }
)
.setFooter({ text: interaction.client.user.username, iconURL: interaction.client.user.displayAvatarURL() })
.setTimestamp();
const embed = new EmbedBuilder()
.setTitle('🖥️ Infrastructure du Bot')
.setColor(colors.info)
.addFields(
{ name: '💻 CPU', value: `${cpuInfo}\n${cpuCores} cœurs`, inline: true },
{ name: '💾 RAM', value: `${usedRAM} Go / ${totalRAM} Go\n${ramUsagePercent}% utilisée`, inline: true },
{ name: '🖥️ OS', value: getOS(), inline: true },
{ name: '⏱️ Uptime Système', value: formatUptime(uptime), inline: true },
{ name: '📊 Node.js', value: process.version, inline: true },
{ name: '📦 Architecture', value: os.arch(), inline: true }
)
.setFooter({ text: interaction.client.user.username, iconURL: interaction.client.user.displayAvatarURL() })
.setTimestamp();
await interaction.reply({ embeds: [embed] });
},
};
await interaction.reply({ embeds: [embed] });
},
};