diff --git a/index.js b/index.js index af975a80..64e15d01 100644 --- a/index.js +++ b/index.js @@ -59,7 +59,6 @@ const express = require("express"); const app = express(); const port = process.env.PORT || 9090; -//============================================= async function connectToWA() { console.log("CONNECTING KERM_MD-V1🧬..."); diff --git a/my_data/autoreply.json b/my_data/autoreply.json index 50a38244..8f348a32 100644 --- a/my_data/autoreply.json +++ b/my_data/autoreply.json @@ -1,11 +1,10 @@ { "hi":"*ʜɪɪ ᴍʏ ғʀɪᴇɴᴅ ʜᴏᴡ ᴄᴀɴ ɪ ʜᴇʟᴘ ʏᴏᴜ* 👑❤️", -"silent":"*ʏᴇᴀsʜ sɪʟᴇɴᴛ ɪs ʜᴇʀᴇ ᴍᴏʟɴɪɴɢ ᴅᴇᴀʀ* 🥹🩷", -"usman":"*ʏᴇᴀsʜ ᴊᴀᴀɴ*☺️", +"kerm":"*Yeah Am Kerm*☺️", "ok":"*HMMM*😊♥️", "Okey":"*AHMM*💙🥲", -".sad":"MEIN L LIKHA TENU WR JAYY😁", -". Sad":"MEIN L LIKHA TENU WR JAYY😁", -".SAD":"MEIN L LIKHA TENU WR JAYY😁", -". SAD":"MEIN L LIKHA TENU WR JAYY😁" +"sad":"MEIN L LIKHA TENU WR JAYY😁", +"Sad":"MEIN L LIKHA TENU WR JAYY😁", +"SAD":"MEIN L LIKHA TENU WR JAYY😁", +"SAD":"MEIN L LIKHA TENU WR JAYY😁" } diff --git a/my_data/diary.json b/my_data/diary.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/my_data/diary.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/package.json b/package.json index e0aa6850..56e08efe 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@sl-code-lords/wabetainfo": "1.2.0", "@tobyg74/tiktok-api-dl": "1.0.13", "@vitalets/google-translate-api": "9.2.0", - "@whiskeysockets/baileys": "git+https://github.com/prabathLK/Baileys-6.0.0.git#master", + "@whiskeysockets/baileys": "6.6.0", "api-dylux": "latest", "aptoide-scraper": "1.0.1", "awesome-phonenumber": "6.2.0", @@ -122,4 +122,4 @@ "mrnima-moviedl":"1.0.0" } -} +} \ No newline at end of file diff --git a/plugins/diary.js b/plugins/diary.js new file mode 100644 index 00000000..df8be18f --- /dev/null +++ b/plugins/diary.js @@ -0,0 +1,190 @@ +/* +_ ______ _____ _____ _____ _ _ +| |/ / ___| |_ _| ____/___ | | | | +| ' / | _ | | | _|| | | |_| | +| . \ |_| | | | | |__| |___| _ | +|_|\_\____| |_| |_____\____|_| |_| + +ANYWAY, YOU MUST GIVE CREDIT TO MY CODE WHEN COPY IT +CONTACT ME HERE +237656520674 +YT: KermHackTools +Github: Kgtech-cmr +*/ + +const fs = require("fs"); +const path = require("path"); +const { cmd } = require("../command"); + +const diaryFile = path.join(__dirname, "../my_data/diary.json"); +let diaries = fs.existsSync(diaryFile) ? JSON.parse(fs.readFileSync(diaryFile, 'utf8')) : {}; + +// Function to save diaries to file +const saveDiaries = () => { + fs.writeFileSync(diaryFile, JSON.stringify(diaries, null, 2)); +}; + +// URL of the image (replace with a valid URL) +const ALIVE_IMG = "https://i.ibb.co/4Zq1jCNP/lordkerm.jpg"; + +// --------------------- +// .diary command (open or create diary) +// --------------------- +cmd({ + pattern: "diary", + desc: "Open or create a secret diary (Owner only).", + category: "private", + filename: __filename +}, async (conn, mek, m, { reply, q, from, isOwner, sender }) => { + // Check if the user is the owner + if (!isOwner) return reply("❌ Only the bot owner can use this command."); + + const userId = m.sender; + + if (!diaries[userId]) { + if (!q) { + return reply("📖 You don't have a diary yet. To create one, use:\n\n`.diary yourpassword`"); + } + diaries[userId] = { password: q.trim(), entries: [] }; + saveDiaries(); + return reply(`✅ Your secret diary has been created!\nTo add an entry, use \`.setdiary your message\`\nTo open your diary, use \`.diary yourpassword\``); + } + + if (!q) { + return reply("🔒 You already have a diary. To open it, enter your password like this:\n\n`.diary yourpassword`"); + } + + if (q.trim() !== diaries[userId].password) { + return reply("❌ Incorrect password! Please try again."); + } + + if (diaries[userId].entries.length === 0) { + return reply("📖 Your diary is empty. Add entries using `.setdiary your message`."); + } + + let formattedInfo = `📖 *Your Diary Entries:*\n\n`; + diaries[userId].entries.forEach((entry) => { + formattedInfo += `📅 *${entry.date}* 🕒 *${entry.time}*\n📝 ${entry.text}\n\n`; + }); + + // Send the image with the diary entries + await conn.sendMessage(from, { + image: { url: ALIVE_IMG }, + caption: formattedInfo, + contextInfo: { + mentionedJid: [m.sender], + forwardingScore: 999, + isForwarded: true, + forwardedNewsletterMessageInfo: { + newsletterJid: '120363321386877609@newsletter', + newsletterName: '𝐊𝐄𝐑𝐌 𝐃𝐈𝐀𝐑𝐘', + serverMessageId: 143 + } + } + }, { quoted: mek }); +}); + +// --------------------- +// .setdiary command (add a new diary entry) +// --------------------- +cmd({ + pattern: "setdiary", + desc: "Write a new diary entry (Owner only).", + category: "private", + filename: __filename +}, async (conn, mek, m, { reply, q, isOwner, sender }) => { + if (!isOwner) return reply("❌ Only the bot owner can use this command."); + const userId = m.sender; + if (!diaries[userId]) { + return reply("❌ You don't have a diary. Create one using `.diary yourpassword`."); + } + if (!q) { + return reply("✍️ Please provide the text you want to add to your diary."); + } + + const now = new Date(); + const date = now.toLocaleDateString('fr-FR'); // Date format (France) + const time = now.toLocaleTimeString('fr-FR', { hour12: false }); // 24h format + + diaries[userId].entries.push({ date, time, text: q.trim() }); + saveDiaries(); + + reply("✅ Your diary entry has been saved!"); +}); + +// --------------------- +// .resetdiary command (delete all diary entries) +// --------------------- +cmd({ + pattern: "resetdiary", + desc: "Reset your diary (delete all entries) (Owner only).", + category: "private", + filename: __filename +}, async (conn, mek, m, { reply, q, isOwner, sender }) => { + if (!isOwner) return reply("❌ Only the bot owner can use this command."); + const userId = m.sender; + + if (!diaries[userId]) { + return reply("❌ You don't have a diary to reset."); + } + + if (!q) { + return reply("⚠️ To reset your diary, use `.resetdiary yourpassword` to confirm your identity."); + } + + if (q.trim() !== diaries[userId].password) { + return reply("❌ Incorrect password! Diary reset aborted."); + } + + delete diaries[userId]; + saveDiaries(); + + reply("✅ Your diary has been successfully reset!"); +}); + +// --------------------- +// .resetpassword command (reset diary password; Owner only) +// --------------------- +const generateCode = () => Math.floor(100000 + Math.random() * 900000).toString(); // 6-digit code +let resetRequests = {}; + +cmd({ + pattern: "resetpassword", + desc: "Reset your diary password (Owner only).", + category: "private", + filename: __filename +}, async (conn, mek, m, { reply, q, isOwner, sender }) => { + if (!isOwner) return reply("❌ Only the bot owner can use this command."); + const userId = m.sender; + + if (!diaries[userId]) { + return reply("❌ You don't have a diary. Create one using `.diary yourpassword`."); + } + + // If no argument is provided, send a reset code + if (!q) { + const resetCode = generateCode(); + // Store the reset code with an expiration time of 5 minutes + resetRequests[userId] = { code: resetCode, expires: Date.now() + 5 * 60 * 1000 }; + + await conn.sendMessage(userId, { + text: `🔐 Your password reset code: *${resetCode}*\n\nThis code expires after 5 minutes.\nEnter this code with \'.resetpassword *code* newpassword\' to confirm.` + }); + return reply("📩 A reset code has been sent to your private chat. Use it to reset your password."); + } + + const args = q.split(" "); + if (args.length !== 2) { + return reply("⚠️ Incorrect format! Use:\n\n`.resetpassword code newpassword`"); + } + + const [code, newPassword] = args; + if (!resetRequests[userId] || resetRequests[userId].code !== code || Date.now() > resetRequests[userId].expires) { + return reply("❌ Invalid or expired code! Request a new one with `.resetpassword`."); + } + + diaries[userId].password = newPassword.trim(); + saveDiaries(); + delete resetRequests[userId]; + + reply("✅ Your diary password has been successfully reset!"); +}); \ No newline at end of file diff --git a/plugins/game.js b/plugins/game.js index 80d4a96d..20639467 100644 --- a/plugins/game.js +++ b/plugins/game.js @@ -11,4 +11,111 @@ YT: KermHackTools Github: Kgtech-cmr */ +const { delay } = require("@whiskeysockets/baileys"); +const { cmd } = require("../command"); +cmd({ + pattern: "squidgame", + desc: "Lancer le jeu Squid Game dans un groupe", + category: "fun", + filename: __filename +}, async (conn, mek, m, { isAdmin, isOwner, participants, reply }) => { + try { + if (!m.isGroup) return reply("❌ Cette commande ne peut être utilisée que dans les groupes."); + if (!isAdmin && !isOwner) return reply("❌ Seuls les admins peuvent utiliser cette commande."); + + let groupMembers = participants.filter(p => !p.admin); // Exclure les admins + if (groupMembers.length < 5) return reply("⚠️ Il faut au moins 5 membres non-admins pour jouer."); + + let gameCreator = "@" + m.sender.split("@")[0]; + + // Message d'annonce du jeu + let gameMessage = `🔴 *Squid Game: Red Light,🟢Green Light*\n\n🎭 *Front Man*: (${gameCreator})\n`; + gameMessage += groupMembers.map(m => "@" + m.id.split("@")[0]).join("\n") + "\n\n"; + gameMessage += "Tous les autres membres du groupe sont ajoutés comme joueurs ! Le jeu commence dans 50 secondes."; + + await conn.sendMessage(m.chat, { text: gameMessage, mentions: groupMembers.map(m => m.id) }); + + await delay(50000); // Attente de 50s avant de sélectionner les joueurs + + // Sélectionner 50 joueurs aléatoires + let players = groupMembers.sort(() => 0.5 - Math.random()).slice(0, 5); + + let playersList = players.map((p, i) => `${i + 1}. @${p.id.split("@")[0]}`).join("\n"); + + await conn.sendMessage(m.chat, { + text: `🎮 *Liste des joueurs:*\n${playersList}\n\n🔔 Le jeu commence maintenant !`, + mentions: players.map(p => p.id) + }); + + await delay(3000); + + // Explication des règles + let rulesMessage = `📜 *Règles du Squid Game:*\n\n` + + `1️⃣ Pendant 🟥 *Red Light*, les joueurs qui envoient un message seront *éliminés* et *expulsés* du groupe.\n\n` + + `2️⃣ Pendant 🟩 *Green Light*, les joueurs doivent envoyer un message. Ceux qui restent silencieux seront éliminés.\n\n` + + `3️⃣ Le jeu se termine lorsqu'il ne reste plus qu'un seul joueur.\n\n` + + `🏆 Survis pour devenir le *gagnant* !`; + + await conn.sendMessage(m.chat, { text: rulesMessage }); + + await delay(5000); + + let remainingPlayers = [...players]; + while (remainingPlayers.length > 1) { + let isGreenLight = Math.random() > 0.5; + let lightMessage = isGreenLight ? "🟩 *Green Light*" : "🟥 *Red Light*"; + await conn.sendMessage(m.chat, { text: `🔔 ${lightMessage}` }); + + await delay(5000); // Délai de 5s entre chaque phase + + let playersToKick = []; + let spokenPlayers = new Set(); // Stocke ceux qui ont parlé + + conn.ev.on("messages.upsert", (msg) => { + let sender = msg.messages[0].key.remoteJid; + if (remainingPlayers.find(p => p.id === sender)) spokenPlayers.add(sender); + }); + + if (isGreenLight) { + // Vérifier qui ne parle pas + for (let player of remainingPlayers) { + if (!spokenPlayers.has(player.id)) { + playersToKick.push(player); + } + } + } else { + // Vérifier qui parle + for (let player of remainingPlayers) { + if (spokenPlayers.has(player.id)) { + playersToKick.push(player); + } + } + } + + for (let player of playersToKick) { + await conn.groupParticipantsUpdate(m.chat, [player.id], "remove"); + let eliminationMessage = isGreenLight + ? `❌ @${player.id.split("@")[0]} est resté silencieux pendant 🟩 *Green Light* et a été éliminé et expulsé du groupe.` + : `❌ @${player.id.split("@")[0]} a écrit pendant 🟥 *Red Light* et a été éliminé et expulsé du groupe.`; + + await conn.sendMessage(m.chat, { + text: eliminationMessage, + mentions: [player.id] + }); + } + + remainingPlayers = remainingPlayers.filter(p => !playersToKick.includes(p)); + } + + if (remainingPlayers.length === 1) { + await conn.sendMessage(m.chat, { + text: `🏆 *Félicitations @${remainingPlayers[0].id.split("@")[0]} !*\nTu as survécu et remporté le Squid Game ! 🎉`, + mentions: [remainingPlayers[0].id] + }); + } + } catch (error) { + console.error("Erreur dans la commande .squidgame:", error); + reply("❌ Une erreur s'est produite lors du lancement du Squid Game."); + } +}); \ No newline at end of file diff --git a/plugins/pdf-convert.js b/plugins/pdf-convert.js new file mode 100644 index 00000000..1eca3833 --- /dev/null +++ b/plugins/pdf-convert.js @@ -0,0 +1,95 @@ +const fs = require('fs'); +const path = require('path'); +const { cmd } = require('../command'); + +const pdfStorage = {}; // Temporary storage for images per user + +cmd({ + pattern: "pdf", + desc: "Convert images to PDF", + category: "tools", + filename: __filename +}, async (mek, m, { reply, text, isMedia, quoted, mime, sender }) => { + try { + const user = sender; + + if (!text) { + return reply('_Reply to any image, get help using ".pdf help" command_'); + } + + if (text.toLowerCase() === "help") { + return reply( + `_1. Input images using .pdf image_\n` + + `_2. Get output PDF using .pdf get_\n` + + `_3. Added images by mistake? Delete all inputted images using .pdf delete_\n` + + `_4. All files will be auto-deleted after the output is produced_` + ); + } + + if (text.toLowerCase() === "image") { + if (!isMedia || !/image/.test(mime)) { + return reply("❌ *Please reply to an image with `.pdf image`.*"); + } + + // Download the image + const media = await conn.downloadMediaMessage(quoted); + const dir = path.join(__dirname, "pdf_temp", user); + const filename = `${Date.now()}.jpg`; + + // Create user folder if it doesn't exist + if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }); + + // Save the image to the user's folder + fs.writeFileSync(path.join(dir, filename), media); + + if (!pdfStorage[user]) pdfStorage[user] = []; + pdfStorage[user].push(filename); + + return reply(`✅ *_Successfully saved image_*\n` + + `_*Total saved images: ${pdfStorage[user].length}*_\n` + + `*_After saving all images, use '.pdf get' to get the result. Images will be deleted after conversion!_*`); + } + + if (text.toLowerCase() === "get") { + const dir = path.join(__dirname, "pdf_temp", user); + if (!fs.existsSync(dir) || !pdfStorage[user] || pdfStorage[user].length === 0) { + return reply("❌ *No images found! Use `.pdf image` to add some.*"); + } + + const pdfPath = path.join(dir, "output.pdf"); + const doc = new PDFDocument({ autoFirstPage: false }); + + const stream = fs.createWriteStream(pdfPath); + doc.pipe(stream); + + // Add each saved image to the PDF + for (const img of pdfStorage[user]) { + const imgPath = path.join(dir, img); + const { width, height } = doc.page; + doc.addPage({ size: [width, height] }); + doc.image(imgPath, 0, 0, { fit: [width, height] }); + } + + doc.end(); + + // Once PDF is created, send it and delete temporary files + stream.on("finish", async () => { + await conn.sendMessage(m.chat, { document: fs.readFileSync(pdfPath), mimetype: "application/pdf", fileName: "document.pdf" }); + fs.rmSync(dir, { recursive: true, force: true }); + delete pdfStorage[user]; + }); + } + + if (text.toLowerCase() === "delete") { + // Delete user's stored images + const dir = path.join(__dirname, "pdf_temp", user); + if (fs.existsSync(dir)) fs.rmSync(dir, { recursive: true, force: true }); + delete pdfStorage[user]; + return reply("✅ *All saved images have been deleted!*"); + } + + } catch (error) { + console.error("Error in .pdf command:", error); + reply("❌ *An error occurred while executing the PDF command.*"); + } +}); \ No newline at end of file diff --git a/plugins/ping.js b/plugins/ping.js index 851be06a..58eee998 100644 --- a/plugins/ping.js +++ b/plugins/ping.js @@ -1,59 +1,60 @@ -/* -_ ______ _____ _____ _____ _ _ -| |/ / ___| |_ _| ____/___ | | | | -| ' / | _ | | | _|| | | |_| | -| . \ |_| | | | | |__| |___| _ | -|_|\_\____| |_| |_____\____|_| |_| +const config = require('../config'); +const { cmd, commands } = require('../command'); -ANYWAY, YOU MUST GIVE CREDIT TO MY CODE WHEN COPY IT -CONTACT ME HERE +237656520674 -YT: KermHackTools -Github: Kgtech-cmr -*/ - -const config = require('../config') -let fs = require('fs') -const os = require("os") -const { cmd, commands } = require('../command') -const { getBuffer, getGroupAdmins, getRandom, h2k, isUrl, Json, runtime, sleep, fetchJson} = require('../lib/functions') cmd({ pattern: "ping", - react: "📟", - alias: ["speed"], - desc: "Check bot\'s ping", + alias: ["speed","pong"],use: '.ping', + desc: "Check bot's response time.", category: "main", - use: '.ping2', + react: "📟", filename: __filename }, -async(conn, mek, m,{from, l, quoted, body, isCmd, command, args, q, isGroup, sender, senderNumber, botNumber2, botNumber, pushname, isMe, isOwner, groupMetadata, groupName, participants, groupAdmins, isBotAdmins, isAdmins, reply}) => { -try{ -var inital = new Date().getTime(); -let ping = await conn.sendMessage(from , { text: '*_Zinda huu..._*' }, { quoted: mek } ) -var final = new Date().getTime(); -await conn.sendMessage(from, { delete: ping.key }) -return await conn.sendMessage(from , { text: '*📍Pong*\n *' + (final - inital) + ' ms📟* ' }, { quoted: mek } ) -} catch (e) { -reply('*Error !!*') -l(e) -} -}) +async (conn, mek, m, { from, quoted, reply }) => { + try { + const startTime = Date.now(); + + // Add a short delay + await new Promise(resolve => setTimeout(resolve, 100)); // 100ms delay + + const endTime = Date.now(); + const ping = endTime - startTime; + + // Send the ping result + await conn.sendMessage(from, { + text: `*📍pong : ${ping} ms*`, + contextInfo: { + mentionedJid: [m.sender], + forwardingScore: 999, + isForwarded: false, + forwardedNewsletterMessageInfo: { + newsletterJid: '120363354023106228@newsletter', + newsletterName: 'JawadTechX', + serverMessageId: 143 + } + } + }, { quoted: mek }); + } catch (e) { + console.error(e); + reply(`An error occurred: ${e.message}`); + } +}); + +// ping2 cmd({ pattern: "ping2", - react: "♻️", - alias: ["speed"], - desc: "Check bot\'s ping", + desc: "Check bot's response time.", category: "main", - use: '.ping', + react: "🍂", filename: __filename }, -async(conn, mek, m,{from, quoted, body, isCmd, command, args, q, isGroup, sender, senderNumber, botNumber2, botNumber, pushname, isMe, isOwner, groupMetadata, groupName, participants, groupAdmins, isBotAdmins, isAdmins, reply}) => { -try{ -const startTime = Date.now() - const message = await conn.sendMessage(from, { text: '*_Pinging..._*' }) +async (conn, mek, m, { from, quoted, body, isCmd, command, args, q, isGroup, sender, senderNumber, botNumber2, botNumber, pushname, isMe, isOwner, groupMetadata, groupName, participants, groupAdmins, isBotAdmins, isAdmins, reply }) => { + try { + const startTime = Date.now() + const message = await conn.sendMessage(from, { text: '*_PINGING..._*' }) const endTime = Date.now() const ping = endTime - startTime - await conn.sendMessage(from, { text: `*_🧞‍♂️Kerm Speed... : ${ping}ms_*`}, { quoted: message }) + await conn.sendMessage(from, { text: `*☇ ᴀʟɪ ꜱᴩᷨᴇͦᴇͭᴅ 🍁 : ${ping} ᴍꜱ*` }, { quoted: message }) } catch (e) { console.log(e) reply(`${e}`) diff --git a/plugins/tools-game.js b/plugins/tools-game.js index bc3e75b0..713e3846 100644 --- a/plugins/tools-game.js +++ b/plugins/tools-game.js @@ -174,18 +174,37 @@ cmd({ }); cmd({ 'pattern': "roll", - 'desc': "Roll a dice (1-6).", + 'desc': "Roll two dice (1-6) and get their sum.", 'category': 'fun', 'filename': __filename -}, async (_0x52291b, _0x3b2718, _0x263aad, { - reply: _0x2f786c +}, async (conn, mek, m, { + reply }) => { try { - const _0xc66607 = Math.floor(Math.random() * 0x6) + 0x1; - _0x2f786c("🎲 You rolled: *" + _0xc66607 + '*'); - } catch (_0xfc9684) { - console.error("Error in .roll command:", _0xfc9684); - _0x2f786c("❌ An error occurred while rolling the dice."); + // Générer deux nombres aléatoires entre 1 et 6 + const dice1 = Math.floor(Math.random() * 6) + 1; + const dice2 = Math.floor(Math.random() * 6) + 1; + + // Calculer la somme des deux dés + const sum = dice1 + dice2; + + // Obtenir l'identifiant de l'utilisateur qui a lancé la commande + const userTag = "@" + m.sender.split("@")[0]; + + // Construire le message du résultat + let resultMessage = `🎲: *${dice1}* 🎲: *${dice2}*\n *${sum}* pour ${userTag}`; + + // Vérifier si les deux dés affichent 1 et ajouter "Million" + if (dice1 === 1 && dice2 === 1) { + resultMessage = `🎲: *${dice1}* 🎲: *${dice2}*\n💰 *Million* pour ${userTag}`; + } + + // Envoyer le résultat avec la mention + await conn.sendMessage(m.chat, { text: resultMessage, mentions: [m.sender] }, { quoted: mek }); + + } catch (error) { + console.error("Error in .roll command:", error); + reply("❌ An error occurred while rolling the dice."); } }); cmd({ diff --git a/plugins/url.js b/plugins/url.js index 80704eb8..97265621 100644 --- a/plugins/url.js +++ b/plugins/url.js @@ -11,7 +11,7 @@ YT: KermHackTools Github: Kgtech-cmr */ -const _0x13eed5=_0x3acc;(function(_0x389a34,_0x4b032d){const _0x41de97=_0x3acc,_0xfe5f6d=_0x389a34();while(!![]){try{const _0x156499=-parseInt(_0x41de97(0x1e3))/0x1+-parseInt(_0x41de97(0x1ec))/0x2*(parseInt(_0x41de97(0x1d7))/0x3)+-parseInt(_0x41de97(0x1e8))/0x4*(parseInt(_0x41de97(0x1e0))/0x5)+parseInt(_0x41de97(0x1e1))/0x6*(parseInt(_0x41de97(0x1f0))/0x7)+-parseInt(_0x41de97(0x1e2))/0x8+parseInt(_0x41de97(0x1eb))/0x9+parseInt(_0x41de97(0x1ea))/0xa*(parseInt(_0x41de97(0x1ef))/0xb);if(_0x156499===_0x4b032d)break;else _0xfe5f6d['push'](_0xfe5f6d['shift']());}catch(_0x86607a){_0xfe5f6d['push'](_0xfe5f6d['shift']());}}}(_0x43ea,0xcf3ea));function hi(){const _0x344a79=_0x3acc;console[_0x344a79(0x1d5)](_0x344a79(0x1e6));}function _0x43ea(){const _0x1c14b2=['writeFileSync','4703515STvXey','164070gDdSnB','8578816OrDgMD','396700ZuwSUa','tourl','post','Hello\x20World!','path','4vuGGcO','❌\x20Error','1580TmjjCN','725301fNryIy','2498PzLJmw','tmpdir','anime','227051ZzMAtQ','371zjjBTW','data','imgurl','_`🌻\x20Reply\x20To\x20image`_','quoted','*Kᴇʀᴍ\x20ᴜᴘʟᴏᴀᴅᴇᴅ\x20sᴜᴄᴄᴇssғᴜʟʟʏ*\x0a\x0a\x20','join','url','msg','.maid','imgtourl','../command','log','mrfrankofc','3681KxQbPS','axios','convert.','length','download','\x0a\x0a>\x20*©\x20ᴜᴘʟᴏᴀᴅᴇᴅ\x20ʙʏ\x20Kᴇʀᴍ\x20ᴍᴅ🥷🏽*','https://api.imgbb.com/1/upload?key=e34e6044271f7966c71f452fac88094b','unlinkSync'];_0x43ea=function(){return _0x1c14b2;};return _0x43ea();}hi();function _0x3acc(_0x49444c,_0x574ece){const _0x43ea76=_0x43ea();return _0x3acc=function(_0x3acc56,_0x58c19d){_0x3acc56=_0x3acc56-0x1ce;let _0x4d0a73=_0x43ea76[_0x3acc56];return _0x4d0a73;},_0x3acc(_0x49444c,_0x574ece);}const axios=require(_0x13eed5(0x1d8)),FormData=require('form-data'),fs=require('fs'),os=require('os'),path=require(_0x13eed5(0x1e7)),{cmd,commands}=require(_0x13eed5(0x1d4));cmd({'pattern':_0x13eed5(0x1e4),'alias':[_0x13eed5(0x1d3),_0x13eed5(0x1f2),_0x13eed5(0x1d0)],'react':'🖇','desc':_0x13eed5(0x1d9),'category':_0x13eed5(0x1ee),'use':_0x13eed5(0x1d2),'filename':__filename},async(_0x3030ef,_0x3a6d99,_0x14e812,{from:_0xf43e98,mnu:_0x4dc65e,quoted:_0x211483,body:_0x18fc6b,isCmd:_0x5b2ef9,command:_0xe852c7,args:_0x132236,q:_0x5a0916,isGroup:_0xb025d0,sender:_0x1d6c74,senderNumber:_0x5b46f7,botNumber2:_0x5f439f,botNumber:_0x222528,pushname:_0x3a3a58,isMe:_0x534423,isOwner:_0x25371e,groupMetadata:_0x204a08,groupName:_0xd5e6b2,participants:_0xfe68fc,groupAdmins:_0x43fd54,isBotAdmins:_0x1d6051,isAdmins:_0xe6be35,reply:_0x83bc5c})=>{const _0x3b5aeb=_0x13eed5;try{let _0x1ac1cd=_0x14e812['quoted']?_0x14e812[_0x3b5aeb(0x1f4)]:_0x14e812,_0x5ed57a=(_0x1ac1cd[_0x3b5aeb(0x1d1)]||_0x1ac1cd)['mimetype']||'';if(!_0x5ed57a)throw _0x3b5aeb(0x1f3);let _0x4bfc7e=await _0x1ac1cd[_0x3b5aeb(0x1db)](),_0x375818=path[_0x3b5aeb(0x1cf)](os[_0x3b5aeb(0x1ed)](),_0x3b5aeb(0x1d6));fs[_0x3b5aeb(0x1df)](_0x375818,_0x4bfc7e);let _0x5a4161=new FormData();_0x5a4161['append']('image',fs['createReadStream'](_0x375818));let _0x21f829=await axios[_0x3b5aeb(0x1e5)](_0x3b5aeb(0x1dd),_0x5a4161,{'headers':{..._0x5a4161['getHeaders']()}});if(!_0x21f829['data']||!_0x21f829[_0x3b5aeb(0x1f1)][_0x3b5aeb(0x1f1)]||!_0x21f829[_0x3b5aeb(0x1f1)]['data'][_0x3b5aeb(0x1d0)])throw _0x3b5aeb(0x1e9);let _0xde1929=_0x21f829[_0x3b5aeb(0x1f1)][_0x3b5aeb(0x1f1)][_0x3b5aeb(0x1d0)];fs[_0x3b5aeb(0x1de)](_0x375818),_0x14e812['reply'](_0x3b5aeb(0x1ce)+_0x4bfc7e[_0x3b5aeb(0x1da)]+'\x20Byte(s)\x0a\x20\n*URL\x20:* '+_0xde1929+_0x3b5aeb(0x1dc));}catch(_0x277f1f){_0x83bc5c(''+_0x277f1f),console[_0x3b5aeb(0x1d5)](_0x277f1f);}}); +const _0x13eed5=_0x3acc;(function(_0x389a34,_0x4b032d){const _0x41de97=_0x3acc,_0xfe5f6d=_0x389a34();while(!![]){try{const _0x156499=-parseInt(_0x41de97(0x1e3))/0x1+-parseInt(_0x41de97(0x1ec))/0x2*(parseInt(_0x41de97(0x1d7))/0x3)+-parseInt(_0x41de97(0x1e8))/0x4*(parseInt(_0x41de97(0x1e0))/0x5)+parseInt(_0x41de97(0x1e1))/0x6*(parseInt(_0x41de97(0x1f0))/0x7)+-parseInt(_0x41de97(0x1e2))/0x8+parseInt(_0x41de97(0x1eb))/0x9+parseInt(_0x41de97(0x1ea))/0xa*(parseInt(_0x41de97(0x1ef))/0xb);if(_0x156499===_0x4b032d)break;else _0xfe5f6d['push'](_0xfe5f6d['shift']());}catch(_0x86607a){_0xfe5f6d['push'](_0xfe5f6d['shift']());}}}(_0x43ea,0xcf3ea));function hi(){const _0x344a79=_0x3acc;console[_0x344a79(0x1d5)](_0x344a79(0x1e6));}function _0x43ea(){const _0x1c14b2=['writeFileSync','4703515STvXey','164070gDdSnB','8578816OrDgMD','396700ZuwSUa','tourl','post','Hello\x20World!','path','4vuGGcO','❌\x20Error','1580TmjjCN','725301fNryIy','2498PzLJmw','tmpdir','anime','227051ZzMAtQ','371zjjBTW','data','imgurl','_`🌻\x20Reply\x20To\x20image`_','quoted','*Kᴇʀᴍ\x20ᴜᴘʟᴏᴀᴅᴇᴅ\x20sᴜᴄᴄᴇssғᴜʟʟʏ*\x0a\x0a\x20','join','url','msg','.maid','imgtourl','../command','log','lordkerm','3681KxQbPS','axios','convert.','length','download','\x0a\x0a>\x20*©\x20ᴜᴘʟᴏᴀᴅᴇᴅ\x20ʙʏ\x20Kᴇʀᴍ\x20ᴍᴅ🥷🏽*','https://api.imgbb.com/1/upload?key=e34e6044271f7966c71f452fac88094b','unlinkSync'];_0x43ea=function(){return _0x1c14b2;};return _0x43ea();}hi();function _0x3acc(_0x49444c,_0x574ece){const _0x43ea76=_0x43ea();return _0x3acc=function(_0x3acc56,_0x58c19d){_0x3acc56=_0x3acc56-0x1ce;let _0x4d0a73=_0x43ea76[_0x3acc56];return _0x4d0a73;},_0x3acc(_0x49444c,_0x574ece);}const axios=require(_0x13eed5(0x1d8)),FormData=require('form-data'),fs=require('fs'),os=require('os'),path=require(_0x13eed5(0x1e7)),{cmd,commands}=require(_0x13eed5(0x1d4));cmd({'pattern':_0x13eed5(0x1e4),'alias':[_0x13eed5(0x1d3),_0x13eed5(0x1f2),_0x13eed5(0x1d0)],'react':'🖇','desc':_0x13eed5(0x1d9),'category':_0x13eed5(0x1ee),'use':_0x13eed5(0x1d2),'filename':__filename},async(_0x3030ef,_0x3a6d99,_0x14e812,{from:_0xf43e98,mnu:_0x4dc65e,quoted:_0x211483,body:_0x18fc6b,isCmd:_0x5b2ef9,command:_0xe852c7,args:_0x132236,q:_0x5a0916,isGroup:_0xb025d0,sender:_0x1d6c74,senderNumber:_0x5b46f7,botNumber2:_0x5f439f,botNumber:_0x222528,pushname:_0x3a3a58,isMe:_0x534423,isOwner:_0x25371e,groupMetadata:_0x204a08,groupName:_0xd5e6b2,participants:_0xfe68fc,groupAdmins:_0x43fd54,isBotAdmins:_0x1d6051,isAdmins:_0xe6be35,reply:_0x83bc5c})=>{const _0x3b5aeb=_0x13eed5;try{let _0x1ac1cd=_0x14e812['quoted']?_0x14e812[_0x3b5aeb(0x1f4)]:_0x14e812,_0x5ed57a=(_0x1ac1cd[_0x3b5aeb(0x1d1)]||_0x1ac1cd)['mimetype']||'';if(!_0x5ed57a)throw _0x3b5aeb(0x1f3);let _0x4bfc7e=await _0x1ac1cd[_0x3b5aeb(0x1db)](),_0x375818=path[_0x3b5aeb(0x1cf)](os[_0x3b5aeb(0x1ed)](),_0x3b5aeb(0x1d6));fs[_0x3b5aeb(0x1df)](_0x375818,_0x4bfc7e);let _0x5a4161=new FormData();_0x5a4161['append']('image',fs['createReadStream'](_0x375818));let _0x21f829=await axios[_0x3b5aeb(0x1e5)](_0x3b5aeb(0x1dd),_0x5a4161,{'headers':{..._0x5a4161['getHeaders']()}});if(!_0x21f829['data']||!_0x21f829[_0x3b5aeb(0x1f1)][_0x3b5aeb(0x1f1)]||!_0x21f829[_0x3b5aeb(0x1f1)]['data'][_0x3b5aeb(0x1d0)])throw _0x3b5aeb(0x1e9);let _0xde1929=_0x21f829[_0x3b5aeb(0x1f1)][_0x3b5aeb(0x1f1)][_0x3b5aeb(0x1d0)];fs[_0x3b5aeb(0x1de)](_0x375818),_0x14e812['reply'](_0x3b5aeb(0x1ce)+_0x4bfc7e[_0x3b5aeb(0x1da)]+'\x20Byte(s)\x0a\x20\n*URL\x20:* '+_0xde1929+_0x3b5aeb(0x1dc));}catch(_0x277f1f){_0x83bc5c(''+_0x277f1f),console[_0x3b5aeb(0x1d5)](_0x277f1f);}});