← back to browse
goat command

kickall

Kick everyone from the group

0
views
0
likes
0
installs
raw source
"use strict";

module.exports = {
  config: {
    name: "kickall",
    version: "1.0.0",
    author: "๐Œ๐š๐‘๐ฎ๐…",
    role: 2,
    shortDescription: {
      en: "Kick everyone from the group"
    },
    category: "owner",
    guide: {
      en: "{prefix}kickall"
    }
  },

  onStart: async function ({ api, event }) {
    const threadID = event.threadID;
    const senderID = event.senderID;

    try {
      const threadInfo = await api.getThreadInfo(threadID);

      if (
        !threadInfo.adminIDs?.some(
          item => item.id === api.getCurrentUserID()
        )
      ) {
        return api.sendMessage(
          "โŒ Bot must be an admin to kick members.",
          threadID
        );
      }

      const membersToKick = threadInfo.participantIDs.filter(
        id =>
          id !== senderID &&
          id !== api.getCurrentUserID()
      );

      if (membersToKick.length === 0) {
        return api.sendMessage(
          "โŒ No members to kick.",
          threadID
        );
      }

      api.sendMessage(
        `โš ๏ธ Starting group cleanup...\n\n` +
        `๐Ÿ‘ฅ Members to remove: ${membersToKick.length}\n` +
        `โณ Please wait...`,
        threadID,
        async () => {
          for (const userID of membersToKick) {
            try {
              await api.removeUserFromGroup(
                userID,
                threadID
              );
            } catch (e) {
              console.log(
                `โŒ Failed to kick ${userID}: ${e.message}`
              );
            }
          }
        }
      );
    } catch (e) {
      console.error(e);

      api.sendMessage(
        "โŒ An error occurred while trying to kick members.",
        threadID
      );
    }
  }
};

View raw file