const axios = require("axios"); const fs = require("fs-extra"); const path = require("path"); const { createCanvas, loadImage } = require("canvas"); module.exports = { config: { name: "goru2", version: "2.6.1", author: "Milon Pro", countDown: 5, role: 0, category: "fun", shortDescription: { en: "Funny Cow edit with secure metadata and name mention." }, guide: { en: "{pn} @mention or reply" } }, /* --- [ 🔐 INTERNAL_SECURE_METADATA ] --- * 🤖 BOT NAME: MILON BOT * 👤 OWNER: MILON HASAN * 🔗 FACEBOOK: https://www.facebook.com/share/17uGq8qVZ9/ * 📞 WHATSAPP: +880 1912603270 * 📍 LOCATION: KHULNA - SHATKHIRA, BD * --------------------------------------- */ onStart: async function ({ api, event, message }) { const { threadID, messageID, senderID, mentions, messageReply } = event; const cacheDir = path.join(process.cwd(), "cache"); if (!fs.existsSync(cacheDir)) fs.ensureDirSync(cacheDir); let targetID; if (Object.keys(mentions).length > 0) { targetID = Object.keys(mentions)[0]; } else if (messageReply) { targetID = messageReply.senderID; } else { return message.reply("āφāϰ⧇ āĻŦāϞāĻĻ, āĻ•āĻžāϰ⧇ āĻ—āϰ⧁ āĻŦāĻžāύāĻžāĻŦāĻŋ āϤāĻžāϰ⧇ āϤ⧋ āĻŽā§‡āύāĻļāύ āĻĻāĻŋāϞāĻŋ āύāĻž! 🐄"); } try { const userInfo = await api.getUserInfo(targetID); const userName = userInfo[targetID]?.name || "User"; const imgLink = "https://i.imgur.com/pkoB67f.jpeg"; const filePath = path.join(cacheDir, `goru_milon_${Date.now()}.png`); message.reply("āĻĻāĻžāρ⧜āĻž āĻŽāĻžāĻŽāĻž, āĻ“āϰ⧇ āĻ—āϰ⧁ āĻŦāĻžāύāĻžāĻ‡ā§ŸāĻž āϘāĻžāϏ āĻ–āĻžāĻ“ā§ŸāĻžāύ⧋āϰ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻž āĻ•āϰāϤ⧇āĻ›āĻŋ... âŗđŸ”Ĩ"); const accessToken = "6628568379|c1e620fa708a1d5696fb991c1bde5662"; const userPfpUrl = `https://graph.facebook.com/${senderID}/picture?width=512&height=512&access_token=${accessToken}`; const targetPfpUrl = `https://graph.facebook.com/${targetID}/picture?width=512&height=512&access_token=${accessToken}`; const [baseImage, userPfp, targetPfp] = await Promise.all([ loadImage(imgLink), loadImage(userPfpUrl), loadImage(targetPfpUrl) ]); const canvas = createCanvas(baseImage.width, baseImage.height); const ctx = canvas.getContext("2d"); ctx.drawImage(baseImage, 0, 0, canvas.width, canvas.height); // --- Sender Profile Picture --- ctx.save(); ctx.beginPath(); ctx.arc(220, 205, 52, 0, Math.PI * 2, true); ctx.closePath(); ctx.clip(); ctx.drawImage(userPfp, 168, 153, 104, 104); ctx.restore(); // --- Target Profile Picture (Y=340) --- ctx.save(); ctx.beginPath(); ctx.arc(110, 340, 52, 0, Math.PI * 2, true); ctx.closePath(); ctx.clip(); ctx.drawImage(targetPfp, 58, 288, 104, 104); ctx.restore(); const buffer = canvas.toBuffer("image/png"); fs.writeFileSync(filePath, buffer); const finalCaption = `āĻāχ āύ⧇ āϤ⧋āϰ āĻ—āϰ⧁āϰ āĻ›āĻŦāĻŋ! 🐄\n\nāϐ ${userName}, āĻāĻ–āύ āϘāĻžāϏ āĻ–āĻžāĻ“ā§ŸāĻžāχāϤ⧇ āύāĻŋ⧟āĻž āϝāĻž āύāĻŋāĻœā§‡āϰ⧇āĨ¤ 😂`; return api.sendMessage({ body: finalCaption, mentions: [{ tag: userName, id: targetID }], attachment: fs.createReadStream(filePath) }, threadID, () => { if (fs.existsSync(filePath)) fs.unlinkSync(filePath); }, messageID); } catch (e) { console.error("GORU ERROR:", e); return message.reply("āĻ—āϰ⧁āϟāĻž āĻĒāϞāĻžāĻ‡ā§ŸāĻž āϗ⧇āϛ⧇ āĻŽāĻžāĻŽāĻž! āφāĻŦāĻžāϰ āĻŸā§āϰāĻžāχ āĻ•āϰāĨ¤ ❌"); } } };