// code from goatstore // api: https://store.agi.bd module.exports.config = { name: "reels", version: "2.0.0", author: "Zihad", aliases: ["fb", "fbreels", "reel"], role: 0, category: "media" }; const axios = require("axios"); const fs = require("fs-extra"); const path = require("path"); module.exports.onStart = async function ({ api, event }) { const threadID = event.threadID; const messageID = event.messageID; try { await api.sendMessage( "🎬 Facebook Reels খোঁজা হচ্ছে...\n\n⏳ একটু অপেক্ষা করুন...", threadID, messageID ); /* * Public Reel discovery * * Facebook-এর search/feed সরাসরি scrape করার * কোনো স্থায়ী public API নেই। * * তাই এখানে একাধিক public source পরীক্ষা করা হচ্ছে। */ const sources = [ "https://www.facebook.com/reels/", "https://m.facebook.com/reels/" ]; let foundURL = null; for (const url of sources) { try { const response = await axios.get(url, { timeout: 15000, maxRedirects: 5, headers: { "User-Agent": "Mozilla/5.0 (Linux; Android 12; Mobile) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.9" } }); const html = String(response.data || ""); const patterns = [ /https?:\\?\/\\?\/(?:www\.|m\.)?facebook\.com\\?\/reel\\?\/[0-9]+/gi, /https?:\/\/(?:www\.|m\.)?facebook\.com\/reel\/[0-9]+/gi ]; for (const regex of patterns) { const result = html.match(regex); if (result && result.length > 0) { foundURL = result[0] .replace(/\\/g, "") .replace(/&/g, "&"); break; } } if (foundURL) break; } catch (err) { console.log( "REEL SOURCE ERROR:", err.message ); } } if (!foundURL) { return api.sendMessage( "⚠️ Facebook এখন Reels feed-এর data সরাসরি দিচ্ছে না।\n\n" + "❌ তাই এই মুহূর্তে লিংক ছাড়া Reel-এর ভিডিও পাওয়া যায়নি।\n\n" + "🔄 কিছুক্ষণ পর আবার চেষ্টা করুন।", threadID, messageID ); } /* * Reel URL পাওয়া গেছে। * * Facebook বর্তমানে অনেক public Reel-এর * direct MP4 URL server-side request-এ দেয় না। */ return api.sendMessage( "🎬 Facebook Reel পাওয়া গেছে!\n\n" + "━━━━━━━━━━━━━━━━━━\n" + "🔗 Reel:\n" + foundURL + "\n" + "━━━━━━━━━━━━━━━━━━\n\n" + "ℹ️ Facebook direct MP4 access বন্ধ/সীমিত করলে " + "Bot সরাসরি ভিডিও attachment পাঠাতে পারবে না।", threadID, messageID ); } catch (error) { console.error( "REELS COMMAND ERROR:", error ); return api.sendMessage( "❌ Reels command-এ সমস্যা হয়েছে।\n\n" + "Error: " + ( error && error.message ? error.message : String(error) ), threadID, messageID ); } };