File size: 3,839 Bytes
47ab1ce |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
const axios = require('axios');
const os = require('os');
let handler = async (m, { conn }) => {
try {
const response = await axios.get('http://ip-api.com/json/');
const serverInfo = response.data;
conn.chatRead(m.chat);
conn.sendMessage(m.chat, {
react: {
text: 'β³',
key: m.key,
}
});
let serverMessage = `β’ *S E R V E R*\n\n`;
const osInfo = os.platform();
const totalRAM = Math.floor(os.totalmem() / (1024 * 1024));
const freeRAM = Math.floor(os.freemem() / (1024 * 1024));
const uptime = os.uptime();
const uptimeFormatted = formatUptime(uptime);
const processor = os.cpus()[0].model;
serverMessage += `β β¦ OS : ${osInfo}\n`;
serverMessage += `β β¦ RAM : ${freeRAM} MB / ${totalRAM} MB\n`;
serverMessage += `β β¦ Country : ${serverInfo.country}\n`;
serverMessage += `β β¦ CountryCode : ${serverInfo.countryCode}\n`;
serverMessage += `β β¦ Region : ${serverInfo.region}\n`;
serverMessage += `β β¦ RegionName : ${serverInfo.regionName}\n`;
serverMessage += `β β¦ City : ${serverInfo.city}\n`;
serverMessage += `β β¦ Zip : ${serverInfo.zip}\n`;
serverMessage += `β β¦ Lat : ${serverInfo.lat}\n`;
serverMessage += `β β¦ Lon : ${serverInfo.lon}\n`;
serverMessage += `β β¦ Timezone : ${serverInfo.timezone}\n`;
serverMessage += `β β¦ ISP : ${serverInfo.isp}\n`;
serverMessage += `β β¦ Org : ${serverInfo.org}\n`;
serverMessage += `β β¦ AS : ${serverInfo.as}\n`;
serverMessage += `β β¦ Query : HIDDEN\n`;
serverMessage += `β β¦ Uptime : ${uptimeFormatted}\n`;
serverMessage += `β β¦ Processor : ${processor}`;
// Create the fake reply with contextInfo
await conn.sendMessage(m.chat, {
text: serverMessage,
contextInfo: {
externalAdReply: {
mediaType: 1,
title: 'IKYBOT OFFICIAL',
thumbnailUrl: 'https://telegra.ph/file/e64a2612fe7dda57be962.jpg',
renderLargerThumbnail: true,
sourceUrl: ''
},
forwardedNewsletterMessageInfo: {
newsletterJid: '120363185802524978@newsletter',
newsletterName: 'Powered By RIZKI IRFAN'
}
}
}, { quoted: {
key: { fromMe: false, participant: '0@s.whatsapp.net', remoteJid: 'status@broadcast' },
message: {
conversation: getWIBTime()
}
}});
} catch (e) {
console.log(e);
}
};
function formatUptime(uptime) {
let seconds = Math.floor(uptime % 60);
let minutes = Math.floor((uptime / 60) % 60);
let hours = Math.floor((uptime / (60 * 60)) % 24);
let days = Math.floor(uptime / (60 * 60 * 24));
let formattedUptime = '';
if (days > 0) formattedUptime += `${days} days `;
if (hours > 0) formattedUptime += `${hours} hours `;
if (minutes > 0) formattedUptime += `${minutes} minutes `;
if (seconds > 0) formattedUptime += `${seconds} seconds`;
return formattedUptime.trim();
}
function getWIBTime() {
const offset = 7; // WIB is UTC+7
let date = new Date();
let utc = date.getTime() + (date.getTimezoneOffset() * 60000);
let wibDate = new Date(utc + (3600000 * offset));
let hours = wibDate.getHours();
let minutes = wibDate.getMinutes();
let seconds = wibDate.getSeconds();
let ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
let strTime = hours.toString().padStart(2, '0') + ':' + minutes.toString().padStart(2, '0') + ':' + seconds.toString().padStart(2, '0') + ampm;
return strTime;
}
handler.command = ['server'];
handler.tags = ['info'];
handler.help = ['server'];
module.exports = handler; |