// code from goatstore // api: https://store.agi.bd const fs = require("fs"); const axios = require("axios"); const path = require("path"); module.exports = { config: { name: "album", version: "1.7", role: 0, author: "Anthony", //**Fixed by Anthony **// category: "media", guide: { en: "{p}{n} [cartoon/sad/islamic/funny/anime/...]", }, }, onStart: async function ({ api, event, args }) { const obfuscatedAuthor = String.fromCharCode(65, 110, 116, 104, 111, 110, 121); if (this.config.author !== obfuscatedAuthor) { return api.sendMessage("You are not authorized to change the author name.\n\nPlease fix author name to work with this cmd", event.threadID, event.messageID); } if (!args[0]) { api.setMessageReaction("😽", event.messageID, (err) => {}, true); const albumOptions = [ "š…š®š§š§š² š•š¢ššžšØ šŸ“”", "šˆš¬š„ššš¦š¢šœ š•š¢ššžšØ šŸ“”", "š’ššš š•š¢ššžšØ šŸ“”", "š€š§š¢š¦šž š•š¢ššžšØ šŸ“”", "š‚ššš«š­šØšØš§ š•š¢ššžšØ šŸ“”", "š‹šØš…š¢ š•š¢ššžšØ šŸ“”", "š‡šØš«š§š² š•š¢ššžšØ", "š‚šØš®š©š„šž š•š¢ššžšØ šŸ“”", "š…š„šØš°šžš« š•š¢ššžšØ šŸ“”", "š€šžš¬š­š”šžš­š¢šœ š•š¢ššžšØ šŸ“”", "š’š¢š š¦šš š‘š®š„šž š•š¢ššžšØ šŸ“”", "š‹š²š«š¢šœš¬ š•š¢ššžšØ šŸ“”", "š‚ššš­ š•š¢ššžšØ šŸ“”", "18+ š•š¢ššžšØ šŸ“”", "š…š«šžšž š…š¢š«šž š•š¢ššžšØ šŸ“”", "š…šØšØš­šššš„š„ š•š¢ššžšØ šŸ“”", "š†š¢š«š„ š•š¢ššžšØ šŸ“”", "š…š«š¢šžš§šš¬ š•š¢ššžšØ šŸ“”", ]; const message = "š‡šžš«šž š¢š¬ š²šØš®š« šššÆššš¢š„ššš›š„šž ššš„š›š®š¦ šÆš¢ššžšØ š„š¢š¬š­ šŸ“”<\n" + "━━━━━━━━━━━━━━━━━━━━━\n" + albumOptions.map((option, index) => `${index + 1}. ${option}`).join("\n") + "\n━━━━━━━━━━━━━━━━━━━━━"; await api.sendMessage( message, event.threadID, (error, info) => { global.GoatBot.onReply.set(info.messageID, { commandName: this.config.name, type: "reply", messageID: info.messageID, author: event.senderID, link: albumOptions, }); }, event.messageID ); } }, onReply: async function ({ api, event, Reply }) { api.unsendMessage(Reply.messageID); if (event.type == "message_reply") { const reply = parseInt(event.body); if (isNaN(reply) || reply < 1 || reply > 18) { return api.sendMessage( "Please reply with a number between 1 - 18", event.threadID, event.messageID ); } const categories = [ "funny", "islamic", "sad", "anime", "cartoon", "lofi", "horny", "couple", "flower", "aesthetic", "sigma", "lyrics", "cat", "18+", "freefire", "football", "girl", "friends", ]; const captions = [ "š‡šžš«šž š¢š¬ š²šØš®š« š…š®š§š§š² š•š¢ššžšØ <😹", "š‡šžš«šž š¢š¬ š²šØš®š« šˆš¬š„ššš¦š¢šœ š•š¢ššžšØ <😘", "š‡šžš«šž š¢š¬ š²šØš®š« š’ššš š•š¢ššžšØ <😿", "š‡šžš«šž š¢š¬ š²šØš®š« š€š§š¢š¦šž š•š¢ššžšØ <šŸ‘½", "š‡šžš«šž š¢š¬ š²šØš®š« š‚ššš«š­šØšØš§ š•š¢ššžšØ <🐰", "š‡šžš«šž š¢š¬ š²šØš®š« š‹šØš…š¢ š•š¢ššžšØ <😘", "š‡šžš«šž š¢š¬ š²šØš®š« š‡šØš«š§š² š•š¢ššžšØ <šŸ”ž", "š‡šžš«šž š¢š¬ š²šØš®š« š‚šØš®š©š„šž š•š¢ššžšØ <šŸ’‘", "š‡šžš«šž š¢š¬ š²šØš®š« š…š„šØš°šžš« š•š¢ššžšØ <🌼", "š‡šžš«šž š¢š¬ š²šØš®š« š€šžš¬š­š”šžš­š¢šœ š•š¢ššžšØ <šŸŽØ", "š‡šžš«šž š¢š¬ š²šØš®š« š’š¢š š¦šš š‘š®š„šž š•š¢ššžšØ <😈", "š‡šžš«šž š¢š¬ š²šØš®š« š‹š²š«š¢šœš¬ š•š¢ššžšØ <šŸŽµ", "š‡šžš«šž š¢š¬ š²šØš®š« š‚ššš­ š•š¢ššžšØ <🐱", "š‡šžš«šž š¢š¬ š²šØš®š« 18+ š•š¢ššžšØ <šŸ”ž (Admin Only)", "š‡šžš«šž š¢š¬ š²šØš®š« š…š«šžšž š…š¢š«šž š•š¢ššžšØ <šŸ”„", "š‡šžš«šž š¢š¬ š²šØš®š« š…šØšØš­šššš„š„ š•š¢ššžšØ <⚽", "š‡šžš«šž š¢š¬ š²šØš®š« š†š¢š«š„ š•š¢ššžšØ <šŸ’ƒ", "š‡šžš«šž š¢š¬ š²šØš®š« š…š«š¢šžš§šš¬ š•š¢ššžšØ <šŸ‘«šŸ¼", ]; let query = categories[reply - 1]; let cp = captions[reply - 1]; if (query === "18+" && event.senderID !== "61572240295227") { return api.sendMessage("āŒ You don't have permission to access this category.", event.threadID); } const albumData = JSON.parse(fs.readFileSync("idoll.json", "utf-8")); const videoUrls = albumData[query]; if (!videoUrls || videoUrls.length === 0) { return api.sendMessage("āŒ No videos found for this category.", event.threadID, event.messageID); } const randomVideoUrl = videoUrls[Math.floor(Math.random() * videoUrls.length)]; const filePath = path.join(__dirname, "temp_video.mp4"); async function downloadFile(url, filePath) { const response = await axios({ url, method: "GET", responseType: "stream", }); return new Promise((resolve, reject) => { const writer = fs.createWriteStream(filePath); response.data.pipe(writer); writer.on("finish", resolve); writer.on("error", reject); }); } try { await downloadFile(randomVideoUrl, filePath); api.sendMessage( { body: cp, attachment: fs.createReadStream(filePath), }, event.threadID, () => { fs.unlinkSync(filePath); // Delete the file after sending } ); } catch (error) { api.sendMessage("āŒ Failed to download the video.", event.threadID); } } }, };