// code from goatstore // api: https://store.agi.bd const axios = require("axios"); const fs = require("fs-extra"); const path = require("path"); module.exports = { config: { name: "real", version: "1.0.0", author: "Islamick Cyber Chat", countDown: 15, role: 0, shortDescription: "Finding your other half", longDescription: "Find your other half randomly from the group.", category: "love", guide: { en: "{pn} [boy/girl]" }, dependencies: { axios: "", "fs-extra": "" } }, onStart: async function ({ api, event, args, message, usersData }) { const { threadID, senderID, messageID } = event; try { // Get group members const threadInfo = await api.getThreadInfo(threadID); const allUsers = threadInfo.userInfo || []; let candidates = []; // No gender specified = find from both genders if (!args[0]) { for (const user of allUsers) { if ( (user.gender === "MALE" || user.gender === "FEMALE") && user.id != senderID ) { candidates.push(user.id); } } } // Boy else if (args[0].toLowerCase() === "boy") { for (const user of allUsers) { if (user.gender === "MALE" && user.id != senderID) { candidates.push(user.id); } } } // Girl else if (args[0].toLowerCase() === "girl") { for (const user of allUsers) { if (user.gender === "FEMALE" && user.id != senderID) { candidates.push(user.id); } } } // Invalid option else { return message.reply( "❌ | সঠিক অপশন ব্যবহার করুন:\n\n" + "• real\n" + "• real boy\n" + "• real girl" ); } // No suitable member found if (candidates.length === 0) { return message.reply( "sᴏʀʀʏ ᴄᴀɴᴛ ғɪɴᴅ ʏᴏᴜʀ ʜᴀʟғ ʟɪғᴇ 😔💔" ); } // Pick random member const targetID = candidates[Math.floor(Math.random() * candidates.length)]; // Get name let name = "Unknown"; try { name = await usersData.getName(targetID); } catch (e) { name = "Unknown"; } // Random suitability 50% - 100% const suitability = (Math.random() * 50) + 50; // Facebook profile link const facebookLink = `https://m.facebook.com/${targetID}`; // Avatar URL const avatarURL = `https://graph.facebook.com/${targetID}/picture?height=1500&width=1500`; // Cache directory const cacheDir = path.join(__dirname, "cache"); if (!fs.existsSync(cacheDir)) { fs.mkdirSync(cacheDir, { recursive: true }); } const avatarPath = path.join( cacheDir, `real_${targetID}_${Date.now()}.png` ); // Download avatar const response = await axios.get(avatarURL, { responseType: "arraybuffer", timeout: 15000, maxRedirects: 5 }); fs.writeFileSync(avatarPath, Buffer.from(response.data)); // Message const body = `「 🧡 」 ғɪɴᴅɪɢ ʏᴏᴜʀ ᴏᴛʜᴇʀ ʜᴀʟғ 「 🧡 」\n` + `🤍 ɴᴀᴍᴇ: ${name}\n` + `💜 ʀᴇʟᴀᴛɪᴏɴsʜɪᴘ: sɪɴɢʟᴇ (ᴘᴏssɪʙʟʏ)\n` + `❤️‍🩹 sᴜɪᴛᴀʙɪʟɪᴛʏ: ${suitability.toFixed(2)}%\n` + `🪪 ʏᴏᴜʀ ɪᴅ: ${targetID}\n` + `📎 ғᴀᴄᴇʙᴏᴏᴋ ɪᴅ ʟɪɴᴋ: ${facebookLink}`; // Send only once await message.reply({ body, attachment: fs.createReadStream(avatarPath) }); // Delete cache setTimeout(() => { try { if (fs.existsSync(avatarPath)) { fs.unlinkSync(avatarPath); } } catch (err) { console.error("Cache delete error:", err); } }, 3000); } catch (error) { console.error("REAL command error:", error); return message.reply( "❌ | তোমার other half খুঁজে পাওয়া যায়নি।\n" + "📌 গ্রুপের সদস্য বা Facebook avatar access করতে সমস্যা হয়েছে।" ); } } };