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