Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- const Discord = require("discord.js");
- var bot = new Discord.Client({autoReconnect: true, fetch_all_members: true, encoding: null});
- var customPrefix = "$"
- var globalPrefix = "$"
- const CONFIG = require("./config.json")
- const RESP = require("./response.json")
- const STRINGS = require("./strings.json")
- const COMMANDS = require("./commands.json")
- const path = require("path");
- //database stuff
- const mysql = require('mysql');
- var connection = mysql.createConnection({
- host: "localhost",
- user: "NoirBot",
- password: "jbaidbBUF783BFKBdsfuh873",
- database: "noirbot"
- });
- connection.connect();
- var canKick = function(person) {
- if (person.hasPermission("ADMINISTRATOR", true)) {
- return true;
- } else {
- return person.hasPermission("KICK_MEMBERS", false);
- }
- };
- var canBan = function(person) {
- if (person.hasPermission("ADMINISTRATOR", true)) {
- return true;
- } else {
- return person.hasPermission("BAN_MEMBERS", false);
- }
- };
- var canManageMessages = function(person) {
- if (person.hasPermission("ADMINISTRATOR", true)) {
- return true;
- } else {
- return person.hasPermission("MANAGE_MESSAGES", false);
- }
- };
- var canRoles = function(person) {
- if (person.hasPermission("ADMINISTRATOR", true)) {
- return true;
- } else {
- return person.hasPermission("MANAGE_ROLES_OR_PERMISSIONS", false);
- }
- };
- var canGuild = function(person) {
- if (person.hasPermission("ADMINISTRATOR", true)) {
- return true;
- } else {
- return person.hasPermission("MANAGE_GUILD", false);
- }
- };
- var getNickname = function(message){
- if(message.member.nickname == null){
- return message.author.username;
- } else {
- return message.member.nickname;
- }
- }
- Date.format = function(date) {
- var month = date.getMonth();
- var day = date.getDate();
- var year = date.getFullYear();
- var hour = date.getHours();
- return "[" + day + ":" + month + ":" + year + "] at " + hour;
- };
- Date.daysBetween = function( date1, date2 ) {
- //Get 1 day in milliseconds
- var one_day=1000*60*60*24;
- // Convert both dates to milliseconds
- var date1_ms = date1.getTime();
- var date2_ms = date2.getTime();
- // Calculate the difference in milliseconds
- var difference_ms = date2_ms - date1_ms;
- //take out milliseconds
- difference_ms = difference_ms/1000;
- var seconds = Math.floor(difference_ms % 60);
- difference_ms = difference_ms/60;
- var minutes = Math.floor(difference_ms % 60);
- difference_ms = difference_ms/60;
- var hours = Math.floor(difference_ms % 24);
- var days = Math.floor(difference_ms/24);
- return days + ' days, ' + hours + ' hours, ' + minutes + ' minutes, and ' + seconds + ' seconds' ;
- };
- var capfirst = function(string) {
- return string.charAt(0).toUpperCase() + string.slice(1);
- };
- bot.on("ready", () => {
- console.log("Ready to go in " + bot.channels.size + " channels on " + bot.guilds.size + " servers, for a grand total of " + bot.users.size + " users!");
- /*setInterval(() => {
- bot.guilds.get("147230541735919616").pruneMembers(30).then(pruned => console.log("[AUTOPRUNE]: " + pruned + " members pruned in the " + bot.guilds.get("147230541735919616").name + " server"))//.catch(console.error);
- }, 600000);*/
- });
- bot.on("guildCreate", (guild) => {
- console.log("Trying to insert [" + guild.name + "] into database...");
- var info = {
- "servername": "'" + guild.name + "'",
- "serverid": guild.id,
- "ownerid": guild.owner.id,
- "prefix": "$"
- }
- connection.query("INSERT into servers SET ?", info, function(error) {
- if (error) {
- console.log(error);
- return;
- }
- console.log("Server: [" + guild.name + "] successfully added to database!");
- });
- });
- bot.on('guildDelete', (guild) => {
- console.log("Attempting to remove server [" + guild.name + "] from the database...");
- connection.query("DELETE FROM servers WHERE serverid = '" + guild.id + "'", function(error) {
- if (error) {
- console.log(error);
- return;
- }
- console.log("Server: [" + guild.name + "] removed from database!");
- });
- });
- bot.on("guildMemberAdd", (guild, member) => {
- let num = Math.floor(Math.random()*(STRINGS.welcomes.length));
- let num2 = Math.floor(Math.random()*(STRINGS.welcomeend.length));
- bot.users.get(member.id).sendMessage(STRINGS.welcomes[num] + member.user.username + STRINGS.welcomeend[num2])
- .then( msg => setTimeout( function() {bot.users.get(member.id).sendMessage("Be sure to check out the any channels that interest you on the server!");}, 3000))
- .catch(console.error);
- });
- bot.on("guildMemberRemove", (guild, member) => {
- /*
- member.user.sendMessage("I'm very sad to see you go, **" + member.user.username + "**! if you ever want to come back, here's the link:\nhttps://discord.gg/0ozIdtqVYFc7uVXt").then( msg => setTimeout( function() {member.user.sendMessage("Bye, bye...");}, 1500)).catch(console.error);
- */
- });
- bot.on("message", msg => {
- //Doesn't run the rest of the code in this if the account sending the message is a bot.
- if(msg.author.bot) {
- return;
- }
- //if the message is a key for a response in the response file, it sends the value fo that key
- if (RESP[msg.content.toString().toLowerCase()]) {
- msg.channel.sendMessage(RESP[msg.content.toString().toLowerCase()]).catch(console.error);
- if (msg.channel.type == "text") {
- console.log("[RESPONSE]: " + msg.author.username + " called an autoresponse command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- }
- if (msg.channel.type == "dm") {
- console.log("[RESPONSE]: " + msg.author.username + " called an autoresponse command in a PM chat");
- }
- return;
- }
- //A message will only if the message starts with either the prefix or mod prefix.
- if (!( (msg.content.startsWith(customPrefix)) || (msg.content.startsWith(globalPrefix)) )) {
- //stops running this train of code if the message does not begin with the set prefix
- return;
- }
- //If a message DOES start with one of the prefixes, run this code.
- if (( (msg.content.startsWith(customPrefix)) || (msg.content.startsWith(globalPrefix)) )) { //open bracket [1]
- if (msg.channel.type !== "text") {
- if(msg.channel.type === "dm") {
- switch (msg.content.toLowerCase().split(" ")[0]) {
- case (customPrefix + "alert") : {
- let args = msg.content.split(" ").slice(1).join(" ");
- if (!args){
- msg.channel.sendMessage("Oh no! You didn't give me a message for the mod!");
- } else {
- bot.users.get(CONFIG.devID).sendMessage("`" + Date.format(msg.timestamp) + " [" + msg.author.username + "]` " + args);
- msg.channel.sendMessage("Alert sent successfully :)");
- }
- break;}
- case (customPrefix + "report") : {
- let args = msg.content.split(" ").slice(1).join(" ");
- if (!args){
- msg.channel.sendMessage("You didn't report anyone.");
- } else {
- bot.users.get(CONFIG.devID).sendMessage("**[REPORT]**" + "`" + Date.format(msg.timestamp) + " [" + msg.author.username + "]` " + args);
- msg.channel.sendMessage("Report sent successfully :)");
- }
- break;}
- case (customPrefix + "break") : {
- msg.channel.sendMessage("Clearing messages.").then(m=> m.delete(1000));
- msg.channel.sendMessage("```Break```");
- break;}
- case (customPrefix + "wipe") : {
- let args = msg.content.split(" ").slice(1);
- let messagecount = parseInt(args[0]);
- msg.channel.fetchMessages({limit: messagecount})
- .then(messages => {
- let deleteMsgs = messages.filter(e => e.author.equals(msg.client.user));
- deleteMsgs.forEach(e => e.delete()); // loops for every msg and deletes it
- }).catch(console.log)
- break;}
- }
- }
- }
- if (msg.channel.type === "text") {// open bracket [2]
- switch (msg.content.toLowerCase().split(" ")[0]) {
- case (globalPrefix + "help"): {
- let args = msg.content.split(" ").slice(1)
- if (!args[0]) {
- msg.channel.sendMessage("Hello! I am Noir! Pleased to meet you! My commands all start with a '" + customPrefix + "' followed by:\n"
- + "\n__**Mod Commands**__ (use in any channel)\n"
- + "**count**\n"
- + "**name**\n"
- + "**region**\n"
- + "**propic** *[Mention Someone]*\n"
- + "**owner**\n"
- + "**lifetime** *[Mention Someone]*\n"
- + "**slay** *[Mention Someone]*\n"
- + "**8ball** *[Question]*\n"
- + "**joinlink**\n"
- + "**rules**\n"
- + "**roll** *[Number of sides for the die]*\n"
- + "**math** *[simple equation]*\n"
- + "**flip** *[message]*\n"
- + "**alert** *[message]*\n"
- + "**roles** *[Mention Someone]*\n"
- + "**hug** *[Mention Someone] or [type an object]*\n"
- + "**rate** *[Mention Someone] or [type an object]*\n"
- + "\n__**Mod Commands**__\n"
- + "**purge** *[Number of messages to purge]*\n"
- + "**erase** *[Mention the user to erase]*\n"
- + "**kick** *[Mention the user to kick]*\n"
- + "\n__**PM Commands**__ (use in a PM chat with Noir)\n"
- + "**alert** *[message]*\n"
- + "**report** *[message]*\n"
- + "**break**\n"
- + "**wipe**\n"
- + "\nWhen it says *[something]*, do what it says.\n"
- + "***Use " + customPrefix + "help [Command Name] for more information on each command!***");
- } else {
- if (COMMANDS[args[0].toString().toLowerCase()]) {
- msg.channel.sendMessage(COMMANDS[args[0].toString().toLowerCase()]).catch(console.error);
- return;
- } else {
- msg.channel.sendMessage("Sorry! That is not a command!");
- }
- }
- break;}
- case (customPrefix + "level") : {
- let person = msg.author
- var info = {
- "userid": "'" + person.id + "'",
- "serverid": "'" + msg.guild.id + "'",
- "xp": 0,
- "level": 0
- }
- connection.query("SELECT * FROM points WHERE userid = " + person.id + " AND serverid = " + msg.guild.id + "", function(error, result) {
- if (error) {
- console.log(error);
- return;
- }
- if (!result) {
- connection.query("INSERT into points VALUES( " + person.id + msg.guild.id + 0 + 0 + " )", function(error, result) {
- if (error) {
- console.log(error);
- return;
- }
- console.log("Inserting...");
- });
- } else {
- console.log(result);
- }
- });
- break;}
- case (customPrefix + "info"):
- Date.old = function( date1, date2 ) {
- //Get 1 day in milliseconds
- var one_day=1000*60*60*24;
- // Convert both dates to milliseconds
- var date1_ms = date1.getTime();
- var date2_ms = date2.getTime();
- // Calculate the difference in milliseconds
- var difference_ms = date2_ms - date1_ms;
- //take out milliseconds
- difference_ms = difference_ms/1000;
- var seconds = Math.floor(difference_ms % 60);
- difference_ms = difference_ms/60;
- var minutes = Math.floor(difference_ms % 60);
- difference_ms = difference_ms/60;
- var hours = Math.floor(difference_ms % 24);
- var days = Math.floor(difference_ms/24);
- return days + " days"
- };
- let timeAlive = Date.old((msg.guild.creationDate), (new Date()));
- msg.channel.sendMessage("```\n" + msg.guild.name + " Server\n```"
- + "Member Count : **" + msg.channel.guild.members.size + "** members!\n"
- + "Owner : **" + msg.channel.guild.owner.user.username + "**\n"
- + "Region : **" + msg.channel.guild.region + "**\n"
- + "Age : **" + timeAlive + " old!**\n"
- );
- console.log("[INFO]: " + msg.author.username + " called a count command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;
- case (customPrefix + "count"):
- msg.channel.sendMessage("This server has **" + msg.channel.guild.members.size + "** members!");
- console.log("[INFO]: " + msg.author.username + " called a count command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;
- case (customPrefix + "name"):
- msg.channel.sendMessage("You are in the **" + msg.channel.guild.name + "** server!");
- console.log("[INFO]: " + msg.author.username + " called a count command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;
- case (customPrefix + "owner"):
- msg.channel.sendMessage("The owner of this server is **" + msg.channel.guild.owner.user.username + "**");
- console.log("[INFO]: " + msg.author.username + " called an owner command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;
- case (customPrefix + "region"):
- msg.channel.sendMessage("This server is based in **" + msg.channel.guild.region + "**");
- console.log("[INFO]: " + msg.author.username + " called a region command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;
- case (customPrefix + "kick"): {
- let kickTarget = msg.mentions.users.first();
- if (!kickTarget) {
- msg.channel.sendMessage("You didn't say who to kick though...")
- } else {
- if(!canKick(msg.member)) {
- msg.channel.sendMessage("You do not have permission to kick " + kickTarget.username);
- console.log("[KICK]: " + msg.author.username + " unsuccessfully attempted to kick " + kickTarget.username + " from the " + msg.channel.guild.name + " server.");
- return;
- } else {
- msg.channel.guild.member(kickTarget).kick().catch(console.error);
- console.log(msg.author.username + " kicked " + kickTarget.username + " from the " + msg.channel.guild.name + " server.");
- }
- }
- break;}
- case (customPrefix + "playing") :{
- let game = msg.content.split(" ").slice(1).join(" ");
- if (msg.author.id !== CONFIG.devID) {
- msg.channel.sendMessage("Sorry, only my developer can set my game!")
- } else {
- bot.user.setStatus(null, game).catch(console.error);
- }
- console.log("[GAME]: " + msg.author.username + " changed my game in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "nick") :{
- let nickname = msg.content.split(" ").slice(1).join(" ");
- if (msg.author.id !== CONFIG.devID) {
- msg.channel.sendMessage("Sorry, you do not have permission to set my nickname!")
- } else {
- msg.guild.member(bot.user).setNickname(nickname)
- }
- console.log("[NICKNAME]: " + msg.author.username + " changed my nickname in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "propic"): {
- let Target = msg.mentions.users.first();
- if (!Target) {
- msg.channel.sendMessage("You didn't say whose profile picture you wanted to get.");
- return;
- } else {
- if (Target.avatarURL === null) {
- msg.channel.sendMessage("This user has no profile picture!")
- } else {
- msg.channel.sendMessage("`Expanding " + Target.username + "'s profile picture `\n" + Target.avatarURL).catch(console.error);
- console.log("[ProPic]: " + msg.author.username + " called expanded " + Target.username + "'s profile picture in the " + msg.channel.guild.name + " server.")
- }
- }
- break;}
- case (customPrefix + "lifetime") : {
- if (msg.mentions.users.first()) {
- let Target = msg.channel.guild.member(msg.mentions.users.first());
- let times = Date.daysBetween((Target.joinDate), (new Date()));
- msg.channel.sendMessage("**" + Target.user.username + "** has been a member this server for **" + times + "** and counting!");
- } else {
- let timeAlive = Date.daysBetween((msg.guild.creationDate), (new Date()));
- msg.channel.sendMessage("This guild was created **" + timeAlive + "** ago!");
- }
- console.log("[LIFETIME]: " + msg.author.username + " called a liftime command on in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "erase") : {
- let target = msg.mentions.users.first();
- if (!canManageMessages(msg.member) || !canKick(msg.member)) {
- msg.channel.sendMessage("You do not have permission to erase user messages in this server.");
- console.log("[ERASE]: " + msg.author.username + " unsuccessfully attempted to erase " + target.username + " in the " + msg.channel.guild.name + " server.");
- } else {
- if (!target) {
- msg.channel.sendMessage("You didn't say who to erase...");
- } else {
- msg.channel.sendMessage("Clearing **" + target + "'s** messages.").then(m=> m.delete(1000));
- msg.channel.fetchMessages({
- limit: 100
- }).then((messages) => {
- messages = messages.filter((message) => message.member.id == target.id);
- msg.channel.bulkDelete(messages);
- }).catch(console.error);
- console.log("[ERASE]: " + msg.author.username + " erased " + target.username + " in " + msg.channel.name + ", in the " + msg.guild.name + " server.");
- }
- }
- break;}
- case (customPrefix + "purge") : {
- let target = msg.mentions.users.first();
- let args = msg.content.split(" ").slice(1);
- let messagecount = parseInt(args[0]);
- if (!args[0]) {
- msg.channel.sendMessage("You didn't specify how many messages you wanted to purge.");
- return;
- } else {
- if (!canManageMessages(msg.member)) {
- msg.channel.sendMessage("You do not have permission to purge messages in this server.");
- console.log("[PURGE]: " + msg.author.username + " unsuccessfully attempted to purge in the " + msg.channel.guild.name + " server.");
- } else {
- msg.channel.sendMessage("Clearing **" + messagecount + "** messages.").then(m=> m.delete(1000));
- msg.channel.fetchMessages({limit: messagecount+2}).then(messages => msg.channel.bulkDelete(messages)).catch(console.error);
- console.log("[PURGE]: " + msg.author.username + " purged " + messagecount + " messages in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- }
- }
- break;}
- case (customPrefix + "slay"): {
- if (msg.mentions.users.first()) {
- let slayTarget = msg.mentions.users.first();
- let num = Math.floor(Math.random()*(STRINGS.slay.length));
- let num2 = Math.floor(Math.random()*(STRINGS.slay2.length));
- let num3 = Math.floor(Math.random()*(STRINGS.slay3.length));
- msg.channel.sendMessage("**Noir:** " + STRINGS.slay[num] + "***" + slayTarget.username + "***" + STRINGS.slay2[num2] + "" + STRINGS.slay3[num3]).catch(console.error);
- } else {
- msg.channel.sendMessage("You didn't mention anyone, ya prick.");
- }
- console.log("[FUN]: " + msg.author.username + " called a slay command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "8ball"): {
- let args = msg.content.split(" ").slice(1);
- let num = Math.floor(Math.random()*(STRINGS.ball.length));
- if(!args[0]) {
- msg.channel.sendMessage("This prick, **" + msg.author.username + "** didn't even ask a question, smh");
- } else if (msg.content[msg.content.length-1] !== "?") {
- msg.reply("Questions end with question marks, you know...")
- } else {
- msg.channel.sendMessage(STRINGS.ball[num]);
- }
- console.log("[FUN]: " + msg.author.username + " called an 8ball command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "rate"): {
- let args = msg.mentions.users.first();
- let things = msg.content.split(" ").slice(1).join(" ");
- let num = Math.floor(Math.random()*(100)) + 1;
- if(!args) {
- if (!things) {
- msg.channel.sendMessage("Ummm, **" + msg.author.username + "** you kinda have to tell me *what* I'm rating...");
- } else {
- if (things === "@everyone") {
- msg.channel.sendMessage("I would give **everyone** a solid **" + num + "%**").catch(console.error);
- } else {
- msg.channel.sendMessage("I would give **" + things + "** a solid **" + num + "%**").catch(console.error);
- }
- }
- } else {
- if (args.bot) {
- if (args.equals(bot.user)) {
- msg.channel.sendMessage("**" + args.username + "'s** rated score is **1000%**, the best there can be :)");
- } else {
- msg.channel.sendMessage("**" + args.username + "'s** rated score is **0%**, an inferior bot.");
- }
- } else {
- msg.channel.sendMessage("**" + args.username + "'s** rated score is **" + num + "%**");
- }
- }
- console.log("[FUN]: " + msg.author.username + " called a rate command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "roll") : {
- let args = msg.content.split(" ").slice(1);
- if (!args[0]) {
- let num = Math.floor(Math.random()*(6)) + 1;
- msg.channel.sendMessage(msg.author + " rolled a **" + num + "** on a **6** sided die!");
- } else {
- //let sides = msg.content.split(" ").slice(1);
- let numm = Math.floor(Math.random()*(args[0])) + 1;
- msg.channel.sendMessage(msg.author + " rolled a **" + numm + "** on a **" + args[0] + "** sided die!");
- }
- console.log("[FUN]: " + msg.author.username + " called a roll command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "joinlink"): {
- if (msg.author.id !== CONFIG.devID) {
- msg.channel.sendMessage("Sorry! I'm not ready to be released to the public! Sorry to disappoint...");
- } else {
- bot.users.get(msg.author.id).sendMessage("My join link is: \nhttps://discordapp.com/oauth2/authorize?client_id=220062302018338817&scope=bot&permissions=0 \nHappy to help!");
- }
- console.log("[JOIN]: " + msg.author.username + " summoned my join link in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "rules"): {
- /*if (msg.author.id !== CONFIG.devID) {
- msg.channel.sendMessage("The rule function is a work in progress! Check back to when it is released!");
- } else {*/
- msg.channel.sendMessage("Rules sent successfully :)")
- bot.users.get(msg.author.id).sendMessage(STRINGS.rules);
- //}
- console.log("[INFO]: " + msg.author.username + " requested the rules list in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "math") : {
- let math = require("mathjs");
- let args = msg.content.split(" ").slice(1).join(" ");
- let code = parseInt(args);
- //let code = stuff.compile();
- if(!args) {
- msg.delete();
- } else {
- try{
- msg.channel.sendMessage("**Question** ```xl\n" + args +"```\n **Solution** ```xl\n" + math.eval(args) + "```");
- //msg.channel.sendMessage("```***Solution*** " + math.eval(args) + "```");
- } catch(error){
- msg.channel.sendMessage("**Error** ```xl\n" + error.message + "```");
- }
- }
- console.log("[MATH]: " + msg.author.username + " called a math command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "flip") : {
- let args = msg.content.split("").slice(5);//.join(" ");
- if(!args) {
- msg.channel.sendMessage("You have to type a message for me to reverse!");
- } else {
- msg.channel.sendMessage(args.reverse().join("")).catch(console.error);
- //msg.channel.sendMessage("```xl\n" + args.reverse().join("") + "```").catch(console.error);
- //msg.channel.sendMessage("**Original** ```xl\n" + args +"```\n **Reversed** ```xl\n" + args.reverse().join("") + "```").catch(console.error);
- }
- console.log("[FUN]: " + msg.author.username + " called a flip command in " + msg.channel.name + " in the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "alert") : {
- let args = msg.content.split(" ").slice(1).join(" ");
- if (!args){
- bot.users.get(CONFIG.devID).sendMessage("`" + Date.format(msg.timestamp) + " [" + msg.author.username + "] is summoning you`");
- msg.channel.sendMessage("Blanc has been summoned.");
- } else {
- bot.users.get(CONFIG.devID).sendMessage("`" + Date.format(msg.timestamp) + " [" + msg.author.username + "]` " + args);
- msg.channel.sendMessage("Alert sent successfully :)");
- }
- console.log("[ALERT]: " + msg.author.username + " alerted you from the " + msg.guild.name + " server.");
- break;}
- case (customPrefix + "roles") : {
- let args = msg.mentions.users.first();
- if (!args) {
- msg.channel.sendMessage("You have to mention whose roles you want me to get!");
- } else {
- let roles = msg.channel.guild.member(msg.mentions.users.first()).roles;
- let list = [];
- roles.forEach(e => list.push(e.name));
- for (var i = 0; i < list.length; i++)
- if (list[i] == "@everyone") {
- list[i] = "Dollars Member\n";
- } else {
- list[i] = (capfirst(list[i]) + "\n")
- }
- msg.channel.sendMessage("```xl\n" + list.join("") + "\n```");
- }
- if (!args) {
- console.log("[INFO]: " + msg.author.username + " called a roles command on somebody in the " + msg.guild.name + " server.");
- } else {
- console.log("[INFO]: " + msg.author.username + " called a roles command on " + args.username + " in the " + msg.guild.name + " server.");
- }
- break;}
- case (customPrefix + "prune") : {
- if (!canRole(msg.member) || !canGuild(msg.member)) {
- msg.channel.sendMessage("Only Staff can prune in this server!");
- } else {
- msg.guild.pruneMembers(30).then(pruned => console.log("[PRUNE]: " + pruned + " members pruned in the " + msg.guild.name + " server")).catch(console.error);
- }
- break;}
- case (customPrefix + "hug") : {
- let targ = msg.mentions.users.first();
- let things = msg.content.split(" ").slice(1).join(" ");
- //let hugpic = path.resolve("hugpic.png");
- //msg.channel.sendFile(hugpic).catch(console.error);
- if (!targ) {
- if (!things) {
- msg.channel.sendMessage("Please mention someone or type something for me to hug!");
- } else {
- if (things === "@everyone") {
- msg.channel.sendMessage("**" + getNickname(msg) + "** :hugging: *hugs* **everyone**").catch(console.error);
- } else {
- msg.channel.sendMessage("**" + getNickname(msg) + "** :hugging: *hugs* **" + things + "**").catch(console.error);
- }
- }
- } else {
- let name = targ.username
- msg.channel.sendMessage("**" + getNickname(msg) + "** :hugging: *hugs* **" + name + "**").catch(console.error);
- console.log("[FUN]: " + msg.author.username + " called a hug command on " + targ.username + " in the " + msg.guild.name + " server.");
- }
- break;}
- case (customPrefix + "uptime") : {
- Date.up = function(date2) {
- //Get 1 day in milliseconds
- var one_day=1000*60*60*24;
- // Convert both dates to milliseconds
- var date1_ms = bot.readyTime;
- var date2_ms = date2.getTime();
- // Calculate the difference in milliseconds
- var difference_ms = date2_ms - date1_ms;
- //take out milliseconds
- difference_ms = difference_ms/1000;
- var seconds = Math.floor(difference_ms % 60);
- difference_ms = difference_ms/60;
- var minutes = Math.floor(difference_ms % 60);
- difference_ms = difference_ms/60;
- var hours = Math.floor(difference_ms % 24);
- var days = Math.floor(difference_ms/24);
- return days + ' days, ' + hours + ' hours, ' + minutes + ' minutes, and ' + seconds + ' seconds' ;
- };
- msg.channel.sendMessage(Date.up(new Date())).catch(console.error);
- break;}
- /*case (customPrefix + "emoji") : {
- let args = msg.content.split(" ").slice(1);
- let url = args[0]
- let name = args[1]
- msg.guild.createEmoji(url.toString(), name.toString())
- .then(emoji => console.log("Created new emoji with name " + emoji.name))
- .catch(console.log);
- }*/
- }//end bracket for switch statement
- }//end bracket [2]
- }//end bracket for [1]
- });
- //!msg.member.hasPermission("MANAGE_MESSAGES", true)
- bot.on('error', e => { console.error(e); });
- bot.on('warn', e => { console.warn(e); });
- bot.on('debug', e => { console.info(e); });
- bot.login(CONFIG.token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement