← back to browse
goat command

anime

Random Anime Video

0
views
0
likes
0
installs

Aliases: ani

raw source
const axios = require("axios");
const fs = require("fs-extra");
const path = require("path");

module.exports = {
  config: {
    name: "anime",
    aliases: ["ani"],
    version: "0.0.8",
    author: "Azadx69x",
    role: 0,
    shortDescription: "Random Anime Video",
    longDescription: "random anime videos.",
    category: "media",
    guide: { en: "{p}anime" }
  },

  onStart: async function ({ api, event }) {
    const { threadID, messageID } = event;

    try {
      api.setMessageReaction("🎌", messageID, () => {}, true);
        
      const response = await axios.get("https://azadx69x-all-apis-top.vercel.app/api/anime-video");
      const videoUrl = response.data.video_url;

      if (!videoUrl) {
        api.setMessageReaction("❌", messageID, () => {}, true);
        return api.sendMessage("⚠️ Couldn't fetch anime video!", threadID, messageID);
      }
        
      const videoPath = path.join(__dirname, "anime.mp4");
      const videoBuffer = await axios.get(videoUrl, { responseType: "arraybuffer" });
      fs.writeFileSync(videoPath, Buffer.from(videoBuffer.data));
        
      const bodyText = "🌸✨ 𝙔𝙀π™ͺ𝙧 π‘Ήπ’‚π’π’…π’π’Ž π˜Όπ™£π™žπ™’π™š π™‘π™žπ™™π™šπ™€ ✨🌸";
        
      api.sendMessage(
        {
          body: bodyText,
          attachment: fs.createReadStream(videoPath)
        },
        threadID,
        (err) => {
          fs.unlinkSync(videoPath);
            
          if (!err) {
            api.setMessageReaction("βœ”οΈ", messageID, () => {}, true);
          } else {
            api.setMessageReaction("❌", messageID, () => {}, true);
          }
        }
      );

    } catch (err) {
      console.error(err);
      api.setMessageReaction("❌", messageID, () => {}, true);
      api.sendMessage("❌ Error fetching anime video!", threadID, messageID);
    }
  }
};

View raw file