// code from goatstore // api: https://store.agi.bd const OWNER_NAME = "MR_FARHAN"; module.exports = { config: { name: "allbox", aliases: ["allgc"], version: "1.6.1", role: 2, author: OWNER_NAME, description: "Manage all groups: List, Leave, or Add yourself to any group.", category: "admin", guide: { en: "{pn}", bn: "{pn}" }, countDown: 5 }, onStart: async function ({ api, event, message, commandName }) { // ๐Ÿ”’ ANTI-EDIT PROTECTION if (module.exports.config.author !== OWNER_NAME) { return message.reply("โ›” ๐๐จ๐ญ ๐’๐ญ๐จ๐ฉ๐ฉ๐ž๐: ๐€๐ฎ๐ญ๐ก๐จ๐ซ ๐Œ๐จ๐๐ข๐Ÿ๐ข๐ž๐"); } try { await api.getThreadList(25, null, ["INBOX"], (err, list) => { if (err) return message.reply("โŒ ๐†๐ซ๐จ๐ฎ๐ฉ ๐‹๐ข๐ฌ๐ญ ๐…๐ž๐ญ๐œ๐ก ๐…๐š๐ข๐ฅ๐ž๐"); const groups = list.filter(g => g.isGroup && g.isSubscribed); if (!groups.length) return message.reply("โš ๏ธ ๐๐จ ๐†๐ซ๐จ๐ฎ๐ฉ ๐…๐จ๐ฎ๐ง๐"); const stylishNumber = [ "๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“", "๐Ÿ”","๐Ÿ•","๐Ÿ–","๐Ÿ—","๐Ÿ๐ŸŽ", "๐Ÿ๐Ÿ","๐Ÿ๐Ÿ","๐Ÿ๐Ÿ‘","๐Ÿ๐Ÿ’","๐Ÿ๐Ÿ“", "๐Ÿ๐Ÿ”","๐Ÿ๐Ÿ•","๐Ÿ๐Ÿ–","๐Ÿ๐Ÿ—","๐Ÿ๐ŸŽ", "๐Ÿ๐Ÿ","๐Ÿ๐Ÿ","๐Ÿ๐Ÿ‘","๐Ÿ๐Ÿ’","๐Ÿ๐Ÿ“" ]; let msg = `โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— ๐ŸŒ ๐†๐‘๐Ž๐”๐ ๐‹๐ˆ๐’๐“ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n\n`; let groupIDs = []; groups.forEach((group, index) => { const name = group.name || "เฆจเฆพเฆฎ เฆจเง‡เฆ‡"; const members = group.participantIDs ? group.participantIDs.length : 0; msg += `โ•ญโ”€ใ€” ${stylishNumber[index] || index + 1} ใ€• โ”‚ ๐Ÿ“Œ ๐๐š๐ฆ๐ž: ${name} โ”‚ ๐Ÿ‘ฅ ๐Œ๐ž๐ฆ๐›๐ž๐ซ๐ฌ: ${members} โ”‚ ๐Ÿ†” ๐ˆ๐ƒ: ${group.threadID} โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n`; groupIDs.push(group.threadID); }); msg += `โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ€Ž ๐ŸŽฎ ๐‚๐Ž๐๐“๐‘๐Ž๐‹ ๐๐€๐๐„๐‹ โ€Žโ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• โ€Ž๐ŸŸข ๐Ž๐”๐“ <๐๐Ž> โ†’ ๐‹๐„๐€๐•๐„ ๐†๐‘๐Ž๐”๐ โ€Žโž• ๐€๐ƒ๐ƒ <๐๐Ž> โ†’ ๐‰๐Ž๐ˆ๐ ๐†๐‘๐Ž๐”๐ โ€Žโ›” ๐๐€๐ <๐๐Ž> โ†’ ๐๐€๐ ๐†๐‘๐Ž๐”๐ โ€Ž๐Ÿ“‹ ๐ˆ๐๐…๐Ž <๐๐Ž>โ†’ ๐†๐‘๐Ž๐”๐ ๐ƒ๐„๐“๐€๐ˆ๐‹๐’ โ€Žโ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•`; return message.reply(msg, (err, info) => { global.GoatBot.onReply.set(info.messageID, { commandName, messageID: info.messageID, author: event.senderID, groupIDs }); }); }); } catch (e) { return message.reply("โŒ ๐„๐ซ๐ซ๐จ๐ซ ๐Ž๐œ๐œ๐ฎ๐ซ๐ซ๐ž๐"); } }, onReply: async function ({ api, event, Reply, message, threadsData }) { const { author, groupIDs } = Reply; if (event.senderID != author) return; const input = event.body.split(" "); const action = input[0].toLowerCase(); const index = parseInt(input[1]) - 1; const targetID = groupIDs[index]; if (!targetID || isNaN(index)) return message.reply("โš ๏ธ ๐ˆ๐ง๐ฏ๐š๐ฅ๐ข๐ ๐๐ฎ๐ฆ๐›๐ž๐ซ"); // INFO if (action === "info") { try { const info = await api.getThreadInfo(targetID); const msg = `โ•”โ•โ•โ•โ•โ• ๐†๐‘๐Ž๐”๐ ๐ˆ๐๐…๐Ž โ•โ•โ•โ•โ•โ•— ๐Ÿ“Œ ๐๐€๐Œ๐„: ${info.threadName} ๐Ÿ‘ฅ ๐Œ๐„๐Œ๐๐„๐‘๐’: ${info.participantIDs.length} ๐Ÿ’ฌ ๐Œ๐„๐’๐’๐€๐†๐„๐’: ${info.messageCount || 0} ๐Ÿ†” ๐ˆ๐ƒ: ${targetID} โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•`; return message.reply(msg); } catch { return message.reply("โŒ ๐…๐š๐ข๐ฅ๐ž๐ ๐“๐จ ๐†๐ž๐ญ ๐†๐ซ๐จ๐ฎ๐ฉ ๐ˆ๐ง๐Ÿ๐จ"); } } // OUT if (action === "out") { try { await api.removeUserFromGroup(api.getCurrentUserID(), targetID); return message.reply(`โœ… ๐’๐ฎ๐œ๐œ๐ž๐ฌ๐ฌ๐Ÿ๐ฎ๐ฅ๐ฅ๐ฒ ๐‹๐ž๐Ÿ๐ญ ๐†๐ซ๐จ๐ฎ๐ฉ:\n๐Ÿ†” ${targetID}`); } catch { return message.reply("โŒ ๐‚๐š๐ง๐ง๐จ๐ญ ๐‹๐ž๐š๐ฏ๐ž ๐†๐ซ๐จ๐ฎ๐ฉ"); } } // ADD if (action === "add") { try { const userInfo = await api.getUserInfo(author); const userName = userInfo[author]?.name || "เฆ‡เฆ‰เฆœเฆพเฆฐ"; await api.addUserToGroup(author, targetID); await api.sendMessage( `โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โœจ ๐–๐„๐‹๐‚๐Ž๐Œ๐„ ๐‚๐„๐‘๐„๐Œ๐Ž๐๐˜ โœจ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ๐Ÿ‘‘ ๐๐„๐– ๐Œ๐„๐Œ๐๐„๐‘ ๐€๐‹๐„๐‘๐“ ๐Ÿ‘‘ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” โ™ป๏ธ เฆ†เฆฎเฆพเฆฆเง‡เฆฐ เฆ—เงเฆฐเงเฆชเง‡ เฆฏเงเฆ•เงเฆค เฆนเงŸเง‡เฆ›เง‡เฆจ โ™ป๏ธ ๐Ÿ’ฅ ใ€Œ ๐๐Ž๐’๐’: ๐—™๐—”๐—›๐—œ๐—  ใ€๐Ÿ’ฅ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” ๐ŸŽŠ ๐–๐„๐‹๐‚๐Ž๐Œ๐„ ๐Œ๐„๐’๐’๐€๐†๐„ ๐ŸŽŠ ๐Ÿ‘‰ เฆธเฆฌเฆพเฆ‡เฆ•เง‡ เฆ…เฆจเงเฆฐเง‹เฆง เฆ•เฆฐเฆพ เฆนเฆšเงเฆ›เง‡ ๐Ÿ‘‰ เฆ†เฆจเงเฆคเฆฐเฆฟเฆ•เฆคเฆพ เฆ“ เฆธเฆฎเงเฆฎเฆพเฆจเง‡เฆฐ เฆธเฆพเฆฅเง‡ ๐Ÿ‘‰ เฆ†เฆฎเฆพเฆฆเง‡เฆฐ โ€œเฆฌเฆธ เฆซเฆพเฆนเฆฟเฆฎโ€-เฆ•เง‡ ๐Ÿ‘‰ เฆ‰เฆทเงเฆฃเฆญเฆพเฆฌเง‡ เฆธเงเฆฌเฆพเฆ—เฆคเฆฎ เฆœเฆพเฆจเฆพเฆจ โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— ๐Ÿ’ฌ ๐‹๐„๐“โ€™๐’ ๐–๐„๐‹๐‚๐Ž๐Œ๐„ ๐Ž๐”๐‘ ๐๐Ž๐’๐’ ๐Ÿ’ฌ ๐ŸŽ‰ ๐Œ๐€๐Š๐„ ๐‡๐ˆ๐Œ ๐…๐„๐„๐‹ ๐€๐“ ๐‡๐Ž๐Œ๐„ ๐ŸŽ‰ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•`, targetID ); return message.reply(`โ•”โ•โ”โ”โ”โœฆ๐ŸŒŸ ๐’๐”๐‚๐‚๐„๐’๐’ ๐ŸŒŸโœฆโ”โ”โ”โ•โ•— โ–ถ ๐’๐“๐€๐“๐”๐’ : ๐€๐‚๐‚๐„๐’๐’ ๐†๐‘๐€๐๐“๐„๐ƒ โœ” โœฆโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โœฆ ใ€Œ ${userName} ใ€ โœ” เฆ†เฆชเฆจเฆพเฆ•เง‡ เฆธเฆซเฆฒเฆญเฆพเฆฌเง‡ เฆ—เงเฆฐเงเฆชเง‡ ๐€๐ƒ๐ƒ เฆ•เฆฐเฆพ เฆธเฆฎเงเฆชเฆจเงเฆจ เฆนเฆฏเฆผเง‡เฆ›เง‡_โ™ป๏ธโœ… โœฆโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โœฆ ๐๐Ž๐ƒ๐„ ๐ˆ๐ƒ :ใ€Œ ${targetID} ใ€ ๐’๐„๐‚๐”๐‘๐ˆ๐“๐˜ : ๐‹๐„๐•๐„๐‹ ๐ŸŽ๐Ÿ ๐‚๐‹๐„๐€๐‘ โ•šโ•โ”โ”โœฆโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โœฆโ”โ”โ•โ•`); } catch { return message.reply("โŒ ๐†๐ซ๐จ๐ฎ๐ฉ ๐€๐๐ ๐…๐š๐ข๐ฅ๐ž๐"); } } // BAN if (action === "ban") { try { const data = await threadsData.get(targetID); if (!data.data) data.data = {}; data.data.banned = true; await threadsData.set(targetID, data.data, "data"); await api.removeUserFromGroup(api.getCurrentUserID(), targetID); return message.reply(`โ›” ๐†๐ซ๐จ๐ฎ๐ฉ ๐๐š๐ง๐ง๐ž๐:\n๐Ÿ†” ${targetID}`); } catch { return message.reply("โŒ ๐๐š๐ง ๐…๐š๐ข๐ฅ๐ž๐"); } } } };