| 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}`; |
|
|
| |
| 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; |
| 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; |
| 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; |