From 46312bea2ec4a65a636e32c072721de4b5609f17 Mon Sep 17 00:00:00 2001
From: Kry9toN <dhimasbagusprayoga@gmail.com>
Date: Sat, 23 Jan 2021 14:19:28 +0700
Subject: [PATCH] fix cooldown detection and fix gmium

---
 src/command/gmium.ts   |  3 ++-
 src/command/sticker.ts | 18 +++++++++---------
 src/krypton.ts         | 25 ++++++++++++-------------
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/src/command/gmium.ts b/src/command/gmium.ts
index ae9e2d3..8282f6c 100644
--- a/src/command/gmium.ts
+++ b/src/command/gmium.ts
@@ -7,12 +7,13 @@ module.exports = {
     description: 'Untuk mengelola member premium group _only owner_',
     async execute (client, chat, pesan, args) {
         if (!client.isOwner && !client.isSudo) return client.reply(pesan.hanya.owner)
-        const gid = args[2]
+        const gid = args[1]
         if (args[0] === 'add') {
             const mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
             const sign = mentioned[0]
             if (args[1] === 'unlimited') {
                 if (chat.message.extendedTextMessage === undefined || chat.message.extendedTextMessage === null) return client.reply('Tag yang bersangkutan!')
+                const gid = args[2]
                 databaseInput(`INSERT INTO gmium(gid, lifetime, signature) VALUES('${gid}', 'unlimited', '${sign}')`)
                     .then(() => {
                         client.reply(pesan.berhasil)
diff --git a/src/command/sticker.ts b/src/command/sticker.ts
index f69c23f..6987d9d 100644
--- a/src/command/sticker.ts
+++ b/src/command/sticker.ts
@@ -22,15 +22,15 @@ module.exports = {
             await ffmpeg(`./${media}`)
                 .input(media)
                 .on('start', function (cmd) {
-                    console.log(`[SERVER] Started : ${cmd}`)
+                    console.log(`[INFO] Started : ${cmd}`)
                 })
                 .on('error', function (err) {
-                    console.log(`[SERVER] Error : ${err}`)
+                    console.log(`[INFO] Error : ${err}`)
                     fs.unlinkSync(media)
                     client.reply('Error saat membuat sticker')
                 })
                 .on('end', function () {
-                    console.log('[SERVER] Berhasil membuat sticker')
+                    console.log('[INFO] Berhasil membuat sticker')
                     client.sendMessage(client.from, fs.readFileSync(ranw), MessageType.sticker, { quoted: chat })
                     fs.unlinkSync(media)
                     fs.unlinkSync(ranw)
@@ -47,16 +47,16 @@ module.exports = {
             await ffmpeg(`./${media}`)
                 .inputFormat(media.split('.')[1])
                 .on('start', function (cmd) {
-                    console.log(`[SERVER] Started : ${cmd}`)
+                    console.log(`[INFO] Started : ${cmd}`)
                 })
                 .on('error', function (err) {
-                    console.log(`[SERVER] Error : ${err}`)
+                    console.log(`[INFO] Error : ${err}`)
                     fs.unlinkSync(media)
                     const tipe = media.endsWith('.mp4') ? 'video' : 'gif'
                     client.reply(`❌ Gagal, pada saat mengkonversi ${tipe} ke stiker`)
                 })
                 .on('end', function () {
-                    console.log('[SERVER] Berhasil membuat sticker')
+                    console.log('[INFO] Berhasil membuat sticker')
                     client.sendMessage(client.from, fs.readFileSync(ranw), MessageType.sticker, { quoted: chat })
                     fs.unlinkSync(media)
                     fs.unlinkSync(ranw)
@@ -90,14 +90,14 @@ module.exports = {
             const ranw = getRandom('.webp')
             await ffmpeg(`./${media}`)
                 .on('start', function (cmd) {
-                    console.log('[SERVER] Started :', cmd)
+                    console.log('[INFO] Started :', cmd)
                 })
                 .on('error', function (err) {
                     fs.unlinkSync(media)
-                    console.log('[SERVER] Error :', err)
+                    console.log('[INFO] Error :', err)
                 })
                 .on('end', function () {
-                    console.log('[SERVER] Berhasil membuat sticker')
+                    console.log('[INFO] Berhasil membuat sticker')
                     client.sendMessage(client.from, fs.readFileSync(ranw), MessageType.sticker, { quoted: chat })
                     fs.unlinkSync(media)
                     fs.unlinkSync(ranw)
diff --git a/src/krypton.ts b/src/krypton.ts
index 899ab5f..61dced8 100644
--- a/src/krypton.ts
+++ b/src/krypton.ts
@@ -57,20 +57,20 @@ async function krypton () {
     if (fs.existsSync('./sessions/krypton-sessions.json')) {
         await client.loadAuthInfo('./sessions/krypton-sessions.json')
         await client.on('connecting', () => {
-            start('1', '[SERVER] Menyambungkan ke sessions yang sudah ada...')
+            start('1', '[INFO] Menyambungkan ke sessions yang sudah ada...')
         })
     }
 
     // Server connecting
     if (!fs.existsSync('./sessions/krypton-sessions.json')) {
         await client.on('connecting', () => {
-            start('1', '[SERVER] Menunggu scan code QR untuk menyambungkan...')
+            start('1', '[INFO] Menunggu scan code QR untuk menyambungkan...')
         })
     }
 
     // Server connected
     await client.on('open', () => {
-        success('1', '[SERVER] Terhubung')
+        success('1', '[INFO] Terhubung')
         console.log('🤖', color('KryPtoN Bot Sudah siap!!', 'green'))
     })
 
@@ -96,7 +96,7 @@ async function krypton () {
                 })
             }
         } catch (e) {
-            console.log('Error : %s', color(e, 'red'))
+            console.log('[INFO] : %s', color(e, 'red'))
         }
     })
 
@@ -126,8 +126,7 @@ async function krypton () {
         const groupName = client.isGroup ? groupMetadata.subject : ''
         client.groupMembers = client.isGroup ? groupMetadata.participants : ''
         const groupAdmins = client.isGroup ? getGroupAdmins(client.groupMembers) : ''
-        client.groupId = client.isGroup ? groupMetadata.jid : ''
-        client.isGroup = client.from.endsWith('@g.us')
+        client.groupId = client.isGroup ? groupMetadata.id : ''
         client.isBotGroupAdmins = groupAdmins.includes(botNumber) || false
         client.isGroupAdmins = groupAdmins.includes(client.sender) || false
         client.isOwner = client.sender.includes(ownerNumber)
@@ -202,12 +201,12 @@ async function krypton () {
 
         if (!command) return
 
-        if (!cooldowns.has(command.name)) {
-            cooldowns.set(command.name, new Collection())
-        }
-
         // Time durations
-        if (!client.isPmium || !client.isGmium || !client.isOwner) {
+        if ((!client.isGroup && !client.isPmium) || (client.isGroup && !client.isGmium)) {
+            if (!cooldowns.has(command.name)) {
+                cooldowns.set(command.name, new Collection())
+            }
+
             const now = Date.now()
             const timestamps = cooldowns.get(command.name)
             const cooldownAmount = (command.cooldown || 1) * 1000
@@ -231,10 +230,10 @@ async function krypton () {
         try {
             command.execute(client, chat, pesan, args)
         } catch (e) {
-            console.log('Error : %s', color(e, 'red'))
+            console.log('[INFO] : %s', color(e, 'red'))
             client.sendMessage(client.from, 'Telah terjadi error setelah menggunakan command ini.', MessageType.text)
         }
     })
 }
 
-krypton().catch((err) => console.log('Error : %s', color(err, 'red')))
+krypton().catch((err) => console.log('[INFO] : %s', color(err, 'red')))