// code from goatstore // api: https://store.agi.bd const AUTHOR = "𝆠፝𝐒𝐈𝐘𝐀𝐌-𝐇𝐀𝐒𝐀𝐍"; module.exports = { config: { name: "busy", version: "2.5.0", author: AUTHOR, countDown: 3, role: 0, shortDescription: { en: "Do not disturb system with custom status and auto-reply", bn: "āĻŦā§āϝāĻ¸ā§āϤ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āĻāĻŦāĻ‚ āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ• āĻŽā§‡āϏ⧇āϜ āϰāĻŋāĻĒā§āϞāĻžāχ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ" }, longDescription: { en: "Turn on busy mode with custom reason, time tracker, and auto-notify users when you are tagged.", bn: "āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻ•āĻžāϰāĻŖ āĻāĻŦāĻ‚ āϏāĻŽā§Ÿ āĻŸā§āĻ°ā§āϝāĻžāĻ•āĻŋāĻ‚ āϏāĻš āĻŦā§āϝāĻ¸ā§āϤ āĻŽā§‹āĻĄ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύāĨ¤" }, category: "utility", guide: { en: "{pn} [reason] | {pn} off | {pn} status", bn: "{pn} [āĻ•āĻžāϰāĻŖ] | {pn} off | {pn} status" } }, onStart: async function ({ args, message, event, usersData }) { const { senderID } = event; const type = args[0]?.toLowerCase(); if (type === "off" || type === "remove") { const userData = await usersData.get(senderID); if (!userData.data?.busy) { return message.reply("âš ī¸ āφāĻĒāύāĻžāϰ āϕ⧋āύ⧋ Busy āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āϚāĻžāϞ⧁ āύ⧇āχ!"); } delete userData.data.busy; await usersData.set(senderID, userData.data, "data"); return message.reply("✅ āφāĻĒāύāĻžāϰ Busy āĻŽā§‹āĻĄ āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāĻ–āύ āϏāĻŦāĻžāχ āφāĻĒāύāĻžāϕ⧇ āĻŸā§āϝāĻžāĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤"); } if (type === "status" || type === "check") { const userData = await usersData.get(senderID); const busyInfo = userData.data?.busy; if (!busyInfo) { return message.reply("â„šī¸ āφāĻĒāύāĻžāϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āϕ⧋āύ⧋ Busy āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āϏāĻ•ā§āϰāĻŋ⧟ āύ⧇āχāĨ¤"); } return message.reply( `📌 āφāĻĒāύāĻžāϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ Busy āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ:\n` + `📝 āĻ•āĻžāϰāĻŖ: ${busyInfo.reason}\n` + `⏰ āϚāĻžāϞ⧁ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇: ${busyInfo.time}` ); } const reason = args.join(" ").trim() || "āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻŦā§āϝāĻ¸ā§āϤ āφāĻ›āĻŋ, āĻĒāϰ⧇ āĻ•āĻĨāĻž āĻšāĻŦ⧇āĨ¤"; const currentTime = new Date().toLocaleString("bn-BD", { timeZone: "Asia/Dhaka" }); const busyData = { status: true, reason: reason, time: currentTime }; const userData = await usersData.get(senderID); userData.data = userData.data || {}; userData.data.busy = busyData; await usersData.set(senderID, userData.data, "data"); return message.reply( `✅ Busy Mode Active!\n\n` + `📝 āĻ•āĻžāϰāĻŖ: ${reason}\n` + `⏰ āϏāĻŽāϝāĻŧ: ${currentTime}\n\n` + `💡 āĻāĻ–āύ āĻĨ⧇āϕ⧇ āϕ⧇āω āφāĻĒāύāĻžāϕ⧇ āĻŸā§āϝāĻžāĻ— āĻ•āϰāϞ⧇ āĻŦāϟ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻžāϰ āĻāχ āĻ•āĻžāϰāĻŖāϟāĻŋ āϜāĻžāύāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻŦ⧇āĨ¤` ); }, onChat: async function ({ event, message, usersData }) { const { mentions, senderID } = event; if (!mentions || Object.keys(mentions).length === 0) return; const mentionedIDs = Object.keys(mentions); for (const targetID of mentionedIDs) { if (targetID === senderID) continue; try { const userData = await usersData.get(targetID); const busyInfo = userData?.data?.busy; if (busyInfo && busyInfo.status) { const userName = mentions[targetID].replace(/@/g, ""); return message.reply( `đŸšĢ ${userName} āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻŦā§āϝāĻ¸ā§āϤ āφāϛ⧇āύ!\n\n` + `📝 āĻ•āĻžāϰāĻŖ: ${busyInfo.reason}\n` + `⏰ āϝ⧇ āϏāĻŽā§Ÿ āĻĨ⧇āϕ⧇ āĻŦā§āϝāĻ¸ā§āϤ: ${busyInfo.time}\n\n` + `âš ī¸ āĻ…āύ⧁āĻ—ā§āϰāĻš āĻ•āϰ⧇ āϜāϰ⧁āϰāĻŋ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻ›āĻžā§œāĻž āĻŦāĻžāϰ āĻŦāĻžāϰ āĻŸā§āϝāĻžāĻ— āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤` ); } } catch (err) { continue; } } } };