← back to browse
goat command

caption2

Get random caption from selected category

0
views
0
likes
0
installs
raw source
const axios = require("axios");

module.exports = {
  config: {
    name: "caption2",
    version: "1.0",
    author: "SiFu",
    countDown: 5,
    role: 0,
    description: "Get random caption from selected category",
    category: "caption",
    guide: {
      en: "{pn} <category>",
      bn: "{pn} <category>"
    }
  },

  onStart: async function ({ message, args }) {
    try {
      const availableCats = [
        "anime",
        "attitude",
        "alone",
        "breakup",
        "birthday",
        "emotional",
        "friendship",
        "funny",
        "islamic",
        "love",
        "motivational",
        "romantic",
        "sad",
        "success",
        "advice"
      ];

      let cat = args[0];
      if (!cat) {
        return message.reply(`๐Ÿ“š ๐˜ˆ๐˜ท๐˜ข๐˜ช๐˜ญ๐˜ข๐˜ฃ๐˜ญ๐˜ฆ ๐˜Š๐˜ข๐˜ต๐˜ฆ๐˜จ๐˜ฐ๐˜ณ๐˜ช๐˜ฆ๐˜ด:\nโ€ข ${availableCats.join(" โ€ข ")}`);
      }

      cat = cat.toLowerCase();

      if (!availableCats.includes(cat)) {
        return message.reply(`โŒ Invalid category!\n\n๐Ÿ“š ๐˜ˆ๐˜ท๐˜ข๐˜ช๐˜ญ๐˜ข๐˜ฃ๐˜ญ๐˜ฆ ๐˜Š๐˜ข๐˜ต๐˜ฆ๐˜จ๐˜ฐ๐˜ณ๐˜ช๐˜ฆ๐˜ด:\nโ€ข ${availableCats.join(" โ€ข ")}`);
      }

      const apiBaseRes = await axios.get("https://raw.githubusercontent.com/Saim-x69x/sakura/main/ApiUrl.json");
      const apiBase = apiBaseRes.data?.apiv1;

      if (!apiBase) return message.reply("โŒ API base URL not found in ApiUrl.json.");

      const url = `${apiBase}/api/caption?cat=${encodeURIComponent(cat)}`;
      const res = await axios.get(url);

      if (!res.data?.result) {
        return message.reply("โŒ No caption found for this category.");
      }

      const { bn, en } = res.data.result;

      const text = `
๐Ÿ’ฌ ๐˜™๐˜ข๐˜ฏ๐˜ฅ๐˜ฐ๐˜ฎ ๐˜Š๐˜ข๐˜ฑ๐˜ต๐˜ช๐˜ฐ๐˜ฏ

๐ŸŒธ ๐‘ฉ๐’‚๐’๐’ˆ๐’๐’‚:
${bn}

๐ŸŒŽ ๐‘ฌ๐’๐’ˆ๐’๐’Š๐’”๐’‰:
${en}
`;

      await message.reply(text.trim());
    } catch (e) {
      console.error(e);
      message.reply("โŒ | Something went wrong. Please try again later.");
    }
  }
};

View raw file