← back to browse
goat command

ffinfo

Show complete Free Fire player info with styled output

0
views
0
likes
0
installs

Aliases: freefireinfo, ffstats

raw source
const axios = require("axios");

module.exports = {
  config: {
    name: "ffinfo",
    aliases: ["freefireinfo", "ffstats"],
    version: "2.1.0",
    author: "๐“†ฉ๐‘…๐‘œ๐’ท๐’พ๐“ƒ๐“†ช ๐’œ๐“๐’พ",
    role: 0,
    premium: false,
    description: "Show complete Free Fire player info with styled output",
    category: "game",
    guide: {
      en: "{p}ffinfo <uid>"
    }
  },

  onStart: async function ({ api, event, args }) {
    try {
      const uid = args[0];
      if (!uid) {
        return api.sendMessage(
          "โš ๏ธ Please provide a Free Fire UID\n๐Ÿ“Œ Example: ffinfo 3060644273",
          event.threadID,
          event.messageID
        );
      }

      const wait = await api.sendMessage(
        "โณ Fetching Free Fire player info...",
        event.threadID
      );

      const url = `https://ff.mlbbai.com/info/?uid=${uid}`;
      const res = await axios.get(url);
      const data = res.data;

      if (!data || !data.basicInfo) {
        return api.editMessage(
          "โŒ Failed to fetch player data. UID may be invalid.",
          wait.messageID
        );
      }

      const b = data.basicInfo;
      const clan = data.clanBasicInfo || {};
      const pet = data.petInfo || {};
      const social = data.socialInfo || {};
      const credit = data.creditScoreInfo || {};
      const cap = data.captainBasicInfo || {};

      const msg = `
๐ŸŽฎ ๐…ส€แด‡แด‡ ๐…ษชส€แด‡ ๐สŸแด€สแด‡ส€ ๐ˆษด๊œฐแด
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
๐Ÿ‘ค ๐แด€แดแด‡: ${b.nickname || "N/A"}
๐Ÿ†” ๐”ษชแด…: ${b.accountId || uid}
๐ŸŒ ๐‘แด‡ษขษชแดษด: ${b.region || "N/A"}
โญ ๐‹แด‡แด แด‡สŸ: ${b.level || "N/A"}
โค๏ธ ๐‹ษชแด‹แด‡๊œฑ: ${b.liked || 0}
๐Ÿ“ˆ ๐„xแด˜: ${b.exp || 0}

๐Ÿ† ๐‘แด€ษดแด‹: ${b.rank || "N/A"}
๐ŸŽฏ ๐‘แด€ษดแด‹ ๐แดษชษดแด›๊œฑ: ${b.rankingPoints || 0}
โš”๏ธ ๐‚๊œฑ ๐‘แด€ษดแด‹: ${b.csRank || "N/A"}
๐ŸŽฎ ๐‚๊œฑ ๐แดษชษดแด›๊œฑ: ${b.csRankingPoints || 0}

๐Ÿ‘‘ ๐Œแด€x ๐‘แด€ษดแด‹: ${b.maxRank || "N/A"}
๐Ÿ‘‘ ๐Œแด€x ๐‚๊œฑ ๐‘แด€ษดแด‹: ${b.csMaxRank || "N/A"}
๐ŸŽŸ๏ธ ๐„สŸษชแด›แด‡ ๐แด€๊œฑ๊œฑ: ${b.hasElitePass ? "โœ… Yes" : "โŒ No"}
๐Ÿ… ๐แด€แด…ษขแด‡๊œฑ: ${b.badgeCnt || 0}

๐Ÿ“… ๐’แด‡แด€๊œฑแดษด: ${b.seasonId || "N/A"}
๐Ÿ› ๏ธ ๐‘แด‡สŸแด‡แด€๊œฑแด‡: ${b.releaseVersion || "N/A"}
๐Ÿ‘๏ธ ๐ส€ ๐‘แด€ษดแด‹ ๐’สœแดแดก: ${b.showBrRank ? "Yes" : "No"}
๐Ÿ‘๏ธ ๐‚๊œฑ ๐‘แด€ษดแด‹ ๐’สœแดแดก: ${b.showCsRank ? "Yes" : "No"}
โณ ๐€แด„แด„แดแดœษดแด› ๐‚ส€แด‡แด€แด›แด‡: ${new Date(b.createAt * 1000).toLocaleDateString("en-GB")}

๐Ÿ›ก๏ธ ๐†แดœษชสŸแด… ๐ˆษด๊œฐแด
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
๐Ÿท๏ธ ๐†แดœษชสŸแด… ๐แด€แดแด‡: ${clan.clanName || "None"}
๐Ÿ†” ๐†แดœษชสŸแด… ๐ˆแด…: ${clan.clanId || "N/A"}
๐Ÿ“Š ๐†แดœษชสŸแด… ๐‹แด‡แด แด‡สŸ: ${clan.clanLevel || "N/A"}
๐Ÿ‘ฅ ๐Œแด‡แดส™แด‡ส€๊œฑ: ${clan.memberNum || 0}/${clan.capacity || 0}
๐Ÿ‘‘ ๐†แดœษชสŸแด… ๐‹แด‡แด€แด…แด‡ส€: ${cap.nickname || "N/A"} (Lv.${cap.level || "?"})

๐Ÿพ ๐แด‡แด› ๐ˆษด๊œฐแด
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
๐Ÿถ ๐แด€แดแด‡: ${pet.name || "None"}
๐Ÿ“ˆ ๐‹แด‡แด แด‡สŸ: ${pet.level || "N/A"}
โญ ๐„xแด˜: ${pet.exp || 0}
๐ŸŽจ ๐’แด‹ษชษด ๐ˆแด…: ${pet.skinId || "N/A"}

๐ŸŒ ๐’แดแด„ษชแด€สŸ ๐ˆษด๊œฐแด
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
๐Ÿšป ๐†แด‡ษดแด…แด‡ส€: ${social.gender?.replace("Gender_", "") || "N/A"}
๐Ÿ—ฃ๏ธ ๐‹แด€ษดษขแดœแด€ษขแด‡: ${social.language?.replace("Language_", "") || "N/A"}
โœ๏ธ ๐’ษชษขษดแด€แด›แดœส€แด‡:
${social.signature
  ? social.signature.replace(/\[B]|\[C]|\[ff[0-9a-f]+]/g, "")
  : "None"}

๐Ÿ›ก๏ธ ๐‚ส€แด‡แด…ษชแด› ๐’แด„แดส€แด‡
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
๐Ÿ’ฏ ๐’แด„แดส€แด‡: ${credit.creditScore || "N/A"}
๐ŸŽ ๐‘แด‡แดกแด€ส€แด…: ${credit.rewardState?.replace("REWARD_STATE_", "") || "N/A"}
๐Ÿ“† ๐แด‡ส€ษชแดแด… ๐„ษดแด…: ${
        credit.periodicSummaryEndTime
          ? new Date(credit.periodicSummaryEndTime * 1000).toLocaleDateString("en-GB")
          : "N/A"
      }

โœจ Powered by ๐“†ฉ๐‘…๐‘œ๐’ท๐’พ๐“ƒ๐“†ช ๐’œ๐“๐’พ
`;

      await api.editMessage(msg, wait.messageID);
    } catch (err) {
      api.sendMessage(
        `โŒ Error: ${err.message}`,
        event.threadID,
        event.messageID
      );
    }
  }
};

View raw file