// code from goatstore // api: https://store.agi.bd const fs = require("fs"); const path = require("path"); const DATA_FILE = path.join(__dirname, "autoreact_data.json"); const REACTIONS = [ "☺︎", "☆", "☑", "☏", "☠︎︎", "☕︎︎", "♲︎", "♨︎", "⚠︎", "⚡︎", "☑︎", "☄︎", "☔︎︎", "☂︎", "☁︎", "♫", "〄", "☪︎", "㋡", "♚", "🃙", "☣︎", "⚕︎" ]; let cachedData = null; function saveData(data) { cachedData = { enabled: Boolean(data.enabled) }; try { fs.writeFileSync( DATA_FILE, JSON.stringify(cachedData, null, 2), "utf8" ); } catch (error) { console.error("[AutoReact] Save error:", error.message); } return cachedData; } function loadData() { if (cachedData) return cachedData; try { if (!fs.existsSync(DATA_FILE)) { return saveData({ enabled: true }); } const stored = JSON.parse( fs.readFileSync(DATA_FILE, "utf8") ); // পুরোনো UID-ভিত্তিক ডেটা থেকে নতুন সিস্টেমে পরিবর্তন if (Array.isArray(stored.uids)) { return saveData({ enabled: true }); } cachedData = { enabled: typeof stored.enabled === "boolean" ? stored.enabled : true }; return cachedData; } catch (error) { console.error("[AutoReact] Load error:", error.message); return saveData({ enabled: true }); } } module.exports = { config: { name: "autoreact", aliases: ["ar", "react"], version: "3.0.0", author: "🔰𝐑𝐀𝐇𝐀𝐓 𝐈𝐒𝐋𝐀𝐌🔰", countDown: 2, role: 0, shortDescription: "React to everyone's messages", longDescription: "Automatically reacts to all incoming messages with random symbols.", category: "utility", guide: "{pn} on\n" + "{pn} off" }, // Mirai + GoatBot command handler onStart: async function ({ message, args }) { try { const data = loadData(); const action = String(args[0] || "").toLowerCase(); if (action === "on") { saveData({ enabled: true }); return message.reply( "╭━━〔 ⚡ AUTO REACT 〕━━╮\n" + "┃ ✅ Status: ON\n" + "┃ Mode: EVERYONE\n" + "┃ Random Symbol Reaction\n" + "┃\n" + "┃ এখন সবার মেসেজে\n" + "┃ Reaction দেওয়া হবে।\n" + "╰━━━━━━━━━━━━━━━━━━╯" ); } if (action === "off") { saveData({ enabled: false }); return message.reply( "╭━━〔 ⚡ AUTO REACT 〕━━╮\n" + "┃ ❌ Status: OFF\n" + "┃\n" + "┃ এখন কারও মেসেজে\n" + "┃ Auto Reaction দেওয়া হবে না।\n" + "╰━━━━━━━━━━━━━━━━━━╯" ); } return message.reply( "╭━━〔 ⚡ AUTO REACT 〕━━╮\n" + "┃ Status: " + (data.enabled ? "✅ ON" : "❌ OFF") + "\n" + "┃ Mode: EVERYONE\n" + "┃\n" + "┃ autoreact on\n" + "┃ autoreact off\n" + "┃\n" + "╰━━━━━━━━━━━━━━━━━━╯" ); } catch (error) { console.error("[AutoReact] Command error:", error); return message.reply( "❌ Auto React command-এ সমস্যা হয়েছে।" ); } }, // Common event handler for Mirai and GoatBot compatibility handleEvent: async function ({ api, event }) { try { if (!api || !event) return; if ( event.type && event.type !== "message" && event.type !== "message_reply" ) { return; } if (!event.messageID || !event.senderID) return; const data = loadData(); // OFF থাকলে কোনো reaction হবে না if (!data.enabled) return; // নিজের পাঠানো মেসেজে reaction দেবে না if (typeof api.getCurrentUserID === "function") { if ( String(event.senderID) === String(api.getCurrentUserID()) ) { return; } } if (typeof api.setMessageReaction !== "function") { return; } const reaction = REACTIONS[ Math.floor(Math.random() * REACTIONS.length) ]; api.setMessageReaction( reaction, event.messageID, error => { if (error) { console.error( "[AutoReact] Reaction error:", error.message || error ); } }, true ); } catch (error) { console.error( "[AutoReact] Event error:", error.message || error ); } }, // GoatBot event compatibility onChat: async function ({ api, event }) { return module.exports.handleEvent({ api, event }); } };