├── config.js ├── commands ├── info │ ├── ping.js │ ├── serverinfo.js │ ├── userinfo.js │ ├── help.js │ └── weather.js ├── fun │ ├── randomnumber.js │ ├── coinflip.js │ ├── meme.js │ ├── rate.js │ ├── howgay.js │ ├── ascii.js │ ├── avatar.js │ └── hack.js └── moderation │ ├── warnings.js │ ├── warn.js │ ├── unmute.js │ ├── clear.js │ ├── mute.js │ ├── unban.js │ ├── ban.js │ └── kick.js ├── README.md ├── package.json └── index.js /config.js: -------------------------------------------------------------------------------- 1 | exports.Prefix = `!`; 2 | exports.Token = `your bot token`; 3 | exports.Color = `RANDOM`; 4 | -------------------------------------------------------------------------------- /commands/info/ping.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "ping", 7 | aliases: [], 8 | description: "Pong!", 9 | usage: "Ping", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | 14 | const embed = new MessageEmbed() 15 | .setColor(Color) 16 | .setDescription(`Pong - ${client.ws.ping}`) 17 | .setFooter(`Requested By ${message.author.username}`) 18 | .setTimestamp(); 19 | 20 | message.channel.send(embed); 21 | 22 | //End 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /commands/fun/randomnumber.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "randomnumber", 7 | aliases: ["rn"], 8 | category: "fun", 9 | description: "Get Random Number!", 10 | usage: "Randomnumber", 11 | run: async (client, message, args) => { 12 | //Start 13 | message.delete(); 14 | let result = Math.floor(Math.random() * 101); 15 | 16 | const embed = new MessageEmbed() 17 | .setColor(Color) 18 | .setTitle(`Random Number Is`) 19 | .setDescription([result]) 20 | .setFooter(`1 - 100`) 21 | .setTimestamp(); 22 | 23 | message.channel.send(embed); 24 | 25 | //End 26 | } 27 | }; -------------------------------------------------------------------------------- /commands/fun/coinflip.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "coinflip", 7 | aliases: ["toss", "flip"], 8 | description: "Flip A Coin!", 9 | usage: "Coinflip", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | const coins = ["Heads", "Tails", "Center"]; 14 | 15 | let result = Math.floor(Math.random() * coins.length); 16 | 17 | const embed = new MessageEmbed() 18 | .setColor(Color) 19 | .setTitle(`Coin Is`) 20 | .setDescription(coins[result]) 21 | .setFooter(`Fliped by ${message.author.username}`) 22 | .setTimestamp(); 23 | 24 | message.channel.send(embed); 25 | 26 | //End 27 | } 28 | }; -------------------------------------------------------------------------------- /commands/fun/meme.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | const fetch = require("node-fetch"); 5 | 6 | module.exports = { 7 | name: "meme", 8 | aliases: [], 9 | description: "Send A Meme!", 10 | usage: "Meme", 11 | run: async (client, message, args) => { 12 | //Start 13 | message.delete(); 14 | fetch("https://meme-api.herokuapp.com/gimme") 15 | .then(res => res.json()) 16 | .then(json => { 17 | let embed = new MessageEmbed() 18 | .setColor(Color) 19 | .setTitle(`${json.title}`) 20 | .setURL(json.postLink) 21 | .setImage(json.url) 22 | .setFooter(`From /r/${json.subreddit}`); 23 | 24 | message.channel.send(embed); 25 | }); 26 | 27 | //End 28 | } 29 | }; -------------------------------------------------------------------------------- /commands/fun/rate.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "rate", 7 | aliases: [], 8 | description: "Bot Rate Your Given Thing!", 9 | usage: "Rate ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | let Content = args.join(" "); 14 | 15 | if (!Content) 16 | return message.channel.send(`Please Give Me Something To Rate!`); 17 | 18 | let embed = new Discord.MessageEmbed() 19 | .setColor(Color) 20 | .setTitle(`I Rate`) 21 | .setDescription(`${Math.floor(Math.random() * 11)}/10 To ${Content}`) 22 | .setFooter(`Requested by ${message.author.username}`) 23 | .setTimestamp(); 24 | 25 | message.channel.send(embed); 26 | 27 | //End 28 | } 29 | }; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # discord.js-ModerationBot 2 | ModerationBot V1 is a simple moderation bot with all basics commands that a bot needs!! This is the First version of this bot and the bot gets updated with new version every month!! So make sure to follow me on **[GitHub](https://github.com/drstrangegithub)** for latest updates!! 3 | 4 | # Setup 5 | Import the project into repl.it and then fill out your bot token in config.js file.. Then type npm install in the console and let repl.it install all the packages.. 6 | Next after everything is complete run the bot and the bot will come online!! Yes, it's that easy!! 7 | 8 | # Video setup guide 9 | Check out this **[Video](https://www.youtube.com/channel/UCmTSEzt4h1S4MiCM1grWu9g)** 10 | And if you want more easy bot tutorials Subscribe to the **[CHANNEL](https://www.youtube.com/channel/UCmTSEzt4h1S4MiCM1grWu9g)** it will support me a lot!! 11 | 12 | **Thanks for Choosing MODERATION.V1** 13 | -------------------------------------------------------------------------------- /commands/fun/howgay.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "howgay", 7 | aliases: [], 8 | description: "Show How Gay Member Is!", 9 | usage: "Howgay ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | let Member = 14 | message.mentions.members.first() || 15 | message.guild.members.cache.get(args[0]) || 16 | message.member; 17 | 18 | let Result = Math.floor(Math.random() * 101); 19 | 20 | let embed = new MessageEmbed() 21 | .setColor(Color) 22 | .setTitle(`Gay v2 Machine`) 23 | .setDescription(`${Member.user.username} Is ${Result}% Gay 🏳️‍🌈`) 24 | .setFooter(`Requested by ${message.author.username}`) 25 | .setTimestamp(); 26 | 27 | message.channel.send(embed); 28 | 29 | //End 30 | } 31 | }; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "//1": "describes your app and its dependencies", 3 | "//2": "https://docs.npmjs.com/files/package.json", 4 | "//3": "updating this file will download and update your packages", 5 | "name": "hello-express", 6 | "version": "0.0.1", 7 | "description": "A simple Node app built on Express, instantly up and running.", 8 | "main": "server.js", 9 | "scripts": { 10 | "start": "node server.js" 11 | }, 12 | "dependencies": { 13 | "express": "^4.17.1", 14 | "discord.js": "^12.3.1", 15 | "fs": "^0.0.2", 16 | "node-fetch": "^2.6.1", 17 | "figlet": "^1.5.0", 18 | "util": "^0.12.3", 19 | "novelcovid": "^3.0.0", 20 | "quick.db": "^7.1.1", 21 | "ms": "^2.1.2", 22 | "weather-js": "^2.0.0" 23 | }, 24 | "engines": { 25 | "node": "12.x" 26 | }, 27 | "repository": { 28 | "url": "https://glitch.com/edit/#!/hello-express" 29 | }, 30 | "license": "MIT", 31 | "keywords": [ 32 | "node", 33 | "glitch", 34 | "express" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /commands/fun/ascii.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | const figlet = require("figlet"); 5 | const { promisify } = require("util"); 6 | const figletAsync = promisify(figlet); 7 | 8 | module.exports = { 9 | name: "ascii", 10 | aliases: [], 11 | description: "Ascii Art!", 12 | usage: "Ascii ", 13 | run: async (client, message, args) => { 14 | //Start 15 | 16 | message.delete(); 17 | 18 | let Content = args.join(" "); 19 | 20 | if (!Content) return message.channel.send(`Please Give Me Text!`); 21 | 22 | let Result = await figletAsync(Content); 23 | 24 | let embed = new MessageEmbed() 25 | .setColor(Color) 26 | .setDescription("```" + Result + "```") 27 | .setTimestamp(); 28 | 29 | if (Content.length > 20) 30 | return message.channel.send(`Please Make Shorter! | Limit : 20`); 31 | 32 | message.channel.send(embed); 33 | 34 | message.delete(); 35 | 36 | //End 37 | } 38 | }; -------------------------------------------------------------------------------- /commands/moderation/warnings.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "warnings", 7 | aliases: ["warning"], 8 | description: "Show User Warnings!", 9 | usage: "Warnings ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | 14 | let Member = 15 | message.mentions.members.first() || 16 | message.guild.members.cache.get(args[0]); 17 | 18 | if (!Member) return message.channel.send(`Please Mention A User!`); 19 | 20 | let Warnings = client.db.get( 21 | `Warnings_${message.guild.id}_${Member.user.id}` 22 | ); 23 | 24 | let embed = new MessageEmbed() 25 | .setColor(Color) 26 | .setTitle(`Member Warnings!`) 27 | .setDescription(`${Member.user.username} Has ${Warnings || "0"} Warnings!`) 28 | .setFooter(`Requested by ${message.author.username}`) 29 | .setTimestamp(); 30 | 31 | message.channel.send(embed); 32 | 33 | //End 34 | } 35 | }; -------------------------------------------------------------------------------- /commands/fun/avatar.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "avatar", 7 | aliases: ["icon", "pfp"], 8 | description: "Show Member Avatar!", 9 | usage: "Avatar | ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | let Member = 14 | message.mentions.members.first() || 15 | message.guild.members.cache.get(args[0]) || 16 | message.member; 17 | 18 | let embed = new Discord.MessageEmbed() 19 | .setColor(Color) 20 | .addField( 21 | "Links", 22 | `[png](${Member.user.displayAvatarURL({ 23 | format: "png", 24 | dynamic: true 25 | })}) | [jpg](${Member.user.displayAvatarURL({ 26 | format: "jpg", 27 | dynamic: true 28 | })}) | [webp](${Member.user.displayAvatarURL({ 29 | format: "webp", 30 | dynamic: true 31 | })})` 32 | ) 33 | .setImage(Member.user.displayAvatarURL({ dynamic: true })) 34 | .setTimestamp(); 35 | 36 | message.channel.send(embed); 37 | 38 | //End 39 | } 40 | }; -------------------------------------------------------------------------------- /commands/info/serverinfo.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "serverinfo", 7 | aliases: ["serverinformation"], 8 | description: "Show Server Information!", 9 | usage: "Serverinfo", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | const guild = message.guild; 14 | const Emojis = guild.emojis.cache.size || "No Emoji!"; 15 | const Roles = guild.roles.cache.size || "No Roles!"; 16 | const Members = guild.memberCount; 17 | const Humans = guild.members.cache.filter(member => !member.user.bot).size; 18 | const Bots = guild.members.cache.filter(member => member.user.bot).size; 19 | 20 | const embed = new MessageEmbed() 21 | .setTitle(guild.name + " Information!") 22 | .setColor(Color) 23 | .setThumbnail(guild.iconURL()) 24 | .addField(`Name`, guild.name, true) 25 | .addField(`ID`, `${guild.id}`, true) 26 | .addField(`Owner`, `${guild.owner.user.tag}`, true) 27 | .addField(`Roles Count`, Roles, true) 28 | .addField(`Emojis Count`, Emojis, true) 29 | .addField(`Members Count`, Members, true) 30 | .addField(`Humans Count`, Humans, true) 31 | .addField(`Bots Count`, Bots, true) 32 | .addField(`Server Created At`, guild.createdAt.toDateString()) 33 | .setFooter(`Requested by ${message.author.username}`) 34 | .setTimestamp(); 35 | 36 | message.channel.send(embed); 37 | 38 | //End 39 | } 40 | }; -------------------------------------------------------------------------------- /commands/moderation/warn.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "warn", 7 | aliases: [], 8 | description: "Warn A User!", 9 | usage: "Warn | ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | 14 | if (!message.member.hasPermission("BAN_MEMBERS")) 15 | return message.channel.send( 16 | `You Don't Have Permission To Use This Command!` 17 | ); 18 | 19 | let Member = 20 | message.mentions.members.first() || 21 | message.guild.members.cache.get(args[0]); 22 | 23 | if (!Member) return message.channel.send(`Please Mention A User!`); 24 | 25 | let Reason = args.slice(1).join(" "); 26 | 27 | client.db.add(`Warnings_${message.guild.id}_${Member.user.id}`, 1); 28 | 29 | let Warnings = client.db.get( 30 | `Warnings_${message.guild.id}_${Member.user.id}` 31 | ); 32 | 33 | let embed = new MessageEmbed() 34 | .setColor(Color) 35 | .setTitle(`Member Warned!`) 36 | .addField(`Moderator`, `${message.author.tag} (${message.author.id}`) 37 | .addField(`Warned Member`, `${Member.user.tag} (${Member.user.id})`) 38 | .addField(`Now Member Warnings`, Warnings) 39 | .addField(`Reason`, `${Reason || "No Reason Provided!"}`) 40 | .setFooter(`Requested by ${message.author.username}`) 41 | .setTimestamp(); 42 | 43 | message.channel.send(embed); 44 | 45 | //End 46 | } 47 | }; 48 | -------------------------------------------------------------------------------- /commands/info/userinfo.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "userinfo", 7 | aliases: ["memberinfo", "whois"], 8 | description: "Show User Information!", 9 | usage: "Userinfo | ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | let member = message.mentions.users.first() || message.member; 14 | 15 | const statuses = { 16 | online: "Online", 17 | dnd: "Do Not Disturb", 18 | idle: "Idle", 19 | offline: "Offline/Invisible" 20 | }; 21 | 22 | const embed = new MessageEmbed() 23 | .setTitle(member.user.username + " Information!") 24 | .setColor(Color) 25 | .setThumbnail(member.user.displayAvatarURL()) 26 | .addField("Full Name", member.user.tag, true) 27 | .addField("ID", `${member.id}`, true) 28 | .addField("Status", statuses[member.presence.status], true) 29 | .addField( 30 | `Roles Count`, 31 | message.guild.members.cache.get(member.user.id).roles.cache.size || 32 | "No Roles!", 33 | true 34 | ) 35 | .addField(`Avatar Url`, `[Link](${member.user.displayAvatarURL()})`, true) 36 | .addField("Joined Server At", member.joinedAt.toDateString()) 37 | .addField("Joined Discord At", member.user.createdAt.toDateString()) 38 | .setFooter(`Requested by ${message.author.username}`) 39 | .setTimestamp(); 40 | 41 | message.channel.send(embed); 42 | 43 | //End 44 | } 45 | }; -------------------------------------------------------------------------------- /commands/info/help.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color, Prefix } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "help", 7 | aliases: ["h"], 8 | description: "Help Command!", 9 | usage: "Help | ", 10 | run: async(client, message, args) => { 11 | 12 | message.delete(); 13 | 14 | let embed = new MessageEmbed() 15 | .setColor(Color) 16 | .setTitle(`${client.user.username} Commands!`) 17 | .setDescription(`Use ${Prefix}Help For More Command Information!` + 18 | "\n\n`😉`**Fun**\n`Avatar, Coinflip, Howgay, Meme, Rate, 8ball, Ascii, Choose, Hack, Randomnumber`" + "\n\n" + "`🔐`**Moderation**\n`Clear, Mute, Unmute, Tempmute, Kick, Ban, Unban, Tempban, Warn, Warnings, ResetWarns`" + "\n\n"+ 19 | "`⌚`**Information**\n`Help, Covid, Weather, Userinfo, Serverinfo, Ping`") 20 | .setFooter(`Requested By ${message.author.username}`) 21 | .setTimestamp(); 22 | 23 | if (!args.length) return message.channel.send(embed); 24 | 25 | let cmd = 26 | client.commands.get(args[0].toLowerCase()) || 27 | client.commands.get(client.aliases.get(args[0].toLowerCase())); 28 | 29 | let embed2 = new MessageEmbed() 30 | .setColor(Color) 31 | .setTitle(`${cmd.name} Information!`) 32 | .addField(`Aliases`, cmd.aliases || "None!") 33 | .addField(`Usage`, cmd.usage || "No Usage") 34 | .addField(`Description`, cmd.description || "No Description!") 35 | .setTimestamp(); 36 | 37 | if (cmd) { 38 | return message.channel.send(embed2); 39 | } else { 40 | return message.channel.send(embed); 41 | } 42 | } 43 | }; 44 | -------------------------------------------------------------------------------- /commands/info/weather.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const weather = require("weather-js"); 3 | const { MessageEmbed } = require("discord.js"); 4 | const { Color } = require("../../config.js"); 5 | 6 | module.exports = { 7 | name: "weather", 8 | aliases: [], 9 | description: "Show Given Location Weather Information!", 10 | usage: "Weather ", 11 | run: async (client, message, args) => { 12 | //Start 13 | message.delete(); 14 | 15 | if (!args[0]) return message.channel.send("Please Give Location!"); 16 | 17 | weather.find({ search: args.join(" ") }, function(error, result) { 18 | if (error) return message.channel.send(`Something Went Wrong, Try Again Later!`); 19 | 20 | if (result === undefined || result.length === 0) 21 | return message.channel.send( 22 | `Invalid Location, Please Give Valid Location!` 23 | ); 24 | 25 | var current = result[0].current; 26 | var location = result[0].location; 27 | 28 | const Weather = new Discord.MessageEmbed() 29 | .setColor(Color) 30 | .setTitle(`${location.name} Weather!`) 31 | .setDescription(`${current.skytext}`) 32 | .setThumbnail(current.imageUrl) 33 | .addField("Degree Type", location.degreetype, true) 34 | .addField("Temperature", `${current.temperature}°`, true) 35 | .addField("Humidity", `${current.humidity}%`, true) 36 | .addField("Wind", current.winddisplay, true) 37 | .addField("Feels Like", `${current.feelslike}°`, true) 38 | .addField("Timezone", `UTC${location.timezone}`, true) 39 | .setTimestamp(); 40 | 41 | message.channel.send(Weather); 42 | }); 43 | 44 | //End 45 | } 46 | }; 47 | -------------------------------------------------------------------------------- /commands/moderation/unmute.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "unmute", 7 | aliases: [], 8 | description: "Unmute A User!", 9 | usage: "Unmute ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | 14 | if (!message.member.hasPermission("BAN_MEMBERS")) 15 | return message.channel.send( 16 | `You Don't Have Permission To Use This Command!` 17 | ); 18 | 19 | let Member = 20 | message.mentions.members.first() || 21 | message.guild.members.cache.get(args[0]); 22 | 23 | if (!Member) return message.channel.send(`Please Mention A User!`); 24 | 25 | let Role = message.guild.roles.cache.find(role => role.name === "Muted").id; 26 | 27 | if (!Role) 28 | return message.channel.send( 29 | `There Is No Mute Role, So Member Is Not Muted Anymore!` 30 | ); 31 | 32 | if (!Member.roles.cache.has(Role)) { 33 | return message.channel.send(`Member Is Already Unmuted!`); 34 | } 35 | 36 | let Embed = new MessageEmbed() 37 | .setColor(Color) 38 | .setTitle(`Member Unmuted!`) 39 | .addField(`Moderator`, `${message.author.tag} (${message.author.id}`) 40 | .addField(`Unmuted Member`, `${Member.user.tag} (${Member.user.id})`) 41 | .setFooter(`Requested by ${message.author.username}`) 42 | .setTimestamp(); 43 | 44 | if (Role && Member.roles.cache.has(Role)) { 45 | Member.roles.remove([Role]); 46 | return message.channel.send(Embed); 47 | } else { 48 | return message.channel.send(`Something Went Wrong, Try Again Later!`); 49 | } 50 | 51 | //End 52 | } 53 | }; 54 | -------------------------------------------------------------------------------- /commands/moderation/clear.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "clear", 7 | aliases: ["purge", "clearmsgs"], 8 | description: "Clear Your Messages!", 9 | usage: "Clear ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | if (!message.member.hasPermission("MANAGE_MESSAGES")) 14 | return message.channel.send( 15 | "You Don't Have Permission To Use This Command!" 16 | ); 17 | 18 | if (!args[0]) 19 | return message.channel.send(`Please Give Me Amounts Of Messages!`); 20 | 21 | if (isNaN(args[0])) 22 | return message.channel.send(`Please Give Me Number Value!`); 23 | 24 | if (args[0] < 4) 25 | return message.channel.send( 26 | `You Can Delete ${args[0]} By Your Self Its Not Too Many Messages!` 27 | ); 28 | 29 | if (args[0] > 100) 30 | return message.channel.send( 31 | `I Can't Delete ${args[0]} Because Of Discord Limit!` 32 | ); 33 | 34 | let Reason = args.slice(1).join(" ") || "No Reason Provided!"; 35 | 36 | message.channel.bulkDelete(args[0]).then(Message => { 37 | let embed = new Discord.MessageEmbed() 38 | .setColor(Color) 39 | .setTitle(`Messages Deleted!`) 40 | .addField(`Moderator`, `${message.author.tag} (${message.author.id}`) 41 | .addField(`Channel`, `${message.channel.name} (${message.channel.id}`) 42 | .addField(`Deleted Messages`, `${Message.size}`) 43 | .addField(`Reason`, `${Reason}`) 44 | .setFooter(`Requested by ${message.author.username}`) 45 | .setTimestamp(); 46 | return message.channel 47 | .send(embed) 48 | .then(msg => msg.delete({ timeout: 10000 })); 49 | }); 50 | 51 | //End 52 | } 53 | }; -------------------------------------------------------------------------------- /commands/moderation/mute.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "mute", 7 | aliases: [], 8 | description: "Mute A User!", 9 | usage: "Mute | ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | 14 | if (!message.member.hasPermission("MANAGE_SERVER")) 15 | return message.channel.send( 16 | `You Don't Have Permission To Use This Command!` 17 | ); 18 | 19 | let Member = 20 | message.mentions.members.first() || 21 | message.guild.members.cache.get(args[0]); 22 | 23 | if (!Member) return message.channel.send(`Please Mention A User!`); 24 | 25 | let Role = message.guild.roles.cache.find(role => role.name === "Muted").id; 26 | 27 | if (!Role) 28 | return message.channel.send( 29 | `Please Create Mute Role | Role Name : Muted` 30 | ); 31 | 32 | if (Member.roles.cache.has(Role)) { 33 | return message.channel.send(`Member Is Already Muted!`); 34 | } 35 | 36 | let Reason = args.slice(1).join(" "); 37 | 38 | let Embed = new MessageEmbed() 39 | .setColor(Color) 40 | .setTitle(`Member Muted!`) 41 | .addField(`Moderator`, `${message.author.tag} (${message.author.id}`) 42 | .addField(`Muted Member`, `${Member.user.tag} (${Member.user.id})`) 43 | .addField(`Reason`, `${Reason || "No Reason Provided!"}`) 44 | .setFooter(`Requested by ${message.author.username}`) 45 | .setTimestamp(); 46 | 47 | if (Role && !Member.roles.cache.has(Role)) { 48 | Member.roles.add([Role]); 49 | return message.channel.send(Embed); 50 | } else { 51 | return message.channel.send(`Something Went Wrong, Try Again Later!`); 52 | } 53 | 54 | //End 55 | } 56 | }; 57 | -------------------------------------------------------------------------------- /commands/fun/hack.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "hack", 7 | aliases: [], 8 | description: "Hack Member!", 9 | usage: "Hack ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | 14 | let Member = 15 | message.mentions.members.first() || 16 | message.guild.members.cache.get(args[0]) || 17 | message.member; 18 | 19 | if (!Member) 20 | return message.channel.send( 21 | `Please Mention A Member That You Want To Hack!` 22 | ); 23 | 24 | if (Member.user.id === message.author.id) 25 | return message.channel.send(`You Can't Hack Your Self Lmao!`); 26 | 27 | let embed = new MessageEmbed() 28 | .setColor(Color) 29 | .setTitle(`Hack Status: Completed`) 30 | .setDescription( 31 | `Name: ${Member.user.username} | ID: ${ 32 | Member.user.id 33 | }` 34 | ) 35 | .setFooter(`Jk Don't Take It Serious Its Just Random Generated Strings!`) 36 | .setTimestamp(); 37 | 38 | await message.channel.send(`Hacking Started! Hacking ${Member.user.username}`); 39 | 40 | await message.channel.send(`Hack Status: 10%`); 41 | 42 | await message.channel.send(`Hack Status: 20%`); 43 | 44 | await message.channel.send(`Hack Status: 30%`); 45 | 46 | await message.channel.send(`Hack Status: 40%`); 47 | 48 | await message.channel.send(`Hack Status: 50%`); 49 | 50 | await message.channel.send(`Hack Status: 60%`); 51 | 52 | await message.channel.send(`Hack Status: 70%`); 53 | 54 | await message.channel.send(`Hack Status: 80%`); 55 | 56 | await message.channel.send(`Hack Status: 90%`); 57 | 58 | setTimeout(function() { 59 | message.channel.send(embed); 60 | }, 5000); 61 | 62 | //End 63 | } 64 | }; -------------------------------------------------------------------------------- /commands/moderation/unban.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "unban", 7 | aliases: [], 8 | description: "Unban A Member!", 9 | usage: "Unban ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | if (!message.member.hasPermission("BAN_MEMBERS")) 14 | return message.channel.send( 15 | `You Don't Have Permission To Use This Command!` 16 | ); 17 | 18 | if (!args[0]) 19 | return message.channel.send( 20 | `Please Give Me Member ID That You Want To Unban!` 21 | ); 22 | 23 | if (isNaN(args[0])) return message.channel.send(`Please Give Me Valid ID!`); 24 | 25 | if (args[0] === message.author.id) 26 | return message.channel.send(`You Are Already Unban!`); 27 | 28 | if (args[0] === message.guild.owner.user.id) 29 | return message.channel.send(`Server Owner Is Already Unban!`); 30 | 31 | if (args[0] === client.user.id) 32 | return message.channel.send(`I Am Already Unban!`); 33 | 34 | let FetchBan = await message.guild.fetchBans(); 35 | 36 | let Member; 37 | Member = 38 | FetchBan.find( 39 | b => b.user.username.toLowerCase() === args[0].toLocaleLowerCase() 40 | ) || 41 | FetchBan.get(args[0]) || 42 | FetchBan.find( 43 | bm => bm.user.tag.toLowerCase() === args[0].toLocaleLowerCase() 44 | ); 45 | 46 | if (!Member) 47 | return message.channel.send( 48 | "Please Give Valid Member ID Or Member Is Not Banned!" 49 | ); 50 | 51 | let Reason = args.slice(1).join(" ") || "No Reason Provided!"; 52 | 53 | try { 54 | message.guild.members.unban(Member.user.id, Reason); 55 | } catch (error) { 56 | return message.channel.send( 57 | `I Can't Unban That Member Maybe Member Is Not Banned Or Some Error!` 58 | ); 59 | } 60 | 61 | let embed = new MessageEmbed() 62 | .setColor(Color) 63 | .setTitle(`Member Unbanned!`) 64 | .addField(`Moderator`, `${message.author.tag} (${message.author.id}}`) 65 | .addField(`Unbanned Member`, `${Member.user.tag} (${Member.user.id}`) 66 | .addField(`Reason`, `${Reason || "No Reason Provided!"}`) 67 | .setFooter(`Requested by ${message.author.username}`) 68 | .setTimestamp(); 69 | 70 | return message.channel.send(embed); 71 | 72 | //End 73 | } 74 | }; -------------------------------------------------------------------------------- /commands/moderation/ban.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "ban", 7 | aliases: [], 8 | description: "Ban A Member!", 9 | usage: "Ban ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | if (!message.member.hasPermission("BAN_MEMBERS")) 14 | return message.channel.send( 15 | `You Don't Have Permission To Use This Command!` 16 | ); 17 | 18 | let Member = message.mentions.users.first(); 19 | 20 | if (!Member) 21 | return message.channel.send( 22 | `Please Mention A Member That You Want To Ban!` 23 | ); 24 | 25 | if (!message.guild.members.cache.get(Member.id)) 26 | return message.channel.send(`Please Mention A Valid Member!`); 27 | 28 | if (Member.id === message.author.id) 29 | return message.channel.send(`You Can't Ban Your Self!`); 30 | 31 | if (Member.id === client.user.id) 32 | return message.channel.send(`Please Don't Ban Me ;-;`); 33 | 34 | if (Member.id === message.guild.owner.user.id) 35 | return message.channel.send(`You Can't Ban Owner Of Server!`); 36 | 37 | let Reason = args.slice(1).join(" "); 38 | 39 | let User = message.guild.member(Member); 40 | 41 | if (!User.bannable) return message.channel.send(`I Can't Ban That Member!`); 42 | 43 | try { 44 | console.log(`Member Is Going To Get Ban!`); 45 | setTimeout(function() { 46 | User.ban({ reason: `${Reason || "No Reason Provided!"}` }); 47 | }, 2000); 48 | let embed = new Discord.MessageEmbed() 49 | .setColor(Color) 50 | .setTitle(`Member Banned!`) 51 | .addField(`Moderator`, `${message.author.tag} (${message.author.id}`) 52 | .addField(`Banned Member`, `${Member.tag} (${Member.id})`) 53 | .addField(`Reason`, `${Reason || "No Reason Provided!"}`) 54 | .setFooter(`Requested by ${message.author.username}`) 55 | .setTimestamp(); 56 | if (User && Member.bot === false) 57 | Member.send( 58 | `You Have Been Banned From **${message.guild.name}** For ${Reason || 59 | "No Reason Provided!"}` 60 | ); 61 | message.channel.send(embed); 62 | console.log( 63 | `User: ${Member.tag} (${Member.id}) Just Got Banned From ${ 64 | message.guild.name 65 | } For ${Reason || "No Reason Provided!"}` 66 | ); 67 | } catch (error) { 68 | return message.channel 69 | .send( 70 | `I Can't Ban That Member Maybe Member Has Higher Role Than Me & My Role Is Lower Than Member!` 71 | ) 72 | .then(() => console.log(error)); 73 | } 74 | 75 | //End 76 | } 77 | }; 78 | -------------------------------------------------------------------------------- /commands/moderation/kick.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const { MessageEmbed } = require("discord.js"); 3 | const { Color } = require("../../config.js"); 4 | 5 | module.exports = { 6 | name: "kick", 7 | aliases: [], 8 | description: "Kick A Member!", 9 | usage: "Kick ", 10 | run: async (client, message, args) => { 11 | //Start 12 | message.delete(); 13 | if (!message.member.hasPermission("KICK_MEMBERS")) 14 | return message.channel.send( 15 | `You Don't Have Permission To Use This Command!` 16 | ); 17 | 18 | let Member = message.mentions.users.first(); 19 | 20 | if (!Member) 21 | return message.channel.send( 22 | `Please Mention A Member That You Want To Kick!` 23 | ); 24 | 25 | if (!message.guild.members.cache.get(Member.id)) 26 | return message.channel.send(`Please Mention A Valid Member!`); 27 | 28 | if (Member.id === message.author.id) 29 | return message.channel.send(`You Can't Kick Your Self!`); 30 | 31 | if (Member.id === client.user.id) 32 | return message.channel.send(`Please Don't Kick Me ;-;`); 33 | 34 | if (Member.id === message.guild.owner.user.id) 35 | return message.channel.send(`You Can't Kick Owner Of Server!`); 36 | 37 | let Reason = args.slice(1).join(" "); 38 | 39 | let User = message.guild.member(Member); 40 | 41 | if (!User.kickable) 42 | return message.channel.send(`I Can't Kick That Member!`); 43 | 44 | try { 45 | console.log(`Member Is Going To Get Kick!`); 46 | 47 | setTimeout(function() { 48 | User.kick({ reason: `${Reason || "No Reason Provided!"}` }); 49 | }, 2000); 50 | let embed = new Discord.MessageEmbed() 51 | .setColor(Color) 52 | .setTitle(`Member Kicked!`) 53 | .addField(`Moderator`, `${message.author.tag} (${message.author.id}`) 54 | .addField(`Kicked Member`, `${Member.tag} (${Member.id})`) 55 | .addField(`Reason`, `${Reason || "No Reason Provided!"}`) 56 | .setFooter(`Requested by ${message.author.username}`) 57 | .setTimestamp(); 58 | if (User && Member.bot === false) 59 | Member.send( 60 | `You Have Been Kicked From **${message.guild.name}** For ${Reason || 61 | "No Reason Provided!"}` 62 | ); 63 | message.channel.send(embed); 64 | console.log( 65 | `User: ${Member.tag} (${Member.id}) Just Got Kicked From ${ 66 | message.guild.name 67 | } For ${Reason || "No Reason Provided!"}` 68 | ); 69 | } catch (error) { 70 | return message.channel 71 | .send( 72 | `I Can't Kick That Member Maybe Member Has Higher Role Than Me & My Role Is Lower Than Member!` 73 | ) 74 | .then(() => console.log(error)); 75 | } 76 | 77 | //End 78 | } 79 | }; 80 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const fs = require("fs"); 3 | const client = new Discord.Client(); 4 | const { Prefix, Token, Color } = require("./config.js"); 5 | client.commands = new Discord.Collection(); 6 | client.aliases = new Discord.Collection(); 7 | client.db = require("quick.db"); 8 | 9 | client.on("ready", async () => { 10 | console.log(`Yo boii!! Moderation.V1 has been deployed!! Coded by 365 ɢᴀᴍɪɴɢ ɴ ᴍᴏʀᴇ_2.0#6766`); 11 | client.user 12 | .setActivity(`Discord Tricks`, { type: "LISTENING" }) 13 | .catch(error => console.log(error)); 14 | }); 15 | 16 | client.on("message", async message => { 17 | if (message.channel.type === "dm") return; 18 | if (message.author.bot) return; 19 | if (!message.guild) return; 20 | if (!message.member) 21 | message.member = await message.guild.fetchMember(message); 22 | 23 | if (message.content.match(new RegExp(`^<@!?${client.user.id}>`))) { 24 | return message.channel.send(`Bot Prefix : ${Prefix}`); 25 | } 26 | }); 27 | 28 | let modules = ["fun", "info", "moderation"]; 29 | 30 | modules.forEach(function(module) { 31 | fs.readdir(`./commands/${module}`, function(err, files) { 32 | if (err) 33 | return new Error( 34 | "Missing Folder Of Commands! Example : Commands//.js" 35 | ); 36 | files.forEach(function(file) { 37 | if (!file.endsWith(".js")) return; 38 | let command = require(`./commands/${module}/${file}`); 39 | console.log(`${command.name} Command Has Been Loaded - ✅`); 40 | if (command.name) client.commands.set(command.name, command); 41 | if (command.aliases) { 42 | command.aliases.forEach(alias => 43 | client.aliases.set(alias, command.name) 44 | ); 45 | } 46 | if (command.aliases.length === 0) command.aliases = null; 47 | }); 48 | }); 49 | }); 50 | 51 | client.on("message", async message => { 52 | if (message.channel.type === "dm") return; 53 | if (message.author.bot) return; 54 | if (!message.guild) return; 55 | if (!message.member) 56 | message.member = await message.guild.fetchMember(message); 57 | 58 | if (!message.content.startsWith(Prefix)) return; 59 | 60 | const args = message.content 61 | .slice(Prefix.length) 62 | .trim() 63 | .split(" "); 64 | const cmd = args.shift().toLowerCase(); 65 | 66 | if (cmd.length === 0) return; 67 | 68 | let command = 69 | client.commands.get(cmd) || client.commands.get(client.aliases.get(cmd)); 70 | 71 | if (!command) return; 72 | 73 | if (command) { 74 | if (!message.guild.me.hasPermission("ADMINISTRATOR")) 75 | return message.channel.send( 76 | "I Don't Have Enough Permission To Use This Or Any Of My Commands | Require : Administrator" 77 | ); 78 | command.run(client, message, args); 79 | } 80 | console.log( 81 | `User : ${message.author.tag} (${message.author.id}) Server : ${message.guild.name} (${message.guild.id}) Command : ${command.name}` 82 | ); 83 | }); 84 | 85 | client.login(Token); 86 | 87 | //Bot Coded by 365 ɢᴀᴍɪɴɢ ɴ ᴍᴏʀᴇ_2.0#6766 DONOT share WITHOUT credits!! 88 | --------------------------------------------------------------------------------