goat
command
kickall
Remove all group members
0
views
0
likes
0
installs
raw source
module.exports = {
config: {
name: 'kickall',
version: '2.1.0',
author: "Cliff", //do not change credits
countDown: 5,
role: 2,
shortDescription: 'Remove all group members',
longDescription: {
en: 'kickall members of the group'
},
category: 'Box Chat',
guide: {
en: '{p}kickall on/off'
}
},
kickOffMembers: {}, // Store members when off
onStart: async function ({ api, event, getText, args }) {
const { participantIDs } = await api.getThreadInfo(event.threadID);
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const botID = api.getCurrentUserID();
const listUserID = participantIDs.filter(ID => ID != botID);
if (args[0] === 'off') {
this.kickOffMembers[event.threadID] = listUserID;
return api.sendMessage('» Kickall feature turned off. Members stored.', event.threadID);
}
if (args[0] === 'on') {
const kickOffMembers = this.kickOffMembers[event.threadID] || [];
Object.keys(kickOffMembers).forEach(async (memberID) => {
await api.addUserToGroup(memberID, event.threadID);
});
this.kickOffMembers[event.threadID] = [];
return api.sendMessage('» Kickall feature turned on. Members added back to the group.', event.threadID);
}
return api.getThreadInfo(event.threadID, async (err, info) => {
if (err) return api.sendMessage("» An error occurred.", event.threadID);
if (!info.adminIDs.some(item => item.id == api.getCurrentUserID()))
return api.sendMessage(`» Need group admin rights.\nPlease add and try again.`, event.threadID, event.messageID);
if (info.adminIDs.some(item => item.id == event.senderID)) {
setTimeout(function () { api.removeUserFromGroup(botID, event.threadID) }, 300000);
api.sendMessage(`» Start deleting all members. Bye everyone.`, event.threadID);
for (let id in listUserID) {
await delay(1000);
api.removeUserFromGroup(listUserID[id], event.threadID);
}
} else {
return api.sendMessage('» Only group admins can use this command.', event.threadID, event.messageID);
}
});
}
};