// code from goatstore // api: https://store.agi.bd module.exports = { config: { name: "kick", version: "1.1", author: "—͞𝐏ʀɪᴍᴇ́", countDown: 5, role: 1, shortDescription: "Kick user from group", longDescription: "Kick user by reply, mention or uid", category: "group", guide: "{pn} ", aliases: ["remove"] }, onStart: async function ({ api, event, args }) { const { threadID, messageID, mentions, messageReply, senderID } = event; let targetID; if (messageReply) { targetID = messageReply.senderID; } else if (Object.keys(mentions).length > 0) { targetID = Object.keys(mentions)[0]; } else if (args[0]) { targetID = args[0].replace(/[^0-9]/g, ""); } else { return api.sendMessage("Use: kick ", threadID, messageID); } if (!targetID) return api.sendMessage("Invalid UID", threadID, messageID); if (targetID == api.getCurrentUserID()) return api.sendMessage("Can't kick bot itself", threadID, messageID); if (targetID == senderID) return api.sendMessage("You can't kick yourself", threadID, messageID); try { const threadInfo = await api.getThreadInfo(threadID); const adminIDs = threadInfo.adminIDs.map(a => a.id); const botID = api.getCurrentUserID(); if (!adminIDs.includes(botID)) { return api.sendMessage("❌ Bot is not group admin, can't kick", threadID, messageID); } if (!adminIDs.includes(senderID)) { return api.sendMessage("❌ Only group admin can use this command", threadID, messageID); } if (adminIDs.includes(targetID)) { return api.sendMessage("❌ Can't kick another group admin", threadID, messageID); } await api.removeUserFromGroup(targetID, threadID); return api.sendMessage(`Kicked ${targetID} from group`, threadID, messageID); } catch (e) { return api.sendMessage(`Failed to kick: ${e.message}`, threadID, messageID); } } };