├── .gitignore ├── LICENSE ├── README.md ├── colors.json ├── commands ├── 4k.js ├── 8ball.js ├── about.js ├── add-xp.js ├── add.js ├── addmoney.js ├── addrole.js ├── afk.js ├── aki.js ├── anal.js ├── ascii.js ├── ass.js ├── avatar.js ├── balance.js ├── ban.js ├── binary.js ├── blowjob.js ├── boobs.js ├── bothelp.js ├── botinfo.js ├── botstats.js ├── bump.js ├── buy.js ├── category.js ├── changemymind.js ├── channelinfo.js ├── clac.js ├── clear.js ├── clearqueue.js ├── close.js ├── clown.js ├── coinflip.js ├── covid.js ├── create-role.js ├── dababy.js ├── daily.js ├── dc.js ├── decode.js ├── delete-vc.js ├── delete.js ├── dice.js ├── disable-loop.js ├── disablemodlog.js ├── disablerankch.js ├── economyhelp.js ├── embed.js ├── emoji-info.js ├── emojis.js ├── emotions.js ├── end-giveaway.js ├── findemoji.js ├── funhelp.js ├── ga-reroll.js ├── gamble.js ├── game.js ├── generalhelp.js ├── github.js ├── giveaway.js ├── giveawayhelp.js ├── gonewild.js ├── google.js ├── help.js ├── hentai.js ├── howgay.js ├── hug.js ├── idban.js ├── infohelp.js ├── inv.js ├── jail.js ├── joke.js ├── kick.js ├── kill.js ├── kiss.js ├── leave-help.js ├── leavemsghelp.js ├── lock.js ├── loop.js ├── lottery.js ├── love.js ├── members.js ├── meme.js ├── modhelp.js ├── modloghelp.js ├── moneyleaderboard.js ├── monthly.js ├── music-help.js ├── mute.js ├── np.js ├── nsfwhelp.js ├── open.js ├── pat.js ├── pause.js ├── pet.js ├── phcomment.js ├── ping.js ├── play-vc.js ├── play.js ├── playstore.js ├── porngif.js ├── pp.js ├── premium.js ├── profile.js ├── pussy.js ├── queue.js ├── rank.js ├── ranklb.js ├── ranksetup.js ├── record-vc.js ├── reminder.js ├── remove-money.js ├── remove.js ├── removerole.js ├── report.js ├── resetleave.js ├── resetleavemsg.js ├── resettextleave-msg.js ├── resettextleave.js ├── resettextwlc-ch.js ├── resettextwlc-msg.js ├── resetwarns.js ├── resetwlc-embed.js ├── resetwlc.js ├── resetwlcimg.js ├── resetwlcmsg-embed.js ├── resetwlcmsg.js ├── resume.js ├── rip.js ├── rob.js ├── roleall.js ├── roleinfo.js ├── roll.js ├── roulette.js ├── rps.js ├── rr.js ├── rrdelete.js ├── rrhelp.js ├── say.js ├── screenshot.js ├── server.js ├── serveravatar.js ├── serverinfo.js ├── setleave.js ├── setleavemsg.js ├── setmodlog.js ├── setnickname.js ├── setprefix.js ├── setrankbg.js ├── setrankchannel.js ├── settextleave-msg.js ├── settextleave.js ├── settextwlc.js ├── settextwlcmsg.js ├── setwelcome.js ├── setwlc-embed.js ├── setwlcimage.js ├── setwlcmessage.js ├── setwlcmsg-embed.js ├── shop.js ├── shuffle.js ├── site.js ├── skip.js ├── slap.js ├── slowmode.js ├── spank.js ├── spotify.js ├── suggestion.js ├── svpoints.js ├── tempmute.js ├── text-channel.js ├── textleavemsg-help.js ├── textwlcmsg-help.js ├── thigh.js ├── ticket-message.js ├── ticket.js ├── ticketsetup.js ├── transcript.js ├── transfer.js ├── translate.js ├── trash.js ├── trigger.js ├── tweet.js ├── unban.js ├── unlock.js ├── unmute.js ├── uptime.js ├── userinfo.js ├── voice-channel.js ├── voicekick.js ├── volume.js ├── vote.js ├── warn.js ├── warnings.js ├── weather.js ├── webhook.js ├── weekly.js ├── wiki.js ├── wlcembedmsghelp.js ├── wlchelp.js ├── wlcmsghelp.js ├── work.js ├── would-you-rather.js ├── yt-search.js ├── ytstas.js └── yttogether.js ├── config.json ├── index.js ├── messages └── wyr │ └── would-you-rather.json ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | config.json 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 DevEvil 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /colors.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "5D40F2", 3 | "blue": "010535", 4 | "red": "FF0004", 5 | "black": "000000", 6 | "green": "00FF1D", 7 | "pink": "FF00E9", 8 | "yellow":"FFE900" 9 | } -------------------------------------------------------------------------------- /commands/4k.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const superagent = require('superagent') 3 | const colors = require('../colors.json') 4 | 5 | module.exports = { 6 | name: "4k", 7 | 8 | async run (client, message, args) { 9 | if (message.channel.nsfw === true) { 10 | superagent.get('https://nekobot.xyz/api/image') 11 | .query({ type: '4k'}) 12 | .end((err, response) => { 13 | const porn = new Discord.MessageEmbed() 14 | .setTitle('Enjoy :smiling_imp:') 15 | .setImage(response.body.message) 16 | .setColor(colors.main) 17 | message.channel.send(porn) 18 | }); 19 | } else { 20 | message.channel.send(" **This isn't NSFW channel**") 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /commands/8ball.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js") 2 | const colors = require('../colors.json') 3 | const ms = require('ms'); 4 | 5 | module.exports = { 6 | name: "8ball", 7 | 8 | async run(client, message, args) { 9 | if(!args[1]) return message.reply(" **Plesae enter a full question with 2 or more words**"); 10 | let replies = ["Yes", "No", "I don't know", "Ask again later!","I am not sure!",]; 11 | 12 | let result = Math.floor((Math.random() * replies.length)); 13 | let question = args.join(" "); 14 | 15 | let ballembed = new Discord.MessageEmbed() 16 | 17 | .setAuthor(message.author.username) 18 | .setColor(colors.main) 19 | .addField("Question", `**${question}**`) 20 | .addField("Answer", `**${replies[result]}**`); 21 | 22 | message.channel.send(ballembed) 23 | 24 | message.delete(); 25 | 26 | 27 | } 28 | } -------------------------------------------------------------------------------- /commands/about.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | 4 | module.exports = { 5 | name: "about", 6 | 7 | async run (client, message, args) { 8 | let messageArry = message.content.split(" ") 9 | let cmd = messageArry[0]; 10 | const about = new Discord.MessageEmbed() 11 | .setTitle('About') 12 | .setDescription('**DevEvil.xyz is a multifunctional bot that simplifies server management, Created by DevEvil#8745**\n**Also features Games , Fun , NSFW and much more**') 13 | .setThumbnail(client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 14 | .setColor(colors.main) 15 | message.channel.send(about) 16 | } 17 | } -------------------------------------------------------------------------------- /commands/add-xp.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | 6 | module.exports = { 7 | name: "add-xp", 8 | 9 | async run (client, message, args) { 10 | let pr = db.get(`premium_${message.author.id}`); 11 | 12 | if(!pr) { 13 | return message.channel.send(' **This is premium command**') 14 | } 15 | 16 | let user = message.author; 17 | 18 | 19 | if (!args[0]) return message.reply(' **Please specify an amount to add**') 20 | if (isNaN(args[0])) return message.reply(' **That was not a valid number**') 21 | 22 | message.channel.send(` **Successfully added ${args[0]} xp to ${user.tag}**`) 23 | 24 | db.add(`level_${message.guild.id}_${user.id}`, args[0]) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /commands/add.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | 6 | module.exports = { 7 | name: "add", 8 | 9 | async run (client, message, args) { 10 | let prefix = await db.get(`prefix_${message.guild.id}`); 11 | if(prefix === null) prefix = default_prefix; 12 | 13 | if(!message.guild.me.hasPermission("MOVE_MEMBERS")) return message.channel.send(' **I do not have the correct permissions | Permission : MOVE_MEMBERS**') 14 | 15 | if(message.channel.name.includes('ticket-')) { 16 | const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(x => x.user.username === args.slice(0).join(' ') || x.user.username === args[0]); 17 | if(!member) { 18 | return message.channel.send(`** Incorrect Usage, Correct Usage : ${prefix}add **`); 19 | } 20 | try{ 21 | message.channel.updateOverwrite(member.user, { 22 | VIEW_CHANNEL: true, 23 | SEND_MESSAGES: true, 24 | ATTACH_FILES: true, 25 | READ_MESSAGE_HISTORY: true, 26 | }).then(() => { 27 | message.channel.send(` **Successfully added ${member} to ${message.channel}**`); 28 | }); 29 | } 30 | catch(e) { 31 | return message.channel.send(' **An error occurred, please try again**'); 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /commands/addmoney.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | 6 | module.exports = { 7 | name: "add-money", 8 | 9 | async run (client, message, args) { 10 | let pr = db.get(`premium_${message.author.id}`); 11 | 12 | if(!pr) { 13 | return message.channel.send(' **This is premium command**') 14 | } 15 | 16 | let target = db.get(`userb_${message.author.id}`); 17 | 18 | const ban_error = new Discord.MessageEmbed() 19 | .setDescription(' **You are banned from using this section | Reason : Abuse\n[Contact](https://devevilbot.xyz/contact) with the [owner of the bot](https://discord.com/users/468132563714703390) to appeal a permanent ban**') 20 | .setColor(color.main) 21 | 22 | if(target) { 23 | return message.reply(ban_error) 24 | } 25 | 26 | if(!message.guild.me.hasPermission("MANAGE_CHANNELS")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_CHANNELS**') 27 | 28 | if (!args[0]) return message.reply(' **Please specify an amount to add**') 29 | if (isNaN(args[0])) return message.reply(' **That was not a valid number**') 30 | 31 | try{ 32 | let user = message.mentions.users.first() || message.author 33 | message.channel.send(` **Successfully added ${args[0]} to ${user.tag}**`) 34 | db.add(`money_${user.id}`, args[0]) 35 | } 36 | catch(e) { 37 | return message.channel.send(' **An error occurred, please try again**'); 38 | } 39 | 40 | } 41 | } -------------------------------------------------------------------------------- /commands/addrole.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js') 2 | 3 | module.exports = { 4 | name: "addrole", 5 | 6 | async run (client, message, args) { 7 | if(!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send(' **You can not use this command | Permission: MANAGE_ROLES**') 8 | if(!message.guild.me.hasPermission("MANAGE_ROLES")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_ROLES**') 9 | 10 | try{ 11 | 12 | let user = message.mentions.members.first() 13 | if(!user) return message.channel.send(' **You need to mention the user**') 14 | 15 | let role = message.mentions.roles.first() 16 | if(!role) return message.channel.send(' **You need to mention the role**') 17 | if (message.guild.me.roles.highest.comparePositionTo(role) <= 0) return message.channel.send(' **Role Is Currently Higher Than Me Therefore Cannot Add It To The User**') 18 | 19 | message.channel.send(` ${user} **now has the** ${role} **role**`) 20 | user.roles.add(role) 21 | } 22 | catch(e) { 23 | return message.channel.send(' **An error occurred, please try again**'); 24 | } 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /commands/afk.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const client = new Discord.Client(); 4 | const ms = require("ms"); 5 | const db = require('quick.db') 6 | 7 | module.exports = { 8 | name: "afk", 9 | 10 | async run (client, message, args) { 11 | let user = message.author; 12 | let time = args[0]; 13 | let reason = args.slice(1).join(' '); 14 | 15 | 16 | if(!time) return message.channel.send(" **Please specify an time**"); 17 | 18 | const embed = new Discord.MessageEmbed() 19 | .setDescription(`**You are now AFK**`) 20 | .setColor(colors.main) 21 | message.channel.send(embed) 22 | 23 | setTimeout(function(){ 24 | const unmute = new Discord.MessageEmbed() 25 | .setColor(colors.main) 26 | .setDescription(`**You are no longer AFK**`) 27 | message.channel.send(user, unmute) 28 | 29 | }, ms(time)); 30 | } 31 | 32 | 33 | 34 | } -------------------------------------------------------------------------------- /commands/anal.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const superagent = require('superagent') 3 | const colors = require('../colors.json') 4 | 5 | module.exports = { 6 | name: "anal", 7 | 8 | async run (client, message, args) { 9 | if (message.channel.nsfw === true) { 10 | superagent.get('https://nekobot.xyz/api/image') 11 | .query({ type: 'anal'}) 12 | .end((err, response) => { 13 | const anal = new Discord.MessageEmbed() 14 | .setTitle('Enjoy :smiling_imp:') 15 | .setImage(response.body.message) 16 | .setColor(colors.main) 17 | message.channel.send(anal) 18 | }); 19 | } else { 20 | message.channel.send(" **This isn't NSFW channel**") 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /commands/ascii.js: -------------------------------------------------------------------------------- 1 | 2 | const figlet = require('figlet'); 3 | 4 | module.exports = { 5 | name: "ascii", 6 | description: "Converts text to ascii", 7 | 8 | async run (client, message, args){ 9 | if(!args[0]) return message.channel.send(' **Please provide some text**'); 10 | 11 | msg = args.join(" "); 12 | 13 | figlet.text(msg, function (err, data){ 14 | if(err){ 15 | console.log('Something went wrong'); 16 | console.dir(err); 17 | } 18 | if(data.length > 2000) return message.channel.send(' **Please provide text shorter than 2000 characters**') 19 | 20 | message.channel.send('```' + data + '```') 21 | }) 22 | } 23 | } -------------------------------------------------------------------------------- /commands/ass.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const superagent = require('superagent') 3 | const colors = require('../colors.json') 4 | 5 | module.exports = { 6 | name: "ass", 7 | 8 | async run (client, message, args) { 9 | if (message.channel.nsfw === true) { 10 | superagent.get('https://nekobot.xyz/api/image') 11 | .query({ type: 'ass'}) 12 | .end((err, response) => { 13 | const ass = new Discord.MessageEmbed() 14 | .setTitle('Enjoy :smiling_imp:') 15 | .setImage(response.body.message) 16 | .setColor(colors.main) 17 | message.channel.send(ass) 18 | }); 19 | } else { 20 | message.channel.send(" **This isn't NSFW channel**") 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /commands/avatar.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | 4 | module.exports = { 5 | name: "avatar", 6 | description: "Brodcast someone's avatar", 7 | 8 | async run (client, message, args) { 9 | 10 | let member = message.mentions.users.first() || message.author 11 | 12 | let avatar = member.displayAvatarURL({ format: 'png', dynamic: true, size: 1024}) 13 | 14 | 15 | const embed = new Discord.MessageEmbed() 16 | .setTitle(`Avatar URL`) 17 | .setURL(avatar) 18 | .setImage(avatar) 19 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 20 | .setColor(colors.main) 21 | 22 | message.channel.send(embed); 23 | } 24 | } -------------------------------------------------------------------------------- /commands/balance.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | 6 | module.exports = { 7 | name: "balance", 8 | 9 | async run (client, message, args) { 10 | let user = message.mentions.users.first() || message.author 11 | let bal = await db.fetch(`money_${user.id}`) 12 | 13 | if (bal === null) bal = 0; 14 | 15 | 16 | const embed = new Discord.MessageEmbed() 17 | .setColor(color.main) 18 | .setTitle(`Balance of ${user.tag}`) 19 | .addField("Balance", `**${(bal).toLocaleString()} <:DevEvilBot_Coin:867679208855437333>**`) 20 | .setThumbnail(user.displayAvatarURL({size: 4096, dynamic: true})) 21 | return message.channel.send(embed); 22 | 23 | 24 | } 25 | } -------------------------------------------------------------------------------- /commands/ban.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const colors = require('../colors.json') 3 | const db = require('quick.db') 4 | module.exports = { 5 | name: "ban", 6 | description: "Ban a member from the server", 7 | 8 | async run (client, message, args) { 9 | let member = message.mentions.users.first() || message.guild.members.cache.get(args[0]); 10 | 11 | if(!member) return message.channel.send(`**Please Mention A User**`); 12 | if(member.id === message.author.id) return message.channel.send('**You can not ban yourself -_-**'); 13 | 14 | if(!member) return message.channel.send(' **User not found**'); 15 | 16 | let reason = args.join(" ").slice(22); 17 | if(!reason) reason = "No Reason Specified"; 18 | 19 | if(!message.member.hasPermission("BAN_MEMBERS")) return message.channel.send(' **You can not use this command | Permission: BAN_MEMBERS**') 20 | if(!message.guild.me.hasPermission("BAN_MEMBERS")) return message.channel.send(' **I do not have the correct permissions | Permission : BAN_MEMBERS**') 21 | 22 | message.react('') 23 | 24 | let e = new Discord.MessageEmbed() 25 | .setTitle('User has been banned') 26 | .setColor(colors.main) 27 | .addField('Username', `**${member}**`) 28 | .addField('Banned by', `**${message.author}**`) 29 | .addField('Reason', `**${reason}**`) 30 | .setFooter('Ban time', client.user.displayAvatarURL()) 31 | .setTimestamp() 32 | 33 | 34 | let userE = new Discord.MessageEmbed() 35 | .setTitle(`You've Been Banned From **${message.guild.name}**`) 36 | .setColor(colors.main) 37 | .addField('Mod', `**${message.author}**`) 38 | .addField('Reason', `**${reason}**`) 39 | .setTimestamp(new Date()) 40 | 41 | message.guild.member(member).ban({reason: reason}) 42 | member.send(userE); 43 | 44 | let mChannel = db.fetch(`modlog_${message.guild.id}`) 45 | if(!mChannel) return message.channel.send(e) 46 | let banChannel = message.guild.channels.cache.get(mChannel) 47 | if(!banChannel) return; 48 | banChannel.send(e) 49 | }, 50 | }; -------------------------------------------------------------------------------- /commands/binary.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { MessageEmbed } = require('discord.js'); 5 | const axios = require('axios'); 6 | 7 | 8 | module.exports = { 9 | name: "binary", 10 | 11 | async run (client, message, args) { 12 | const url = `http://some-random-api.ml/binary?text=${args}`; 13 | 14 | let response, data; 15 | try { 16 | response = await axios.get(url); 17 | data = response.data; 18 | } catch (e) { 19 | return message.channel.send(`** Please type something for me**`) 20 | } 21 | 22 | const embed = new MessageEmbed() 23 | .setTitle('Text to Binary') 24 | .setColor(colors.main) 25 | .setDescription(`**${data.binary}**`) 26 | 27 | await message.channel.send(embed) 28 | } 29 | } -------------------------------------------------------------------------------- /commands/blowjob.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const superagent = require('superagent') 3 | const colors = require('../colors.json') 4 | 5 | module.exports = { 6 | name: "bj", 7 | 8 | async run (client, message, args) { 9 | if (message.channel.nsfw === true) { 10 | superagent.get('https://nekobot.xyz/api/image') 11 | .query({ type: 'blowjob'}) 12 | .end((err, response) => { 13 | const blowjob = new Discord.MessageEmbed() 14 | .setTitle('Enjoy :smiling_imp:') 15 | .setImage(response.body.message) 16 | .setColor(colors.main) 17 | message.channel.send(blowjob) 18 | }); 19 | } else { 20 | message.channel.send(" **This isn't NSFW channel**") 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /commands/boobs.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const superagent = require('superagent') 3 | const colors = require('../colors.json') 4 | 5 | module.exports = { 6 | name: "boobs", 7 | 8 | async run (client, message, args) { 9 | if (message.channel.nsfw === true) { 10 | superagent.get('https://nekobot.xyz/api/image') 11 | .query({ type: 'boobs'}) 12 | .end((err, response) => { 13 | const boobs = new Discord.MessageEmbed() 14 | .setTitle('Enjoy :smiling_imp:') 15 | .setImage(response.body.message) 16 | .setColor(colors.main) 17 | message.channel.send(boobs) 18 | }); 19 | } else { 20 | message.channel.send(" **This isn't NSFW channel**") 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /commands/bothelp.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db'); 4 | const { token, default_prefix } = require('../config.json'); 5 | module.exports = { 6 | name: "bot", 7 | 8 | async run (client, message, args) { 9 | let prefix = await db.get(`prefix_${message.guild.id}`); 10 | if(prefix === null) prefix = default_prefix; 11 | const bot = new Discord.MessageEmbed() 12 | .setTitle('Bot Info Commands') 13 | .addField('Invite', `\`${prefix}inv\``, true) 14 | .addField('Support Server', `\`${prefix}server\``, true) 15 | .addField('Website', `\`${prefix}site\``, true) 16 | .addField('Upvote', `\`${prefix}upvote\``, true) 17 | .addField('About Bot', `\`${prefix}about\``, true) 18 | .addField('Change Prefix', `\`${prefix}prefix \``, true) 19 | .addField('Bot Info', `\`${prefix}botinfo\``, true) 20 | .addField('Bot Stats', `\`${prefix}stats\``, true) 21 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 22 | .setColor(colors.main) 23 | message.channel.send(bot) 24 | } 25 | } -------------------------------------------------------------------------------- /commands/botinfo.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | 4 | module.exports = { 5 | name: "botinfo", 6 | 7 | async run (client, message, args) { 8 | let messageArry = message.content.split(" ") 9 | let cmd = messageArry[0]; 10 | let botinfo = new Discord.MessageEmbed() 11 | .setColor(colors.main) 12 | .setThumbnail(client.user.avatarURL({ format: "png", dynamic: true, size: 2048 })) 13 | .setTitle("Bot Info") 14 | .addField(`Bot Name`, `**${client.user.username}**`, true) 15 | .addField(`ID`, `**${client.user.id}**`) 16 | .addField(`Developer`, `**<@468132563714703390>**`) 17 | .addField(`Website`, `**[devevilbot.xyz](https://devevilbot.xyz)**`) 18 | .addField(`Server`, `**[Click Here](https://discord.gg/uQ7D3VCKmD)**`) 19 | .addField(`Discord.js Version`, `**${Discord.version}**`, true) 20 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 21 | message.channel.send(botinfo) 22 | } 23 | } -------------------------------------------------------------------------------- /commands/botstats.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | cpuStat = require('cpu-stat'), 4 | module.exports = { 5 | name: "stats", 6 | 7 | async run (client, message, args) { 8 | let messageArry = message.content.split(" ") 9 | let cmd = messageArry[0]; 10 | cpuStat.usagePercent(function (error, percent, seconds) { 11 | if (error) { 12 | return console.error(error) 13 | } 14 | 15 | 16 | const guild = client.guilds.cache.size.toLocaleString() 17 | const user = client.users.cache.size.toLocaleString() 18 | const channel = client.channels.cache.size.toLocaleString() 19 | const Node = process.version 20 | const CPU = percent.toFixed(2) 21 | 22 | const embed = new Discord.MessageEmbed() 23 | 24 | .setTitle('Bot Statistics') 25 | embed.addField('Servers', `**${guild}**`, true) 26 | .addField('Users', `**${user}**`, true) 27 | .addField('Channels', `**${channel}**`, true) 28 | .addField('Library', `**Discord.js**`, true) 29 | .addField('Node Version', `**${Node}**`, true) 30 | .addField('CPU Usage', `**${CPU}%**`, true) 31 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 32 | .setThumbnail(client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 33 | .setColor(colors.main) 34 | message.channel.send(embed) 35 | }) 36 | } 37 | } -------------------------------------------------------------------------------- /commands/bump.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | const ms = require("ms") 6 | 7 | module.exports = { 8 | name: "bump", 9 | 10 | async run (client, message, args) { 11 | let prefix = await db.get(`prefix_${message.guild.id}`); 12 | if(prefix === null) prefix = default_prefix; 13 | 14 | let cooldown2 = 7.2e+6; 15 | let amount2 = 1; 16 | 17 | let point = await db.fetch(`bump_${message.guild.id}`); 18 | let points = await db.get(`account.${message.guild.id}.balance`); 19 | 20 | try { 21 | 22 | if (point !== null && cooldown2 - (Date.now() - point) > 0) { 23 | return message.channel.send(` **Please wait another 2 hours until the server can be bumped**`); 24 | } else { 25 | db.add(`svpoints_${message.guild.id}`, amount2) 26 | db.set(`bump_${message.guild.id}`, Date.now()) 27 | const embed = new Discord.MessageEmbed() 28 | .setTitle('DevEvilBot.xyz : A Multifunctional Discord Bot') 29 | .setURL('https://dsc.gg/devevilbot') 30 | .setDescription(` **Server bumped** \n**Type \`${prefix}svpoints\` to see the server points**`) 31 | .setImage('https://cdn.discordapp.com/attachments/468141324906921984/879445217919504384/bumped.png') 32 | .setColor(color.main) 33 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 34 | .setTimestamp() 35 | return message.channel.send(embed); 36 | } 37 | 38 | } catch (error) { 39 | console.log(error); 40 | return message.channel.send(` **Oopsie, unknown error I guess: ${error}**`); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /commands/category.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | module.exports = { 3 | name: "category", 4 | 5 | async run (client, message, args) { 6 | if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send(' **You can not use this command | Permission: ADMINISTRATOR**'); 7 | if(!message.guild.me.hasPermission("MANAGE_CHANNELS")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_CHANNELS**') 8 | if(!args[0]) return message.channel.send('**Please include a name for the category**'); 9 | message.guild.channels.create(args.slice(0).join(" "), {type: 'category'}), message.channel.send(' **Category created**'); 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /commands/changemymind.js: -------------------------------------------------------------------------------- 1 | const { MessageAttachment } = require('discord.js') 2 | 3 | const Canvacord = require('canvacord') 4 | 5 | module.exports = { 6 | 7 | name: "changemymind", 8 | 9 | async run (bot, message, args) { 10 | 11 | let text = args.join(' ') 12 | 13 | if(!text) return message.channel.send(' **Please provide a text**') 14 | 15 | let img = await Canvacord.Canvas.changemymind(text); 16 | 17 | let attachment = new MessageAttachment(img, 'changemymind.png'); 18 | 19 | message.channel.send(attachment) 20 | 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /commands/channelinfo.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const { MessageEmbed } = require('discord.js') 4 | 5 | module.exports = { 6 | name: "channelinfo", 7 | 8 | async run (client, message, args) { 9 | let channel = message.mentions.channels.first() || client.guilds.cache.get(message.guild.id).channels.cache.get(args[0]) || message.guild.channels.cache.find(r => r.name.toLowerCase() === args.join(' ').toLocaleLowerCase()) || message.channel; 10 | if (!channel) return message.channel.send(" **Channel Not Found**"); 11 | 12 | const embed = new MessageEmbed() 13 | .setTitle(`Channel Information for ${channel.name}`) 14 | .setThumbnail(message.guild.iconURL({ format: 'png', dynamic: true, size: 1024 })) 15 | .addField(":underage: NSFW", `**${channel.nsfw}**`) 16 | .addField(":id: **Channel ID**", `**${channel.id}**`) 17 | .addField(":file_folder: **Channel Type**", `**${channel.type}**`) 18 | .addField(":clipboard: **Channel Description**", `**${channel.topic || "No Description"}**`) 19 | .addField(":calendar: **Channel Created At**", `**${channel.createdAt}**`) 20 | .setColor(colors.main) 21 | message.channel.send(embed); 22 | } 23 | } -------------------------------------------------------------------------------- /commands/clac.js: -------------------------------------------------------------------------------- 1 | const math = require('mathjs'); 2 | const Discord = require('discord.js'); 3 | const colors = require('../colors.json') 4 | module.exports = { 5 | name: "calc", 6 | 7 | 8 | async run (client, message, args){ 9 | 10 | if(!args[0]) return message.channel.send(' **Please enter a question**'); 11 | 12 | let resp; 13 | 14 | try { 15 | resp = math.evaluate(args.join(" ")) 16 | } catch (e) { 17 | return message.channel.send(' **Please provide a __**valid**__ question**') 18 | } 19 | 20 | const embed = new Discord.MessageEmbed() 21 | .setColor(colors.main) 22 | .setTitle('Calculator') 23 | .addField('Question', `\`\`\`css\n${args.join(' ')}\`\`\``) 24 | .addField('Answer', `\`\`\`css\n${resp}\`\`\``) 25 | 26 | message.channel.send(embed); 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /commands/clear.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const colors = require('../colors.json') 3 | 4 | module.exports = { 5 | name: "clear", 6 | 7 | async run (client, message, args) { 8 | if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.reply(" **You can not use this command | Permission: MANAGE_MESSAGES**"); 9 | if(!message.guild.me.hasPermission("MANAGE_MESSAGES")) return message.channel.send(' **I do not have the correct permissions**') 10 | if(!args[0]) return message.channel.send("**Please provide a number of messages to be cleared**"); 11 | message.channel.bulkDelete(args[0]).then(() => { 12 | message.channel.send(` **Cleared ${args[0]} messages**`); 13 | }); 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /commands/clearqueue.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const colors = require('../colors.json') 3 | 4 | module.exports = { 5 | name: 'clearq', 6 | description: 'Clears the queue', 7 | run: async (client, message, args) => { 8 | const voice_channel = message.member.voice.channel; 9 | const embed = new MessageEmbed() 10 | .setColor(colors.main) 11 | .setDescription(` **You must be in a voice channel to play something**`) 12 | const embed1 = new MessageEmbed() 13 | .setColor(colors.main) 14 | .setDescription(' **Cleared the queue**') 15 | if (!voice_channel) return message.channel.send(embed); 16 | let isDone = client.player.clearQueue(message); 17 | if(isDone) 18 | message.channel.send(embed1); 19 | } 20 | } -------------------------------------------------------------------------------- /commands/clown.js: -------------------------------------------------------------------------------- 1 | let Discord = require("discord.js"); 2 | const noodles_api = require('noodles-wrapper') 3 | 4 | module.exports = { 5 | name: "clown", 6 | description: "Make a clown", 7 | run: async (client, message, args) => { 8 | 9 | let user = message.mentions.users.first() || message.author 10 | let result = user.displayAvatarURL() 11 | 12 | let Image = await noodles_api.clown(result) 13 | 14 | const attachment = new Discord.MessageAttachment(Image, "clown.js"); 15 | message.channel.send(attachment); 16 | } 17 | }; -------------------------------------------------------------------------------- /commands/coinflip.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | 4 | module.exports = { 5 | name: "coinflip", 6 | description: 'Flips a coin', 7 | 8 | async run (client, message, args) { 9 | const n = Math.floor(Math.random() * 2); 10 | let result; 11 | if (n === 1) result = 'heads'; 12 | else result = 'tails'; 13 | const embed = new Discord.MessageEmbed() 14 | .setTitle('Coinflip') 15 | .setDescription(`**I flipped a coin for you, ${message.member}. It was ${result}**`) 16 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 17 | .setTimestamp() 18 | .setColor(color.main); 19 | message.channel.send(embed); 20 | 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /commands/create-role.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | const colors = require('../colors.json') 6 | 7 | module.exports = { 8 | name: "crrole", 9 | 10 | async run (client, message, args) { 11 | try { 12 | if (!message.member.hasPermission('MANAGE_ROLES')) { 13 | return message.reply(' **You can not use this command | Permission: MANAGE_ROLES**') 14 | } 15 | if(!message.guild.me.hasPermission("MANAGE_ROLES")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_ROLES**') 16 | 17 | let prefix = await db.get(`prefix_${message.guild.id}`); 18 | if(prefix === null) prefix = default_prefix; 19 | 20 | 21 | const filter = msg => msg.author.id == message.author.id; 22 | const options = { 23 | max: 1 24 | }; 25 | 26 | var i = 0; i < 250; 27 | 28 | 29 | const f = new Discord.MessageEmbed() 30 | .setTitle('Name') 31 | .setDescription('**Set a name for role**') 32 | .setColor(colors.main) 33 | message.channel.send(f); 34 | let title = await message.channel.awaitMessages(filter, options); 35 | 36 | const w = new Discord.MessageEmbed() 37 | .setTitle('Color') 38 | .setDescription('**What color do you want for the role ? Type the color name or hex code**') 39 | .setColor(colors.main) 40 | message.channel.send(w); 41 | let Color = await message.channel.awaitMessages(filter, options); 42 | 43 | message.guild.roles.create({ 44 | data: { 45 | name: `${title.first().content}`, 46 | position: i++, 47 | color: `${Color.first().content.toUpperCase() || "2f3136"}` 48 | } 49 | }) 50 | message.channel.send(` **Successfully created the role**`) 51 | } catch (error) { 52 | console.error(error); 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /commands/dababy.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const Canvas = require('canvas'); 3 | module.exports = { 4 | name : 'dababy', 5 | run : async (client, message, args, utils) => { 6 | const member = message.mentions.members.first() || message.member; 7 | const canvas = Canvas.createCanvas(867, 892); 8 | const ctx = canvas.getContext('2d'); 9 | const background = await Canvas.loadImage('https://cdn.discordapp.com/attachments/468141324906921984/886242427105583254/0ee.jpg'); 10 | ctx.drawImage(background, 0, 0, canvas.width, canvas.height); 11 | 12 | const avatar = await Canvas.loadImage(member.user.displayAvatarURL({ format: 'jpg' })); 13 | ctx.drawImage(avatar, 270, 300, 300, 320); 14 | const attachment = new Discord.MessageAttachment(canvas.toBuffer(), 'dababy.jpg'); 15 | message.channel.send(attachment); 16 | } 17 | } -------------------------------------------------------------------------------- /commands/daily.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require("quick.db"); 4 | const ms = require("ms") 5 | 6 | module.exports = { 7 | name: "daily", 8 | 9 | async run (client, message, args) { 10 | let target = db.get(`userb_${message.author.id}`); 11 | 12 | const ban_error = new Discord.MessageEmbed() 13 | .setDescription(' **You are banned from using this section | Reason : Abuse\n[Contact](https://devevilbot.xyz/contact) with the [owner of the bot](https://discord.com/users/468132563714703390) to appeal a permanent ban**') 14 | .setColor(colors.main) 15 | 16 | if(target) { 17 | return message.reply(ban_error) 18 | } 19 | 20 | let pad_zero = num => (num < 10 ? '0' : '') + num; 21 | let cooldown = 8.64e+7; 22 | let amount = 500; 23 | 24 | let lastDaily = await db.fetch(`daily_${message.author.id}`); 25 | let buck = await db.get(`account.${message.author.id}.balance`); 26 | 27 | try { 28 | 29 | if (lastDaily !== null && cooldown - (Date.now() - lastDaily) > 0) { 30 | let timeObj = ms(cooldown - (Date.now() - lastDaily)); 31 | 32 | let hours = pad_zero(timeObj.hours).padStart(2, "0"), 33 | mins = pad_zero(timeObj.minutes).padStart(2, "0"), 34 | secs = pad_zero(timeObj.seconds).padStart(2, "0"); 35 | 36 | let finalTime = `**${hours}:${mins}:${secs}**`; 37 | return message.channel.send(` **You already collected your daily reward**`); 38 | } else { 39 | db.add(`money_${message.author.id}`, amount) 40 | db.set(`daily_${message.author.id}`, Date.now()) 41 | return message.channel.send(` **Great ${message.author.tag} You've been received 500 DB Coin <:DevEvilBot_Coin:867679208855437333>**`); 42 | } 43 | 44 | } catch (error) { 45 | console.log(error); 46 | return message.channel.send(` **Oopsie, unknown error I guess: ${error}**`); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /commands/dc.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const colors = require('../colors.json') 3 | 4 | module.exports = { 5 | name: 'dc', 6 | description: 'Clears the queue and leave the vc', 7 | run: async (client, message, args) => { 8 | const voice_channel = message.member.voice.channel; 9 | const embed = new MessageEmbed() 10 | .setColor(colors.main) 11 | .setDescription(` **You must be in a voice channel to play something**`) 12 | if (!voice_channel) return message.channel.send(embed); 13 | let isDone = client.player.stop(message); 14 | const stop = new MessageEmbed() 15 | .setColor(colors.main) 16 | .setDescription(' **Disconnected**') 17 | if(isDone) 18 | message.channel.send(stop); 19 | } 20 | } -------------------------------------------------------------------------------- /commands/decode.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { MessageEmbed } = require('discord.js'); 5 | const axios = require('axios'); 6 | 7 | 8 | module.exports = { 9 | name: "decode", 10 | 11 | async run (client, message, args) { 12 | const url = `http://some-random-api.ml/binary?decode=${args}`; 13 | 14 | let response, data; 15 | try { 16 | response = await axios.get(url); 17 | data = response.data; 18 | } catch (e) { 19 | return message.channel.send(`** Please type binary text for me to decoded**`) 20 | } 21 | 22 | const embed = new MessageEmbed() 23 | .setTitle('Decode Binary') 24 | .setColor(colors.main) 25 | .setDescription(`**${data.text}**`) 26 | 27 | await message.channel.send(embed) 28 | } 29 | } -------------------------------------------------------------------------------- /commands/delete-vc.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | module.exports = { 6 | name: "delete-vc", 7 | 8 | async run (client, message, args) { 9 | let prefix = await db.get(`prefix_${message.guild.id}`); 10 | if(prefix === null) prefix = default_prefix; 11 | let messageArry = message.content.split(" ") 12 | let cmd = messageArry[0]; 13 | let bug = messageArry.join(" ").slice(0); 14 | let user = message.author.tag; 15 | let guild = message.guild.name; 16 | let channel = client.channels.cache.get("885795973522133023") 17 | const embed = new Discord.MessageEmbed() 18 | .setTitle("Delete Voice Request") 19 | .addField("Message", `**${bug}**`) 20 | .addField("Requested By", `**${user}**`) 21 | .addField("Requested in", `**${guild}**`) 22 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 23 | .setColor(colors.main) 24 | message.channel.send(` **Your request has been reported in the official server. It will be reviewed so please be patient | Type \`${prefix}server\` for join to our server**`) 25 | channel.send(embed) 26 | } 27 | } -------------------------------------------------------------------------------- /commands/delete.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db') 4 | const { token, default_prefix } = require('../config.json'); 5 | 6 | module.exports = { 7 | name: "delete", 8 | 9 | async run (client, message, args) { 10 | let prefix = await db.get(`prefix_${message.guild.id}`); 11 | if(prefix === null) prefix = default_prefix; 12 | 13 | 14 | if(message.channel.name.includes('ticket-')) { 15 | message.channel.delete(); 16 | } 17 | else { 18 | return message.reply(' **You cannot use this command here, Please use this command when you want to delete a ticket**'); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /commands/dice.js: -------------------------------------------------------------------------------- 1 | const color = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | 4 | module.exports = { 5 | name: "dice", 6 | description: 'Rolls dice', 7 | 8 | async run (client, message, args) { 9 | const dice = Math.floor(Math.random() * 6) + 1 10 | - 1 + 1; 11 | 12 | const diceembed = new Discord.MessageEmbed() 13 | .setAuthor(message.member.user.tag) 14 | .setColor(color.main) 15 | .setTimestamp() 16 | .setDescription(`**You got a ${dice}** :game_die:`) 17 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })); 18 | message.reply({ embed: diceembed }); 19 | 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /commands/disable-loop.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"); 2 | const colors = require('../colors.json') 3 | 4 | module.exports = { 5 | name: 'disable-loop', 6 | description: 'Stop looping the queue', 7 | run: async (client, message, args) => { 8 | const voice_channel = message.member.voice.channel; 9 | const embed = new MessageEmbed() 10 | .setColor(colors.main) 11 | .setDescription(` **You must be in a voice channel to play something**`) 12 | if (!voice_channel) return message.channel.send(embed); 13 | 14 | let status = client.player.setQueueRepeatMode(message, false); 15 | 16 | const disloop = new MessageEmbed() 17 | .setColor(colors.main) 18 | .setDescription(` **Queue will not be longer repeated**`) 19 | if(status === null) 20 | return; 21 | message.channel.send(disloop); 22 | } 23 | } -------------------------------------------------------------------------------- /commands/disablemodlog.js: -------------------------------------------------------------------------------- 1 | const db = require("quick.db") 2 | 3 | module.exports = { 4 | name: "disablemodlog", 5 | 6 | async run (client, message, args) { 7 | if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send(' **You can not use this command | Permission: ADMINISTRATOR**') 8 | if(!message.guild.me.hasPermission("MANAGE_CHANNELS")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_CHANNELS**') 9 | try { 10 | let a = db.fetch(`modlog_${message.guild.id}`) 11 | 12 | if (!a) { 13 | return message.channel.send(' **There Is No Modlog Channel Set To Disable**') 14 | } else { 15 | let channel = message.guild.channels.cache.get(a) 16 | client.guilds.cache.get(message.guild.id).channels.cache.get(channel.id).send(" **ModLog Channel Disabled**") 17 | db.delete(`modlog_${message.guild.id}`) 18 | 19 | message.channel.send(` **Modlog Channel Has Been Successfully Disabled in \`${channel.name}\`**`) 20 | } 21 | return; 22 | } catch { 23 | return message.channel.send(" **Error - `Missing Permissions or Channel Doesn't Exist`**") 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /commands/disablerankch.js: -------------------------------------------------------------------------------- 1 | const db = require("quick.db") 2 | 3 | module.exports = { 4 | name: "disablerankch", 5 | 6 | async run (client, message, args) { 7 | if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send(' **You can not use this command | Permission: ADMINISTRATOR**') 8 | if(!message.guild.me.hasPermission("MANAGE_CHANNELS")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_CHANNELS**') 9 | try { 10 | let a = db.fetch(`channel_${message.guild.id}`) 11 | 12 | if (!a) { 13 | return message.channel.send(' **There Is No Rank Channel Set To Disable**') 14 | } else { 15 | let channel = message.guild.channels.cache.get(a) 16 | client.guilds.cache.get(message.guild.id).channels.cache.get(channel.id).send(" **Rank Channel Disabled**") 17 | db.delete(`channel_${message.guild.id}`) 18 | 19 | message.channel.send(` **Rank Channel Has Been Successfully Disabled in \`${channel.name}\`**`) 20 | } 21 | return; 22 | } catch { 23 | return message.channel.send(" **Error - `Missing Permissions or Channel Doesn't Exist`**") 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /commands/economyhelp.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db'); 4 | const { token, default_prefix } = require('../config.json'); 5 | module.exports = { 6 | name: "economy", 7 | 8 | async run (client, message, args) { 9 | let prefix = await db.get(`prefix_${message.guild.id}`); 10 | if(prefix === null) prefix = default_prefix; 11 | const crr = new Discord.MessageEmbed() 12 | .setTitle('Economy Commands') 13 | .addField('Shop', `\`${prefix}shop\``, true) 14 | .addField('Buy', `\`${prefix}buy \``, true) 15 | .addField('Daily', `\`${prefix}daily\``, true) 16 | .addField('Weekly', `\`${prefix}weekly\``, true) 17 | .addField('Monthly', `\`${prefix}monthly\``, true) 18 | .addField('Work', `\`${prefix}work bodyguard | constructor | programmer\``, true) 19 | .addField('Rob', `\`${prefix}rob\``, true) 20 | .addField('Add Money ', `\`${prefix}add-money \``, true) 21 | .addField('Remove Money ', `\`${prefix}remove-money \``, true) 22 | .addField('Roulette', `\`${prefix}roulette\``, true) 23 | .addField('Gamble', `\`${prefix}gamble\``, true) 24 | .addField('Lottery', `\`${prefix}lottery\``, true) 25 | .addField('Balance', `\`${prefix}balance\``, true) 26 | .addField('Leaderboard', `\`${prefix}ml\``, true) 27 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 28 | .setColor(colors.main) 29 | message.channel.send(crr) 30 | } 31 | } -------------------------------------------------------------------------------- /commands/emoji-info.js: -------------------------------------------------------------------------------- 1 | const { Util, MessageEmbed } = require("discord.js"); 2 | const color = require('../colors.json') 3 | module.exports = { 4 | name: "emoji-info", 5 | run: async (bot, message, args) => { 6 | if (!message.guild) 7 | return message.channel.send("This command only works on servers."); 8 | if (!args[0]) return message.channel.send("Usage: emoji "); 9 | let emoji = 10 | bot.emojis.cache.get(args[0]) || 11 | bot.emojis.cache.find((e) => e.name === args[0]); 12 | if (!emoji) { 13 | const e = Util.parseEmoji(args[0]); 14 | if (!e.id) emoji = bot.emojis.cache.find((a) => a.name === e.name); 15 | else emoji = bot.emojis.cache.get(e.id); 16 | if (!emoji) return message.channel.send("Invalid emoji!"); 17 | } 18 | 19 | let auth = emoji.author; 20 | if(!message.guild.me.hasPermission("MANAGE_EMOJIS")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_EMOJIS**') 21 | const embed = new MessageEmbed() 22 | .setTitle(emoji.name + "Info") 23 | .setThumbnail(emoji.url) 24 | .setColor(color.main) 25 | .addField("ID", `**${emoji.id}**`, true) 26 | .addField("URL", `**[Click here](${emoji.url})**`, true) 27 | .addField("Code", "`" + emoji.toString() + "`", true) 28 | .addField("Animated ?", emoji.animated ? "**Yes**" : "**No**", true) 29 | .addField("Available", emoji.available ? "**Yes**" : "**No**", true) 30 | .addField("Upload at", `**${emoji.createdAt}**`, true) 31 | .setFooter(`${bot.user.username}`, bot.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 32 | if (emoji.guild.id === message.guild.id) { 33 | embed 34 | .addField( 35 | "Roles that can use the emoji", 36 | emoji.roles.cache.first() 37 | ? emoji.roles.cache.map((e) => `${e}`).join(", ") 38 | : "@everyone" 39 | , true); 40 | } 41 | await message.channel.send(embed); 42 | }, 43 | }; -------------------------------------------------------------------------------- /commands/emojis.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const Color = `RANDOM`; 3 | 4 | module.exports = { 5 | name: "emojis", 6 | category: "info", 7 | description: "Show Server Emojis!", 8 | usage: "Emojis", 9 | run: async (client, message, args) => { 10 | 11 | //Start 12 | 13 | if (!message.guild.emojis.cache.size) return message.channel.send(`No Emojis!`); 14 | 15 | let Animated = await message.guild.emojis.cache.filter(emo => emo.animated).array(); 16 | let Normal = await message.guild.emojis.cache.filter(emo => !emo.animated).array(); 17 | let All = []; 18 | 19 | for (let an of Animated) { 20 | if (!Animated[0]) return; 21 | All.push(`**${an} - ${an.id} - Animated**`); 22 | }; 23 | 24 | for (let a of Normal) { 25 | if (!Normal[0]) return; 26 | All.push(`**${a} - ${a.id} - Normal**`); 27 | }; 28 | 29 | 30 | return message.channel.send(All.join("\n"), { split: { char: '\n' } }) 31 | 32 | //End 33 | 34 | } 35 | }; -------------------------------------------------------------------------------- /commands/emotions.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db'); 4 | const { token, default_prefix } = require('../config.json'); 5 | module.exports = { 6 | name: "emo", 7 | 8 | async run (client, message, args) { 9 | let prefix = await db.get(`prefix_${message.guild.id}`); 10 | if(prefix === null) prefix = default_prefix; 11 | const emo = new Discord.MessageEmbed() 12 | .setTitle('Emotions Commands') 13 | .addField('Hug', `\`${prefix}hug \``) 14 | .addField('Kiss', `\`${prefix}kiss \``) 15 | .addField('Pat', `\`${prefix}pat \``) 16 | .addField('Slap', `\`${prefix}slap \``) 17 | .addField('Love Percentage', `\`${prefix}love \``) 18 | .addField('Kill', `\`${prefix}kill [user]\``) 19 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 20 | .setColor(colors.main) 21 | message.channel.send(emo) 22 | } 23 | } -------------------------------------------------------------------------------- /commands/end-giveaway.js: -------------------------------------------------------------------------------- 1 | const config = require('../config.json') 2 | const ms = require('ms'); 3 | 4 | module.exports = { 5 | name: "end-ga", 6 | description: "Ends a giveaway", 7 | 8 | async run(client, message, args) { 9 | if(!message.member.hasPermission('MANAGE_MESSAGES')) { 10 | return message.channel.send(' **You can not use this command | Permission: MANAGE_MESSAGES**'); 11 | } 12 | 13 | if(!message.guild.me.hasPermission("MANAGE_MESSAGES")) return message.channel.send(' **I do not have the correct permissions | Permission : MANAGE_MESSAGES**') 14 | 15 | if(!args[0]){ 16 | return message.channel.send(' **You have to specify a valid message ID**'); 17 | } 18 | 19 | 20 | let giveaway = 21 | 22 | client.giveawaysManager.giveaways.find((g) => g.prize === args.join(' ') && g.guildID === message.guild.id) || 23 | 24 | client.giveawaysManager.giveaways.find((g) => g.messageID === args[0] && g.guildID === message.guild.id); 25 | 26 | 27 | if(!giveaway){ 28 | return message.channel.send(` **Unable to find a giveaway for ${args.join(' ')}**`); 29 | } 30 | 31 | 32 | client.giveawaysManager.edit(giveaway.messageID, { 33 | setEndTimestamp: Date.now() 34 | }) 35 | 36 | .then(() => { 37 | 38 | message.channel.send(` **Giveaway will end in less than ${(client.giveawaysManager.options.updateCountdownEvery/1000)} seconds...**`); 39 | }) 40 | .catch((e) => { 41 | if(e.startsWith(`Giveaway with message ID ${giveaway.messageID} is already ended`)){ 42 | message.channel.send(' **This giveaway is already ended**'); 43 | } else { 44 | console.error(e); 45 | message.channel.send(' **An error occured**'); 46 | } 47 | }); 48 | } 49 | } -------------------------------------------------------------------------------- /commands/ga-reroll.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require('discord.js') 2 | const ms = require('ms'); 3 | module.exports = { 4 | name: "reroll", 5 | run: async (client, message, args) => { 6 | if(!message.member.hasPermission('MANAGE_MESSAGES')) { 7 | return message.channel.send(' **You can not use this command | Permission: MANAGE_MESSAGES**'); 8 | } 9 | 10 | if(!args[0]){ 11 | return message.channel.send(' **You have to specify a valid message ID**'); 12 | } 13 | 14 | let giveaway = 15 | 16 | client.giveawaysManager.giveaways.find((g) => g.prize === args.join(' ')) || 17 | 18 | client.giveawaysManager.giveaways.find((g) => g.messageID === args[0]); 19 | 20 | 21 | if(!giveaway){ 22 | return message.channel.send(` **Unable to find a giveaway for ${args.join(' ')}**`); 23 | } 24 | 25 | client.giveawaysManager.reroll(giveaway.messageID) 26 | .then(() => { 27 | message.channel.send(' **Giveaway rerolled**'); 28 | }) 29 | .catch((e) => { 30 | if(e.startsWith(`**Giveaway with message ID ${giveaway.messageID} is not ended**`)){ 31 | message.channel.send('**This giveaway is not ended**'); 32 | } else { 33 | console.error(e); 34 | message.channel.send('**An error occured**'); 35 | } 36 | }); 37 | 38 | } 39 | } -------------------------------------------------------------------------------- /commands/game.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db'); 4 | const { token, default_prefix } = require('../config.json'); 5 | module.exports = { 6 | name: "game", 7 | 8 | async run (client, message, args) { 9 | let prefix = await db.get(`prefix_${message.guild.id}`); 10 | if(prefix === null) prefix = default_prefix; 11 | const game = new Discord.MessageEmbed() 12 | .setTitle('Game Commands') 13 | .addField('Akinator', `\`${prefix}aki\``) 14 | .addField('Roll', `\`${prefix}roll\``) 15 | .addField('Rock-Paper-Scissors', `\`${prefix}rps\``) 16 | .addField('Dice', `\`${prefix}dice\``) 17 | .addField('Would You Rather', `\`${prefix}wyr\``) 18 | .addField('Coinflip', `\`${prefix}coinflip\``) 19 | .addField('Playstore', `\`${prefix}playstore\``) 20 | .setFooter(`${client.user.username}`, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 21 | .setColor(colors.main) 22 | message.channel.send(game) 23 | } 24 | } -------------------------------------------------------------------------------- /commands/generalhelp.js: -------------------------------------------------------------------------------- 1 | const colors = require('../colors.json') 2 | const Discord = require('discord.js'); 3 | const db = require('quick.db'); 4 | const { token, default_prefix } = require('../config.json'); 5 | module.exports = { 6 | name: "general", 7 | 8 | async run (client, message, args) { 9 | let prefix = await db.get(`prefix_${message.guild.id}`); 10 | if(prefix === null) prefix = default_prefix; 11 | const general = new Discord.MessageEmbed() 12 | .setTitle('General Commands') 13 | .addField('Suggest', `\`${prefix}suggest\``) 14 | .addField('Vote', `\`${prefix}vote\``) 15 | .addField('Report Bot Bug', `\`${prefix}report \``) 16 | .addField('Ping', `\`${prefix}ping\``) 17 | .addField('Calculator', `\`${prefix}calc\``) 18 | .addField('Find Emoji', `\`${prefix}find-emoji | find-emoji\``) 19 | .addField('Create Embed', `\`${prefix}embed\``) 20 | .addField('Reminder', `\`${prefix}remindme