Bruh
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
config.json
|
||||
config.json
|
||||
|
||||
65
commands/dev/infra.js
Normal file
65
commands/dev/infra.js
Normal file
@@ -0,0 +1,65 @@
|
||||
const os = require('os');
|
||||
const fs = require('fs');
|
||||
|
||||
|
||||
const cpuInfo = os.cpus()[0].model; // modèle du CPU
|
||||
const cpuCores = os.cpus().length; // nombre de coeurs
|
||||
|
||||
const totalRAM = (os.totalmem() / (1024 ** 3)).toFixed(2); // en Go
|
||||
const freeRAM = (os.freemem() / (1024 ** 3)).toFixed(2); // en Go
|
||||
|
||||
function getOS() {
|
||||
const platform = os.platform(); // ex: win32, linux
|
||||
const release = os.release(); // version du kernel / OS
|
||||
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 uptime = os.uptime(); // en secondes
|
||||
|
||||
function formatUptime(seconds) {
|
||||
const days = Math.floor(seconds / 86400);
|
||||
const hours = Math.floor((seconds % 86400) / 3600);
|
||||
const minutes = Math.floor((seconds % 3600) / 60);
|
||||
const secs = Math.floor(seconds % 60);
|
||||
|
||||
return `${days}j ${hours}h ${minutes}m ${secs}s`;
|
||||
}
|
||||
|
||||
|
||||
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
|
||||
|
||||
module.exports = {
|
||||
category: 'dev',
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('infra')
|
||||
.setDescription('Voir l’infrastructure du bot'),
|
||||
async execute(interaction) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Infrastructure du bot')
|
||||
.setColor('Blue')
|
||||
.addFields(
|
||||
{ name: 'CPU', value: `${cpuInfo} (${cpuCores} coeurs)`, inline: true },
|
||||
{ name: 'RAM', value: `${freeRAM} Go libres / ${totalRAM} Go totaux`, inline: true },
|
||||
{ name: 'OS', value: getOS(), inline: true },
|
||||
{ name: 'Uptime', value: formatUptime(uptime), inline: true }
|
||||
)
|
||||
.setTimestamp();
|
||||
|
||||
await interaction.reply({ embeds: [embed], ephemeral: true });
|
||||
}
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"token": "-",
|
||||
"token": "MTQwNzE2NDE4NDM3Mzg4NzAzOA.GTKr90.U2ootmaOWuycn4ZqbE4kqSpQqeVGvw7Zj5vHgM",
|
||||
"clientId": "1407164184373887038"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user