A Discord Bot connected to your Pterodactyl API.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: byte to size and refactor some code of server details command

authored by

cosmeak and committed by
Cosmeak
e61e1ec7 23e49970

+38 -26
+28 -26
src/commands/ClientServerDetails.js
··· 1 1 const { SlashCommandBuilder, EmbedBuilder } = require("discord.js"); 2 2 const fecthClientServerInfo = require("../functions/fetchClientServerInfo.js"); 3 + const capitalizeFirstLetter = require("../functions/capitalizeFirstLetter.js"); 4 + const bytesToSize = require("../functions/bytesToSize.js"); 3 5 4 6 module.exports = { 5 - data: new SlashCommandBuilder() 6 - .setName("client-server-details") 7 - .setDescription("Give all know details about the given server") 8 - .addStringOption((option) => 9 - option.setName("server-id") 10 - .setDescription("Your server identifier") 11 - .setRequired(true), 12 - ), 13 - async execute(interaction) { 14 - const server = await fecthClientServerInfo(interaction.options.get("server-id").value); 15 - console.log(server); 7 + data: new SlashCommandBuilder() 8 + .setName("client-server-details") 9 + .setDescription("Give all know details about the given server") 10 + .addStringOption((option) => 11 + option.setName("server-id") 12 + .setDescription("Your server identifier") 13 + .setRequired(true), 14 + ), 15 + async execute(interaction) { 16 + const server = await fecthClientServerInfo(interaction.options.get("server-id").value); 17 + console.log(server); 16 18 17 - const embed = new EmbedBuilder() 18 - .setTitle(server.name) 19 - .setDescription(server.description ? server.description : "No description...") 20 - .addFields( 21 - { name: "Identifier", value: server.identifier, inline: true }, 22 - { name: "Status", value: server.stats.current_state, inline: true }, 23 - { name: "CPU", value: `${server.stats.resources.cpu_absolute}`, inline: true }, 24 - { name: "Memory", value: `${server.stats.resources.memory_bytes}`, inline: true }, 25 - { name: "Disk", value: `${server.stats.resources.disk_bytes}`, inline: true }, 26 - { name: "Uptime", value: `${server.stats.resources.uptime}`, inline: true }, 27 - ) 28 - .setColor("Blurple") 29 - .setTimestamp(); 19 + const embed = new EmbedBuilder() 20 + .setTitle(server.name) 21 + .setDescription(server.description ? server.description : "No description...") 22 + .addFields( 23 + { name: "Identifier", value: server.identifier, inline: true }, 24 + { name: "Status", value: capitalizeFirstLetter(server.stats.current_state), inline: true }, 25 + { name: "CPU", value: server.stats.resources.cpu_absolute ? bytesToSize(server.stats.resources.cpu_absolute) : "Offline", inline: true }, 26 + { name: "Memory", value: server.stats.resources.memory_bytes ? bytesToSize(server.stats.resources.memory_bytes) : "Offline", inline: true }, 27 + { name: "Disk", value: server.stats.resources.disk_bytes ? bytesToSize(server.stats.resources.disk_bytes) : "Offline", inline: true }, 28 + { name: "Uptime", value: server.stats.resources.uptime ? bytesToSize(server.stats.resources.uptime) : "Offline", inline: true }, 29 + ) 30 + .setColor("Blurple") 31 + .setTimestamp(); 30 32 31 - return interaction.reply({ embeds: [embed] }); 32 - }, 33 + return interaction.reply({ embeds: [embed] }); 34 + }, 33 35 };
src/commands/ClientServerSendCommand.js

This is a binary file and will not be displayed.

+7
src/functions/bytesToSize.js
··· 1 + module.exports = (bytes) => { 2 + const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'] 3 + if (bytes === 0) return 'n/a' 4 + const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10) 5 + if (i === 0) return `${bytes} ${sizes[i]})` 6 + return `${(bytes / (1024 ** i)).toFixed(1)} ${sizes[i]}` 7 + }
+3
src/functions/capitalizeFirstLetter.js
··· 1 + module.exports = (string) => { 2 + return string.charAt(0).toUpperCase() + string.slice(1); 3 + }