goat
command
system
Show detailed system statistics
0
views
0
likes
0
installs
Aliases: sys, stats, uptime, sysinfo
raw source
const os = require("os");
const { performance } = require("perf_hooks");
module.exports = {
config: {
name: "system",
aliases: ["sys", "stats", "uptime", "sysinfo"],
version: "1.2",
author: "Mehedi-saito",
countDown: 5,
role: 0,
shortDescription: {
en: "Show detailed system statistics"
},
description: {
en: "Displays detailed system statistics"
},
category: "info",
guide: {
en: "{pn}"
}
},
onStart: async function ({ message, usersData, threadsData }) {
const start = performance.now();
// ========== Uptime ==========
const uptime = process.uptime();
const days = Math.floor(uptime / (3600 * 24));
const hours = Math.floor((uptime % (3600 * 24)) / 3600);
const minutes = Math.floor((uptime % 3600) / 60);
const seconds = Math.floor(uptime % 60);
const uptimeStr = `${days}d ${hours}h ${minutes}m ${seconds}s`;
// ========== Memory ==========
const totalMem = os.totalmem();
const freeMem = os.freemem();
const usedMem = totalMem - freeMem;
const memUsagePercent = ((usedMem / totalMem) * 100).toFixed(2);
const formatBytes = (bytes) => {
const gb = bytes / (1024 ** 3);
return gb.toFixed(2) + " GB";
};
const processMem = (process.memoryUsage().rss / (1024 * 1024)).toFixed(2);
// ========== CPU ==========
const cpus = os.cpus();
const cpuModel = cpus[0].model;
const cpuCores = cpus.length;
const load = os.loadavg();
const load1 = (load[0] * 100 / cpuCores).toFixed(2);
const load5 = (load[1] * 100 / cpuCores).toFixed(2);
const load15 = (load[2] * 100 / cpuCores).toFixed(2);
// ========== Network Interfaces ==========
const nets = os.networkInterfaces();
let networkInfo = "";
for (const name of Object.keys(nets)) {
for (const net of nets[name]) {
if (net.family === "IPv4" || net.family === "IPv6") {
networkInfo += `• ${name}: ${net.family}: ${net.address}\n`;
}
}
}
if (!networkInfo) networkInfo = "No network interface found";
// ========== Bot Stats ==========
const allUsers = await usersData.getAll();
const allThreads = await threadsData.getAll();
const totalUsers = allUsers.length;
const totalGroups = allThreads.filter(t => t.threadID.toString().length > 15).length;
const ping = (performance.now() - start).toFixed(0);
const msg =
`LOADED...
[█████████]
🖥 ⚡ 𝗦𝗬𝗦𝗧𝗘𝗠 𝗦𝗧𝗔𝗧𝗜𝗦𝗧𝗜𝗖𝗦 ⚡
───────────────────────────
🕒 Uptime: ${uptimeStr}
💾 Memory Usage: ${processMem} MB
📊 Total Memory: ${formatBytes(totalMem)}
📉 Free Memory: ${formatBytes(freeMem)}
🔥 Memory Usage: ${memUsagePercent}%
⚡ CPU Load (1m): ${load1}%
⚡ CPU Load (5m): ${load5}%
⚡ CPU Load (15m): ${load15}%
🛠 CPU Cores: ${cpuCores}
🧠 CPU Model: ${cpuModel}
📦 Node.js Version: ${process.version}
🖥 Platform: ${os.platform()}
🏓 Ping: ${ping}ms
👥 Total Users: ${totalUsers}
👥 Total Groups: ${totalGroups}
📨 Messages Processed: 0
✅ Media is not banned in this chat.
🌐 𝗡𝗲𝘁𝘄𝗼𝗿𝗸 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲𝘀:
${networkInfo.trim()}
💪 I've been running for quite a while now!`;
message.reply(msg);
}
};