module.exports = { config: { name: "kick", version: "1.3", author: "𓆩𝑅𝑜𝒷𝒾𝓃𓆪 𝒜𝓁𝒾", countDown: 5, role: 1, description: { vi: "Kick thành viên khỏi box chat", en: "Kick member out of chat box" }, category: "owner", guide: { vi: " {pn} @tags: dùng để kick những người được tag", en: " {pn} @tags: use to kick members who are tagged" } }, langs: { vi: { needAdmin: "Vui lòng thêm quản trị viên cho bot trước khi sử dụng tính năng này" }, en: { needAdmin: "Please make the bot a Facebook group admin before using kick." }, tl: { needAdmin: "Mangyaring magdagdag ng admin para sa bot bago gamitin ang feature na ito" }, hi: { needAdmin: "Is feature ka upyog karne se pehle bot ke liye admin add karein" }, ar: { needAdmin: "الرجاء إضافة مسؤول للبوت قبل استخدام هذه الميزة" }, bn: { needAdmin: "kick ব্যবহার করার আগে Facebook group-এ bot-কে admin করুন।" } }, onStart: async function ({ message, event, args, threadsData, api, getLang }) { const botID = String(api.getCurrentUserID()); let adminIDs = (await threadsData.get(event.threadID, "adminIDs")) || []; adminIDs = adminIDs.map(id => String(id)); // Refresh the cached admin list before denying a valid bot admin. if (!adminIDs.includes(botID)) { try { const threadInfo = await api.getThreadInfo(event.threadID); adminIDs = (threadInfo.adminIDs || []).map(id => String(id)); } catch (error) { console.error("Kick admin check error:", error.message); } } if (!adminIDs.includes(botID)) return message.reply(getLang("needAdmin")); async function kickAndCheckError(uid) { try { await api.removeUserFromGroup(uid, event.threadID); } catch (e) { message.reply(getLang("needAdmin")); return "ERROR"; } } if (!args[0]) { if (!event.messageReply) return message.SyntaxError(); await kickAndCheckError(event.messageReply.senderID); } else { const uids = Object.keys(event.mentions); if (uids.length === 0) return message.SyntaxError(); if (await kickAndCheckError(uids.shift()) === "ERROR") return; for (const uid of uids) api.removeUserFromGroup(uid, event.threadID); } } };