// code from goatstore // api: https://store.agi.bd module.exports = { config: { name: "unsendsave", aliases: ["unsendlist", "deleted"], version: "1.0.0", author: "GoatBot Custom", countDown: 5, role: 0, shortDescription: "ডিলিট হওয়া মেসেজ সেভ রাখে এবং চাইলে দেখায়", longDescription: "গ্রুপে কে কি মেসেজ ডিলিট করল তা জমে থাকবে। কমান্ড দিলে বট সব ডিলিট হওয়া মেসেজ দেখাবে।", category: "box chat", guide: "{pn} / {pn} clear" }, onStart: async function ({ api, event, args }) { if (!global.goatBot.deletedMessages) global.goatBot.deletedMessages = new Map(); const threadID = event.threadID; const list = global.goatBot.deletedMessages.get(threadID) || []; // ডিলিট হওয়া মেসেজের হিস্ট্রি ক্লিয়ার করার অপশন if (args[0] === "clear") { global.goatBot.deletedMessages.set(threadID, []); return api.sendMessage("🗑️ এই গ্রুপের সব ডিলিট হওয়া মেসেজের লিস্ট ক্লিয়ার করা হয়েছে!", threadID); } if (list.length === 0) { return api.sendMessage("ℹ️ আপনার দেখার মতো কোনো ডিলিট হওয়া মেসেজের রেকর্ড নেই!", threadID); } let msg = `🗑️ **ডিলিট হওয়া মেসেজের তালিকা (${list.length} টি):**\n\n`; for (let i = 0; i < list.length; i++) { const item = list[i]; let name = "মেম্বার"; try { const userInfo = await api.getUserInfo(item.senderID); name = userInfo[item.senderID]?.name || name; } catch (e) {} msg += `${i + 1}. **${name}**:\n📝 ${item.body || "(ছবি/মিডিয়া/কোনো টেক্সট নেই)"}\n⏰ সময়: ${item.time}\n-------------------\n`; } return api.sendMessage(msg, threadID); }, // ব্যাকগ্রাউন্ডে মেসেজ সেভ রাখা এবং আনসেন্ড হলে ডিটেক্ট করা onChat: async function ({ event }) { if (!global.goatBot.chatCache) global.goatBot.chatCache = new Map(); if (!global.goatBot.deletedMessages) global.goatBot.deletedMessages = new Map(); const threadID = event.threadID; // ১. স্বাভাবিক মেসেজ আসলে তা মেমোরিতে ক্যাশ করে রাখা if (event.type === "message" || event.type === "message_reply") { global.goatBot.chatCache.set(event.messageID, { senderID: event.senderID, body: event.body, attachments: event.attachments }); } // ২. কেউ মেসেজ আনসেন্ড/ডিলিট করলে তা লিস্টে জমা রাখা if (event.type === "message_unsend") { const cachedMsg = global.goatBot.chatCache.get(event.messageID); if (cachedMsg) { const list = global.goatBot.deletedMessages.get(threadID) || []; // বর্তমান সময় ফরম্যাট const timeNow = new Date().toLocaleTimeString("bn-BD", { timeZone: "Asia/Dhaka" }); list.push({ senderID: cachedMsg.senderID, body: cachedMsg.body, time: timeNow }); // সর্বোচ্চ ৫০টি ডিলিট হওয়া মেসেজ সেভ থাকবে if (list.length > 50) list.shift(); global.goatBot.deletedMessages.set(threadID, list); } } } };