// code from goatstore // api: https://store.agi.bd const fs = require("fs-extra"); const moment = require("moment-timezone"); const { config } = global.GoatBot; const { client } = global; // 🔒 LOCKED AUTHOR const LOCKED_AUTHOR = "FARHAN-KHAN"; // ✨ Premium Compact Bengali Style function premiumMsg(title, body) { const time = moment().tz("Asia/Dhaka").format("hh:mm:ss A"); const date = moment().tz("Asia/Dhaka").format("DD MMM YYYY"); return `╔═ 👑 đ‘ē𝑰𝒀𝑨𝑴 👑 ═╗ ${title} ━━━━━━━━━━━━ ${body} ━━━━━━━━━━━━ 📅 ${date} | ⏰ ${time} 🤖 đ‘ĩđ‘°đ‘ąđ‘¯đ‘ŧ𝑴 𝑩đ‘ļđ‘ģ`; } module.exports = { config: { name: "adminonly", aliases: ["adonly", "onlyad", "onlyadmin"], version: "5.0", author: LOCKED_AUTHOR, countDown: 5, role: 1, description: { en: "Toggle global admin mode or manage specific group bans" }, category: "owner" }, onLoad: function () { if (!config.adminOnly) config.adminOnly = {}; if (!Array.isArray(config.adminOnly.bannedThreads)) { config.adminOnly.bannedThreads = []; } }, onStart: async function ({ args, message, threadsData }) { // 🔒 AUTHOR LOCK if (module.exports.config.author !== LOCKED_AUTHOR) { module.exports.config.author = LOCKED_AUTHOR; fs.writeFileSync(__filename, fs.readFileSync(__filename, "utf8")); } if (!config.adminOnly.bannedThreads) config.adminOnly.bannedThreads = []; // đŸ‘Ĩ ā§§. āĻ—ā§āϰ⧁āĻĒ āϞāĻŋāĻ¸ā§āϟ āĻĻ⧇āĻ–āĻžāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ if (args[0] == "grouplist") { const allThreads = await threadsData.getAll(); const groupList = allThreads.filter(t => t.isGroup); if (groupList.length === 0) { return message.reply(premiumMsg("đŸ‘Ĩ āĻ—ā§āϰ⧁āĻĒ āϞāĻŋāĻ¸ā§āϟ", "❌ āĻŦāϟ āϕ⧋āύ⧋ āĻ—ā§āϰ⧁āĻĒ⧇ āϝ⧁āĻ•ā§āϤ āύ⧇āχāĨ¤")); } let body = `📊 āĻŽā§‹āϟ āĻ—ā§āϰ⧁āĻĒ: ${groupList.length}\n\n`; global.client.tempGroupList = {}; groupList.forEach((thread, index) => { const num = index + 1; global.client.tempGroupList[num] = thread.threadID; const isBanned = config.adminOnly.bannedThreads.includes(thread.threadID) ? "❌ [āĻŦā§āϝāĻžāύāĻĄ]" : "✅ [āϏāĻ•ā§āϰāĻŋ⧟]"; body += `${num}. ${thread.threadName || "āύāĻžāĻŽāĻšā§€āύ āĻ—ā§āϰ⧁āĻĒ"}\n ID: ${thread.threadID} ${isBanned}\n`; }); body += `\n━━━━━━━━━━━━\n💡 āĻ—āĻžāχāĻĄāϞāĻžāχāύ: āĻŦā§āϝāĻžāύ āĻ•āϰāϤ⧇ āϞāĻŋāϖ⧁āύ:\n👉 adminonly ban <āύāĻžāĻŽā§āĻŦāĻžāϰ>`; return message.reply(premiumMsg("đŸ‘Ĩ āĻ—ā§āϰ⧁āĻĒ āϞāĻŋāĻ¸ā§āϟ", body)); } // đŸšĢ ⧍. āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ—ā§āϰ⧁āĻĒ āĻŦā§āϝāĻžāύ āĻ•āϰāĻžāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ if (args[0] == "ban") { if (!args[1] || isNaN(args[1])) { return message.reply(premiumMsg("âš ī¸ āϭ⧁āϞ āχāύāĻĒ⧁āϟ", "āĻŦā§āϝāĻžāύ āĻ•āϰāϤ⧇ āϏāĻ āĻŋāĻ• āĻ—ā§āϰ⧁āĻĒ āύāĻŽā§āĻŦāϰ āĻĻāĻŋāύāĨ¤\nāϝ⧇āĻŽāύ: adminonly ban 1")); } if (!global.client.tempGroupList || !global.client.tempGroupList[args[1]]) { return message.reply(premiumMsg("âš ī¸ āϭ⧁āϞ āχāύāĻĒ⏏⏕", "āĻĒā§āϰāĻĨāĻŽā§‡ 'adminonly grouplist' āϞāĻŋāϖ⧇ āύāĻŽā§āĻŦāϰāϟāĻŋ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύāĨ¤")); } const targetThreadID = global.client.tempGroupList[args[1]]; if (config.adminOnly.bannedThreads.includes(targetThreadID)) { return message.reply(premiumMsg("âš ī¸ āϏāϤāĻ°ā§āĻ• āĻŦāĻžāĻ°ā§āϤāĻž", "āĻāχ āĻ—ā§āϰ⧁āĻĒāϟāĻŋ āĻ…āϞāϰ⧇āĻĄāĻŋ āĻŦā§āϝāĻžāύ āĻ•āϰāĻž āφāϛ⧇āĨ¤")); } config.adminOnly.bannedThreads.push(targetThreadID); fs.writeFileSync(client.dirConfig, JSON.stringify(config, null, 2)); // āϟāĻžāĻ°ā§āϗ⧇āϟ āĻ—ā§āϰ⧁āĻĒ⧇ āύ⧋āϟāĻŋāĻĢāĻŋāϕ⧇āĻļāύ āĻĒāĻžāĻ āĻžāύ⧋ try { await message.send({ body: premiumMsg("đŸšĢ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻžāύ", "âš ī¸ āĻāχ āĻ—ā§āϰ⧁āĻĒ⧇ āϕ⧋āύ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āχāωāϜ āĻ•āϰāĻž āϝāĻžāĻŦ⧇ āύāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻžāύ āĻ•āϰāĻž āĻšāϞ⧋āĨ¤") }, targetThreadID); } catch (e) {} return message.reply(premiumMsg("🔒 āĻ—ā§āϰ⧁āĻĒ āϞāĻ• āϏāĻĢāϞ", `✅ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ—ā§āϰ⧁āĻĒāϟāĻŋ āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āϞāĻ• āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤\n🆔 ID: ${targetThreadID}`)); } // 📑 ā§Š. āĻŦā§āϝāĻžāύ āϞāĻŋāĻ¸ā§āϟ āĻĻ⧇āĻ–āĻžāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ if (args[0] == "banlist") { if (config.adminOnly.bannedThreads.length === 0) { return message.reply(premiumMsg("📑 āĻŦā§āϝāĻžāύ āϞāĻŋāĻ¸ā§āϟ", "❌ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āϕ⧋āύ⧋ āĻ—ā§āϰ⧁āĻĒ āĻŦā§āϝāĻžāύ āϤāĻžāϞāĻŋāĻ•āĻžā§Ÿ āύ⧇āχāĨ¤")); } let body = `đŸšĢ āĻŽā§‹āϟ āĻŦā§āϝāĻžāύāĻĄ āĻ—ā§āϰ⧁āĻĒ: ${config.adminOnly.bannedThreads.length}\n\n`; global.client.tempBanList = {}; for (let i = 0; i < config.adminOnly.bannedThreads.length; i++) { const tID = config.adminOnly.bannedThreads[i]; global.client.tempBanList[i + 1] = tID; let tName = "āύāĻžāĻŽāĻšā§€āύ āĻŦāĻž āĻ…āϜāĻžāύāĻž āĻ—ā§āϰ⧁āĻĒ"; try { const tInfo = await threadsData.get(tID); if (tInfo && tInfo.threadName) tName = tInfo.threadName; } catch(e){} body += `${i + 1}. ${tName}\n ID: ${tID}\n`; } body += `\n━━━━━━━━━━━━\n💡 āĻ—āĻžāχāĻĄāϞāĻžāχāύ: āφāύāĻŦā§āϝāĻžāύ āĻ•āϰāϤ⧇ āϞāĻŋāϖ⧁āύ:\n👉 adminonly unban <āύāĻžāĻŽā§āĻŦāĻžāϰ>`; return message.reply(premiumMsg("📑 āĻŦā§āϝāĻžāύ āϞāĻŋāĻ¸ā§āϟ", body)); } // 🔓 ā§Ē. āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ—ā§āϰ⧁āĻĒ āφāύāĻŦā§āϝāĻžāύ āĻ•āϰāĻžāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ if (args[0] == "unban") { if (!args[1] || isNaN(args[1])) { return message.reply(premiumMsg("âš ī¸ āϭ⧁āϞ āχāύāĻĒ⧁āϟ", "āφāύāĻŦā§āϝāĻžāύ āĻ•āϰāϤ⧇ āϏāĻ āĻŋāĻ• āύāĻŽā§āĻŦāϰ āĻĻāĻŋāύāĨ¤\nāϝ⧇āĻŽāύ: adminonly unban 1")); } if (!global.client.tempBanList || !global.client.tempBanList[args[1]]) { return message.reply(premiumMsg("âš ī¸ āϭ⧁āϞ āχāύāĻĒ⧁āϟ", "āĻĒā§āϰāĻĨāĻŽā§‡ 'adminonly banlist' āϞāĻŋāϖ⧇ āϏāĻ āĻŋāĻ• āύāĻŽā§āĻŦāϰ āĻĻāĻŋāύāĨ¤")); } const targetThreadID = global.client.tempBanList[args[1]]; config.adminOnly.bannedThreads = config.adminOnly.bannedThreads.filter(id => id !== targetThreadID); fs.writeFileSync(client.dirConfig, JSON.stringify(config, null, 2)); return message.reply(premiumMsg("🔓 āφāύāĻŦā§āϝāĻžāύ āϏāĻĢāϞ", "✅ āĻ—ā§āϰ⧁āĻĒāϟāĻŋ āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āφāύāĻŦā§āϝāĻžāύ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤ āĻāĻ–āύ āϏāĻŦāĻžāχ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤")); } // --------------------------------------------------------- // 👑 āφāĻĒāύāĻžāϰ āφāϗ⧇āϰ āĻŽā§‚āϞ āĻāĻĄāĻŽāĻŋāύ āĻ…āύāϞāĻŋ āϞāϜāĻŋāĻ• (āĻšā§āĻŦāĻšā§ āĻāĻ• āϰāĻžāĻ–āĻž āĻšā§Ÿā§‡āϛ⧇) // --------------------------------------------------------- let isSetNoti = false; let value; let indexGetVal = 0; if (args[0] == "noti") { isSetNoti = true; indexGetVal = 1; } if (args[indexGetVal] == "on") value = true; else if (args[indexGetVal] == "off") value = false; else return message.SyntaxError(); // 🔔 Notification Mode if (isSetNoti) { config.hideNotiMessage.adminOnly = !value; return message.reply( premiumMsg( value ? "🔔 āύ⧋āϟāĻŋāĻĢāĻŋāϕ⧇āĻļāύ āϚāĻžāϞ⧁" : "🔕 āύ⧋āϟāĻŋāĻĢāĻŋāϕ⧇āĻļāύ āĻŦāĻ¨ā§āϧ", value ? "âš ī¸ āύāύ-āĻāĻĄāĻŽāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϏāϤāĻ°ā§āĻ• āĻŦāĻžāĻ°ā§āϤāĻž āĻĻ⧇āĻ–āĻžāĻŦ⧇" : "đŸ¤Ģ āύāύ-āĻāĻĄāĻŽāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϕ⧋āύ⧋ āĻŦāĻžāĻ°ā§āϤāĻž āĻĻ⧇āĻ–āĻžāĻŦ⧇ āύāĻž" ) ); } // 🔐 Admin Mode config.adminOnly.enable = value; fs.writeFileSync(client.dirConfig, JSON.stringify(config, null, 2)); if (value) { return message.reply( premiumMsg( "🔐 āĻāĻĄāĻŽāĻŋāύ āĻŽā§‹āĻĄ āϚāĻžāϞ⧁", "đŸšĢ āĻāĻ–āύ āĻļ⧁āϧ⧁ āĻŦāϏ āϏāĻŋāϝāĻŧāĻžāĻŽ āĻŦāϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇\n👑 āϏāĻŋāϝāĻŧāĻžāĻŽ āĻŦāϏ āĻ›āĻžāĻĄāĻŧāĻž āϕ⧇āω āĻāĻ•ā§āϏ⧇āϏ āĻĒāĻžāĻŦ⧇ āύāĻž" ) ); } else { return message.reply( premiumMsg( "🔓 āĻāĻĄāĻŽāĻŋāύ āĻŽā§‹āĻĄ āĻŦāĻ¨ā§āϧ", "✅ āĻāĻ–āύ āϏāĻŦāĻžāχ āĻŦāϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇\n🎉 āϏāĻŦāĻžāχ āĻāύāϜāϝāĻŧ āĻ•āϰ⧋" ) ); } }, // đŸšĢ āĻŦā§āϝāĻžāύ āĻšāĻ“ā§ŸāĻž āĻ—ā§āϰ⧁āĻĒ⧇ āĻ“āύāĻžāϰ/āĻāĻĄāĻŽāĻŋāύ āϏāĻš āϏāĻŦāĻžāϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϞāĻ• āĻ•āϰāĻžāϰ āϞāϜāĻŋāĻ• onChat: async function ({ message }) { if (config.adminOnly && Array.isArray(config.adminOnly.bannedThreads)) { if (config.adminOnly.bannedThreads.includes(message.threadID)) { const prefix = config.prefix || "/"; // āĻŽā§‡āϏ⧇āϜāϟāĻŋ āϝāĻĻāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšā§Ÿ āĻāĻŦāĻ‚ āχāωāϜāĻžāϰ āϝāĻĻāĻŋ āĻŽā§‡āχāύ āĻ“āύāĻžāϰ (FARHAN-KHAN) āύāĻž āĻšā§Ÿ if (message.body && message.body.startsWith(prefix)) { // GoatBot āĻāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĨ⧇āϕ⧇ āĻ“āύāĻžāϰ āφāχāĻĄāĻŋ āĻšā§‡āĻ• āĻ•āϰāĻž (āϝāĻĻāĻŋ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšā§Ÿ) const adminIDs = config.adminBot || []; if (!adminIDs.includes(message.senderID)) { return message.reply( premiumMsg("đŸšĢ āĻ—ā§āϰ⧁āĻĒ āϞāĻ•āĻĄ", "âš ī¸ āĻāχ āĻ—ā§āϰ⧁āĻĒ⧇ āϕ⧋āύ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āχāωāϜ āĻ•āϰāĻž āϝāĻžāĻŦ⧇ āύāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻžāύ āĻ•āϰāĻž āĻšāϞ⧋āĨ¤") ); } } } } } };