Bruh
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
config.json
|
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"
|
"clientId": "1407164184373887038"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user