// code from goatstore // api: https://store.agi.bd const axios = require("axios"); module.exports = { config: { name: "ffinfo", aliases: ["ff", "freefire", "ffid"], version: "1.0.0", author: "Maidul", countDown: 5, role: 0, shortDescription: "Free Fire player information", longDescription: "Get Free Fire account details using UID", category: "games", guide: { en: "{pn} " } }, onStart: async function ({ api, event, args, message }) { const uid = args[0]; if (!uid) { return message.reply( "╭━━━〔 🔥 FREE FIRE INFO 〕━━━╮\n" + "┃ ব্যবহার: ffinfo \n" + "┃ উদাহরণ: ffinfo 12290352077\n" + "╰━━━━━━━━━━━━━━━━━━━━━━╯" ); } if (!/^\d+$/.test(uid)) { return message.reply("❌ সঠিক Free Fire UID দিন!"); } const apiUrl = `https://eryxenx.agi.bd/api/ffinfo?uid=${encodeURIComponent(uid)}`; const formatDate = (timestamp) => { if (!timestamp) return "N/A"; const date = new Date(Number(timestamp) * 1000); if (isNaN(date.getTime())) return "N/A"; return date.toLocaleString("en-GB", { timeZone: "Asia/Dhaka", day: "2-digit", month: "short", year: "numeric", hour: "2-digit", minute: "2-digit", hour12: true }); }; const getValue = (value) => { return value === null || value === undefined || value === "" ? "N/A" : value; }; try { const response = await axios.get(apiUrl, { timeout: 20000 }); const data = response.data; if (!data || !data.basicInfo) { return message.reply( "❌ Free Fire তথ্য পাওয়া যায়নি!\nUID এবং API পরীক্ষা করুন।" ); } const basic = data.basicInfo; const clan = data.clanBasicInfo || {}; const pet = data.petInfo || {}; const credit = data.creditScoreInfo || {}; const social = data.socialInfo || {}; const nickname = getValue(basic.nickname); const accountId = getValue(basic.accountId || uid); const region = getValue(basic.region); const level = getValue(basic.level); const exp = Number(basic.exp || 0).toLocaleString("en-US"); const likes = Number(basic.liked || 0).toLocaleString("en-US"); const rank = getValue(basic.rank); const csRank = getValue(basic.csRank); const elitePass = basic.hasElitePass ? "Yes ✅" : "No ❌"; const clanName = clan.clanName && clan.clanName !== "None" ? clan.clanName : "No Clan"; const gender = String(social.gender || "N/A") .replace("GENDER", ""); const language = String(social.language || "N/A") .replace("LANGUAGE", ""); const petName = getValue(pet.name); const petLevel = getValue(pet.level); const creditScore = getValue(credit.creditScore); const createdAt = formatDate(basic.createAt); const lastLogin = formatDate(basic.lastLoginAt); const result = "╭━━━〔 🔥 FREE FIRE INFO 〕━━━╮\n" + `┃ 👤 Nickname: ${nickname}\n` + `┃ 🆔 UID: ${accountId}\n` + `┃ 🌍 Region: ${region}\n` + `┃ ⭐ Level: ${level}\n` + `┃ ✨ EXP: ${exp}\n` + `┃ ❤️ Likes: ${likes}\n` + `┃ 🏆 BR Rank: ${rank}\n` + `┃ ⚔️ CS Rank: ${csRank}\n` + `┃ 🎫 Elite Pass: ${elitePass}\n` + "┣━━━━━━━━━━━━━━━━━━━\n" + "┃ 🛡️ CLAN INFORMATION\n" + `┃ Clan: ${clanName}\n` + `┃ Clan Level: ${getValue(clan.clanLevel)}\n` + `┃ Members: ${getValue(clan.memberNum)}\n` + "┣━━━━━━━━━━━━━━━━━━━\n" + "┃ 🐾 PET INFORMATION\n" + `┃ Pet: ${petName}\n` + `┃ Pet Level: ${petLevel}\n` + "┣━━━━━━━━━━━━━━━━━━━\n" + "┃ 👥 SOCIAL INFORMATION\n" + `┃ Gender: ${gender}\n` + `┃ Language: ${language}\n` + `┃ Signature: ${getValue(social.signature || basic.signature)}\n` + `┃ Credit Score: ${creditScore}\n` + "┣━━━━━━━━━━━━━━━━━━━\n" + "┃ 📅 ACCOUNT INFORMATION\n" + `┃ Created: ${createdAt}\n` + `┃ Last Login: ${lastLogin}\n` + "╰━━━━━━━━━━━━━━━━━━━╯\n" + "🔥 Powered by Maidul"; return message.reply(result); } catch (error) { console.error("[FFINFO ERROR]", error.message); return message.reply( "❌ Free Fire তথ্য আনা যায়নি!\n\n" + "সম্ভাব্য কারণ:\n" + "• API সাময়িকভাবে বন্ধ\n" + "• ইন্টারনেট বা Timeout সমস্যা\n" + "• API থেকে ভুল Response এসেছে\n\n" + "কিছুক্ষণ পর আবার চেষ্টা করুন।" ); } } };