const axios = require("axios"); const fs = require("fs-extra"); const path = require("path"); module.exports = { config: { name: "couple", version: "1.0.0", author: "HR ID OY", countDown: 5, role: 0, shortDescription: "Crush couple banner", longDescription: "Generate crush banner using UID", category: "Love", guide: "{pn} @mention / reply" }, onStart: async function ({ api, event }) { const { threadID, messageID, senderID, mentions, messageReply } = event; let targetID; // mention check if (Object.keys(mentions).length > 0) { targetID = Object.keys(mentions)[0]; } // reply check else if (messageReply) { targetID = messageReply.senderID; } if (!targetID) { return api.sendMessage( "Please reply or mention someone...", threadID, messageID ); } const CAPTIONS = [ `💛đŸŒģ āϤ⧋āĻŽāĻžāϰ āύāĻžāĻŽāϟāĻž āĻļ⧁āύāϞ⧇āχ āĻŽāύāϟāĻž āϕ⧇āĻŽāύ āϜāĻžāύāĻŋ āĻšāĻžāϞāĻ•āĻž āĻšā§Ÿā§‡ āϝāĻžā§Ÿ 🙂 āĻāχ āĻ…āύ⧁āĻ­ā§‚āϤāĻŋāϟāĻžāχ āĻšā§ŸāϤ⧋ Crush đŸĢļ`, `đŸĢļ💛 āϚ⧁āĻĒāϚāĻžāĻĒ āϤāĻžāĻ•āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•āĻŋ, āĻ•āĻžāϰāĻŖ āĻšā§‹āϖ⧇āϰ āĻ­āĻžāώāĻžā§Ÿ āϏāĻŦ āĻŦāϞāĻž āϝāĻžā§Ÿ āύāĻž đŸŒŧ Crush 💛`, `đŸŒģ💛 āĻ­āĻžāϞ⧋āĻŦāĻžāϏāĻž āύāĻž āĻšā§Ÿ āĻĒāϰ⧇, āĻāχ āĻ­āĻžāϞ⧋ āϞāĻžāĻ—āĻžāϟ⧁āϕ⧁ āĻāĻ–āύāχ āϖ⧁āĻŦ āĻĻāĻžāĻŽā§€ đŸĢļ`, `💛🙂 āϤ⧁āĻŽāĻŋ āϜāĻžāύ⧋ āύāĻž, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤ⧋āĻŽāĻžāϰ āĻāĻ•āϟāĻž āĻšāĻžāϏāĻŋāχ āĻ•āĻžāϰ⧋ āĻĒ⧁āϰ⧋ āĻĻāĻŋāύ āĻ­āĻžāϞ⧋ āĻ•āϰ⧇ āĻĻā§‡ā§Ÿ 🌸`, `đŸĢļđŸŒŧ āϤ⧋āĻŽāĻžāϕ⧇ āĻĒāĻžāĻ“ā§ŸāĻžāϰ āĻĻāĻžāĻŦāĻŋ āύ⧇āχ, āĻļ⧁āϧ⧁ āĻŽāύ⧇ āĻŽāύ⧇ āĻāĻ•āϟ⧁ āĻ­āĻžāϞ⧋āĻŦāĻžāϏāĻŋ 💛`, `đŸŒŧ💛 āĻāχ āĻ…āύ⧁āĻ­ā§‚āϤāĻŋāϟāĻžāϰ āϕ⧋āύ⧋ āύāĻžāĻŽ āĻšā§Ÿ āύāĻž, āϤāĻŦ⧁āĻ“ āϏāĻŦāĻžāχ āĻāϕ⧇ Crush āĻŦāϞ⧇āχ āĻšā§‡āύ⧇ đŸĢļ`, `💛🌸 āĻāĻ•āϟāĻž āĻŽāĻžāύ⧁āώ, āĻāĻ•āϟāĻž āĻ…āύ⧁āĻ­ā§‚āϤāĻŋ, āφāϰ āĻ…āϜāĻžāĻ¨ā§āϤ⧇āχ āĻ­āĻžāϞ⧋ āϞ⧇āϗ⧇ āϝāĻžāĻ“ā§ŸāĻž 🙂` ]; try { // API list fetch const apiList = await axios.get( "https://raw.githubusercontent.com/shahadat-sahu/SAHU-API/refs/heads/main/SAHU-API.json" ); const API = apiList.data.AvatarCanvas; // image generate const res = await axios.post( `${API}/api`, { cmd: "crush2", senderID, targetID }, { responseType: "arraybuffer", timeout: 30000 } ); // file save const filePath = path.join( __dirname, "tmp", `couple_${senderID}_${targetID}.png` ); fs.writeFileSync(filePath, res.data); const randomCaption = CAPTIONS[Math.floor(Math.random() * CAPTIONS.length)]; // send message await api.sendMessage( { body: randomCaption, attachment: fs.createReadStream(filePath) }, threadID, () => fs.unlinkSync(filePath), messageID ); } catch (err) { console.log(err); api.sendMessage( "API Error ❌", threadID, messageID ); } } };