Skip to content

Commit

Permalink
add logging on web
Browse files Browse the repository at this point in the history
  • Loading branch information
Kry9toN committed Jan 25, 2021
1 parent f9c4930 commit ffc9c72
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 27 deletions.
35 changes: 19 additions & 16 deletions src/krypton.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ const { color } = require('./utils/color')
const fs = require('fs')
const moment = require('moment-timezone')
const { welcome, goodbye } = require('./utils/greeting')
const time = moment.tz('Asia/Jakarta').format('DD/MM HH:mm:ss')
const { databaseView, databaseInput } = require('./utils/db')
const { web } = require('./utils/web')
const { web, loging } = require('./utils/web')

async function krypton () {
const client = new WAConnection()
Expand Down Expand Up @@ -90,12 +89,12 @@ async function krypton () {
const name = client.contacts[num] != undefined ? client.contacts[num].vname || client.contacts[num].notify : undefined
const ppimg = await client.getProfilePicture(`${greeting.participants[0].split('@')[0]}@c.us`)
if (greeting.action == 'add') {
console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', time, 'client', color(greeting.participants[0].split('@')[0]), 'Masuk ke group', color(mdata.subject))
console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', client.time, 'client', color(greeting.participants[0].split('@')[0]), 'Masuk ke group', color(mdata.subject))
await welcome(name, mdata.subject, ppimg).then(async (hasil) => {
await client.sendMessage(mdata.id, hasil, MessageType.image)
})
} else if (greeting.action == 'remove') {
console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', time, 'client', color(greeting.participants[0].split('@')[0]), 'Keluar dari group', color(mdata.subject))
console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', client.time, 'client', color(greeting.participants[0].split('@')[0]), 'Keluar dari group', color(mdata.subject))
await goodbye(name, mdata.subject, ppimg).then(async (hasil) => {
await client.sendMessage(mdata.id, hasil, MessageType.image)
})
Expand All @@ -106,6 +105,7 @@ async function krypton () {
})

await client.on('chat-update', async (chat) => {
client.time = moment.tz('Asia/Jakarta').format('DD/MM HH:mm:ss')
client.pingStart = chat.t
client.apiKey = process.env.API_KEY
if (!chat.hasNewMessage) return
Expand All @@ -119,8 +119,8 @@ async function krypton () {
const type = Object.keys(chat.message)[0]
client.body = (type === 'conversation' && chat.message.conversation.startsWith(prefix)) ? chat.message.conversation : (type == 'imageMessage') && chat.message.imageMessage.caption.startsWith(prefix) ? chat.message.imageMessage.caption : (type == 'videoMessage') && chat.message.videoMessage.caption.startsWith(prefix) ? chat.message.videoMessage.caption : (type == 'extendedTextMessage') && chat.message.extendedTextMessage.text.startsWith(prefix) ? chat.message.extendedTextMessage.text : ''
const args = client.body.trim().split(/ +/).slice(1)
const isCmd = client.body.startsWith(prefix)
const commandName = client.body.slice(1).trim().split(/ +/).shift().toLowerCase()
client.isCmd = client.body.startsWith(prefix)
client.commandName = client.body.slice(1).trim().split(/ +/).shift().toLowerCase()
const content = JSON.stringify(chat.message)
const botNumber = client.user.jid
const ownerNumber = process.env.OWNER_PHONE // Isi di .env
Expand All @@ -129,7 +129,7 @@ async function krypton () {
client.isGroup = client.from.endsWith('@g.us')
client.sender = client.isGroup ? chat.participant : chat.key.remoteJid
const groupMetadata = client.isGroup ? await client.groupMetadata(client.from) : ''
const groupName = client.isGroup ? groupMetadata.subject : ''
client.groupName = client.isGroup ? groupMetadata.subject : ''
client.groupMembers = client.isGroup ? groupMetadata.participants : ''
const groupAdmins = client.isGroup ? getGroupAdmins(client.groupMembers) : ''
client.groupId = client.isGroup ? groupMetadata.id : ''
Expand All @@ -150,7 +150,7 @@ async function krypton () {
(bolean == null || bolean == undefined || bolean == false) ? client.sendMessage(client.from, teks.trim(), MessageType.extendedText, { contextInfo: { mentionedJid: id } }) : client.sendMessage(client.from, teks.trim(), MessageType.extendedText, { quoted: chat, contextInfo: { mentionedJid: id } })
}
client.log = (error: string) => {
client.sendMessage(logGroup, `[LOGGING] command: *${commandName}* ${error}`, MessageType.text)
client.sendMessage(logGroup, `[LOGGING] command: *${client.commandName}* ${error}`, MessageType.text)
}

client.isMedia = (type === 'imageMessage' || type === 'videoMessage')
Expand All @@ -171,11 +171,14 @@ async function krypton () {
const sList = JSON.stringify(sudo)
client.isSudo = sList.includes(client.sender)

// Web api proses
loging(client)

// Logging Message
if (!client.isGroup && isCmd) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', time, color(commandName), 'client.from', color(client.sender.split('@')[0]), 'args :', color(args.length))
if (!client.isGroup && !isCmd) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;31mRECV\x1b[1;37m]', time, color('Message'), 'client.from', color(client.sender.split('@')[0]), 'args :', color(args.length))
if (isCmd && client.isGroup) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', time, color(commandName), 'client.from', color(client.sender.split('@')[0]), 'in', color(groupName), 'args :', color(args.length))
if (!isCmd && client.isGroup) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;31mRECV\x1b[1;37m]', time, color('Message'), 'client.from', color(client.sender.split('@')[0]), 'in', color(groupName), 'args :', color(args.length))
if (!client.isGroup && client.isCmd) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', client.time, color(client.commandName), 'client.from', color(client.sender.split('@')[0]), 'args :', color(args.length))
if (!client.isGroup && !client.isCmd) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;31mRECV\x1b[1;37m]', client.time, color('Message'), 'client.from', color(client.sender.split('@')[0]), 'args :', color(args.length))
if (client.isCmd && client.isGroup) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;32mEXEC\x1b[1;37m]', client.time, color(client.commandName), 'client.from', color(client.sender.split('@')[0]), 'in', color(client.groupName), 'args :', color(args.length))
if (!client.isCmd && client.isGroup) console.log('\x1b[1;31m~\x1b[1;37m>', '[\x1b[1;31mRECV\x1b[1;37m]', client.time, color('Message'), 'client.from', color(client.sender.split('@')[0]), 'in', color(client.groupName), 'args :', color(args.length))

const pesan = {
tunggu: '⌛ Sedang di Prosess ⌛',
Expand All @@ -189,7 +192,7 @@ async function krypton () {
},
error: {
group: '❌ Perintah ini hanya bisa di gunakan dalam group! ❌',
args: '❌ Perintah anda salah! ❌',
args: '❌ Perintah anda salah! ❌'
}
}

Expand All @@ -202,11 +205,11 @@ async function krypton () {
client.cmd.set(command.name, command)
}

if (!isCmd) return
if (!client.isCmd) return

const command =
client.cmd.get(commandName) ||
client.cmd.find((cmd) => cmd.aliases && cmd.aliases.includes(commandName))
client.cmd.get(client.commandName) ||
client.cmd.find((cmd) => cmd.aliases && cmd.aliases.includes(client.commandName))

if (!command) return

Expand Down
17 changes: 14 additions & 3 deletions src/utils/web.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const web = async (client) => {
client.sendMessage(id, text, MessageType.text)
.then(() => {
res.json({ info: 'Berhasil mengirim', status: 200 })
}).catch((err) => res.json({ info: 'Gagal mengirim', status: 502 }))
}).catch((err) => res.json({ info: err, status: 502 }))
})

// CPU USAGE
Expand All @@ -51,8 +51,9 @@ const web = async (client) => {
// Uptime and Chat
const chat = await client.chats.all().length
const uptime = Math.round(process.uptime()).toFixed(0)

// CPU USAGE PERCENTAGE
cpu.usage().then(cpu => socket.emit('ram-usage', { ram, cpu, username, osInfo, chat, uptime }))
cpu.usage().then(cpu => socket.emit('ram-usage', { ram, cpu, username, osInfo, chat, uptime, loging }))
}, 1000)
})

Expand All @@ -63,6 +64,16 @@ const web = async (client) => {
})
}

const loging = (client) => {
let loging
if (!client.isGroup && client.isCmd) loging = `=> ${client.time} ${client.commandName} from ${client.sender.split('@')[0]}`
if (!client.isGroup && !client.isCmd) loging = `=> ${client.time} Message from ${client.sender.split('@')[0]}`
if (client.isCmd && client.isGroup) loging = `=> ${client.time} ${client.commandName} from ${client.sender.split('@')[0]} in ${client.groupName}`
if (!client.isCmd && client.isGroup) loging = `=> ${client.time} Message from ${client.sender.split('@')[0]} in ${client.groupName}`
io.emit('log', { loging })
}

module.exports = {
web
web,
loging
}
3 changes: 2 additions & 1 deletion views/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ h1 {
height: 100%;
}

.uptime-label,
.log-label,
.uptime,
.bot,
.server,
.chat,
Expand Down
9 changes: 5 additions & 4 deletions views/index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<div class="content">
<h1>KryPtoN Bot Resources</h1>
<div class="user">Hello</div>
<label class="server">Server</label>
<label class="server">-- Server --</label>
<div class="os">OS Type</div>
<!-- CPU -->
<label class="cpu-label" for="cpu">CPU 0%</label>
Expand All @@ -25,12 +25,13 @@
<div class="outerContainer-ram">
<div class="innerBar-ram"></div>
</div>
<label class="bot">BOT</label>
<label class="bot">-- BOT --</label>
<!-- CHAT -->
<div class="chat">Total CHAT</div>
<!-- ULTIME -->
<label class="uptime-label">Uptime</label>
<div class="uptime"></div>
<div class="uptime">Uptime:</div>
<label class="log-label">Bot command log realtime: </label>
<div class="log"></div>
</div>

<footer>KryPtoN 😎 ©2021</footer>
Expand Down
10 changes: 7 additions & 3 deletions views/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ const user = document.querySelector('.user');
const os = document.querySelector('.os');
const chatTotal = document.querySelector('.chat');
const onTime = document.querySelector('.uptime');
const log = document.querySelector('.log');

// ON CONNECT EVENT
socket.on('connect', () => {
console.log('Connected');
});
// ON RAM USAGE EVENT
socket.on('ram-usage', ({ ram, cpu, username, osInfo, chat, uptime }) => {
socket.on('ram-usage', ({ ram, cpu, username, osInfo, chat, uptime, loging }) => {
// SHOW OS USER INFO
user.innerHTML = `<span>Hello ${username}</span>`;
os.innerHTML = `<span>OS type: ${osInfo === 'Windows_NT' ? 'Microsoft Windows' : osInfo}</span>`
Expand All @@ -40,13 +41,16 @@ function botUpTime(seconds){
var seconds = Math.floor(seconds % 60);

//return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds)
return onTime.innerHTML = `<span>${pad(hours)}Jam ${pad(minutes)}Menit ${pad(seconds)}Detik</span>`
return onTime.innerHTML = `Uptime: <span>${pad(hours)}Jam ${pad(minutes)}Menit ${pad(seconds)}Detik</span>`
}

botUpTime(uptime)

});

socket.on('log', ({ loging }) => {
log.innerHTML = `<span>${loging}</span>`;
})

// NOTIFICATION FUNCTION
let notify = (info) => {
// If granted
Expand Down

0 comments on commit ffc9c72

Please sign in to comment.