File size: 6,145 Bytes
046b271 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
const { cmd } = require('../command');
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
// remove only member
cmd({
pattern: "removemembers",
alias: ["kickall", "endgc", "endgroup"],
desc: "Remove all non-admin members from the group.",
react: "๐",
category: "group",
filename: __filename,
},
async (conn, mek, m, {
from, groupMetadata, groupAdmins, isBotAdmins, senderNumber, reply, isGroup
}) => {
try {
// Check if the command is used in a group
if (!isGroup) {
return reply("This command can only be used in groups.");
}
// Get the bot owner's number dynamically
const botOwner = conn.user.id.split(":")[0];
if (senderNumber !== botOwner) {
return reply("Only the bot owner can use this command.");
}
if (!isBotAdmins) {
return reply("I need to be an admin to execute this command.");
}
const allParticipants = groupMetadata.participants;
const nonAdminParticipants = allParticipants.filter(member => !groupAdmins.includes(member.id));
if (nonAdminParticipants.length === 0) {
return reply("There are no non-admin members to remove.");
}
reply(`Starting to remove ${nonAdminParticipants.length} non-admin members...`);
for (let participant of nonAdminParticipants) {
try {
await conn.groupParticipantsUpdate(from, [participant.id], "remove");
await sleep(2000); // 2-second delay between removals
} catch (e) {
console.error(`Failed to remove ${participant.id}:`, e);
}
}
reply("Successfully removed all non-admin members from the group.");
} catch (e) {
console.error("Error removing non-admin users:", e);
reply("An error occurred while trying to remove non-admin members. Please try again.");
}
});
// remove only admins
cmd({
pattern: "removeadmins",
alias: ["kickadmins", "kickall3", "deladmins"],
desc: "Remove all admin members from the group, excluding the bot and bot owner.",
react: "๐",
category: "group",
filename: __filename,
},
async (conn, mek, m, {
from, isGroup, senderNumber, groupMetadata, groupAdmins, isBotAdmins, reply
}) => {
try {
// Check if the command is used in a group
if (!isGroup) {
return reply("This command can only be used in groups.");
}
// Get the bot owner's number dynamically
const botOwner = conn.user.id.split(":")[0];
if (senderNumber !== botOwner) {
return reply("Only the bot owner can use this command.");
}
if (!isBotAdmins) {
return reply("I need to be an admin to execute this command.");
}
const allParticipants = groupMetadata.participants;
const adminParticipants = allParticipants.filter(member => groupAdmins.includes(member.id) && member.id !== conn.user.id && member.id !== `${botOwner}@s.whatsapp.net`);
if (adminParticipants.length === 0) {
return reply("There are no admin members to remove.");
}
reply(`Starting to remove ${adminParticipants.length} admin members, excluding the bot and bot owner...`);
for (let participant of adminParticipants) {
try {
await conn.groupParticipantsUpdate(from, [participant.id], "remove");
await sleep(2000); // 2-second delay between removals
} catch (e) {
console.error(`Failed to remove ${participant.id}:`, e);
}
}
reply("Successfully removed all admin members from the group, excluding the bot and bot owner.");
} catch (e) {
console.error("Error removing admins:", e);
reply("An error occurred while trying to remove admins. Please try again.");
}
});
// remove admins and memeber both
cmd({
pattern: "removeall2",
alias: ["kickall2", "endgc2", "endgroup2"],
desc: "Remove all members and admins from the group, excluding the bot and bot owner.",
react: "๐",
category: "group",
filename: __filename,
},
async (conn, mek, m, {
from, isGroup, senderNumber, groupMetadata, isBotAdmins, reply
}) => {
try {
// Check if the command is used in a group
if (!isGroup) {
return reply("This command can only be used in groups.");
}
// Get the bot owner's number dynamically
const botOwner = conn.user.id.split(":")[0];
if (senderNumber !== botOwner) {
return reply("Only the bot owner can use this command.");
}
if (!isBotAdmins) {
return reply("I need to be an admin to execute this command.");
}
const allParticipants = groupMetadata.participants;
if (allParticipants.length === 0) {
return reply("The group has no members to remove.");
}
// Filter out the bot and bot owner from the list
const participantsToRemove = allParticipants.filter(
participant => participant.id !== conn.user.id && participant.id !== `${botOwner}@s.whatsapp.net`
);
if (participantsToRemove.length === 0) {
return reply("No members to remove after excluding the bot and bot owner.");
}
reply(`Starting to remove ${participantsToRemove.length} members, excluding the bot and bot owner...`);
for (let participant of participantsToRemove) {
try {
await conn.groupParticipantsUpdate(from, [participant.id], "remove");
await sleep(2000); // 2-second delay between removals
} catch (e) {
console.error(`Failed to remove ${participant.id}:`, e);
}
}
reply("Successfully removed all members, excluding the bot and bot owner, from the group.");
} catch (e) {
console.error("Error removing members:", e);
reply("An error occurred while trying to remove members. Please try again.");
}
}); |