// code from goatstore // api: https://store.agi.bd module.exports = { config: { name: "tag", category: "box chat", role: 0, author: "Sakib", countDown: 3, description: { en: "Tag members by name, reply or everyone" }, guide: { en: "{p}tag [name] [msg]\n{p}tag all [msg]\nReply + {p}tag [msg]" } }, onStart: async ({ api, event, usersData, threadsData, args }) => { const { threadID, messageID, messageReply } = event; try { const threadData = await threadsData.get(threadID); const members = threadData.members.filter(m => m.inGroup).map(m => ({ name: m.name, id: m.userID })); let tagUsers = []; let text = ""; if (messageReply) { const uid = messageReply.senderID; const name = await usersData.getName(uid); tagUsers.push({ name, id: uid }); text = args.join(" "); } else if (args[0] && ["all","everyone","cdi","sobai"].includes(args[0].toLowerCase())) { tagUsers = members; text = args.slice(1).join(" "); } else { if (!args[0]) return api.sendMessage("⚠️ Reply, name or all use korun. Ex: tag sakib hi\nAuthor: Sakib", threadID, messageID); const searchName = args[0].toLowerCase(); text = args.slice(1).join(" "); tagUsers = members.filter(m => m.name.toLowerCase().includes(searchName)); if (tagUsers.length === 0) return api.sendMessage(`❌ User Not Found: ${args[0]}\nAuthor: Sakib`, threadID, messageID); } const mentions = tagUsers.map(u => ({ tag: u.name, id: u.id })); const namesText = tagUsers.map(u => `│ • ${u.name}`).join("\n"); const body = text? `╭─❍━─❍ TAG NOTICE ❍━─❍─╮\n${namesText}\n├─❍━─❍─❍─❍\n│ 💬 Msg: ${text}\n╰─❍━─❍─❍─❍─❍─❍─❍─╯\n✨ Made By Sakib ✨` : `╭─❍━─❍ TAG NOTICE ❍━─❍─╮\n${namesText}\n╰─❍━─❍─❍─❍─❍─❍─❍─╯\n✨ Made By Sakib ✨`; return api.sendMessage({ body, mentions }, threadID, messageReply? messageReply.messageID : messageID); } catch (error) { return api.sendMessage(`❌ Error: ${error.message}\nAuthor: Sakib`, threadID, messageID); } } };