diff --git a/assets/hbc.ttf b/assets/hbc.ttf new file mode 100644 index 0000000..a592da9 Binary files /dev/null and b/assets/hbc.ttf differ diff --git a/assets/images/hbc.png b/assets/images/hbc.png new file mode 100644 index 0000000..5019829 Binary files /dev/null and b/assets/images/hbc.png differ diff --git a/assets/pages/help.pug b/assets/pages/help.pug new file mode 100644 index 0000000..fb86cd0 --- /dev/null +++ b/assets/pages/help.pug @@ -0,0 +1,93 @@ +head + title esmBot Command List + meta(name='viewport' content='width=device-width, initial-scale=1') + meta(name='description' content='The command list for esmBot') + meta(property='og:title' content='esmBot Command List') + meta(property='og:site_name' content='esmBot') + meta(property='og:url' content='https://essem.space/esmBot/commands.html') + meta(property='og:description' content='This is the command list for esmBot.') + meta(property='og:type' content='object') + meta(property='og:image' content='https://raw.githubusercontent.com/TheEssem/esmBot/master/esmbot.png') + meta(charset='UTF-8') + link(rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css') + style. + .markdown-body { + box-sizing: border-box; + min-width: 200px; + max-width: 980px; + margin: 0 auto; + padding: 45px; + } + @media (max-width: 767px) { + .markdown-body { + padding: 15px; + } + } +body + article#markdown.markdown-body + h1#img-srchttpsrawgithubusercontentcomtheessemesmbot-rewritemasteresmbotpng-width64-esmbot-dev-command-list + img(src='https://raw.githubusercontent.com/TheEssem/esmBot-rewrite/master/esmbot.png' width='64') + | esmBot Dev Command List + p by Essem#9261 + p + strong + | You are currently using esmBot Dev! Things may change at any time without warning and there will be bugs. Many bugs. If you find one, + a(href='https://github.com/TheEssem/esmBot-rewrite/issues') report it here + | or in the esmBot Support server. + p + code [] + | means an argument is required, + code {} + | means an argument is optional. + p + | Default prefix is + code & + | . + blockquote + p Tip: Use Ctrl+F to find the command you want! + h2#table-of-contents Table of Contents + ul + li + a(href='#💻-general') + strong General + li + a(href='#🔨-moderation') + strong Moderation + li + a(href='#🏷️-tags') + strong Tags + li + a(href='#👌-fun') + strong Fun + li + a(href='#🖼️-image-editing') + strong Image Editing + li + a(href='#🔊-soundboard') + strong Soundboard + h2(id='💻-general') 💻 General + each command in commands.general + ul + li!= command + h2(id='🔨-moderation') 🔨 Moderation + each command in commands.moderation + ul + li!= command + h2(id='🏷️-tags') 🏷️ Tags + each command in commands.tags + ul + li!= command + h2(id='👌-fun') 👌 Fun + each command in commands.fun + ul + li!= command + h2(id='🖼️-image-editing') 🖼️ Image Editing + blockquote + p These commands support the PNG, JPEG, and WEBP formats. + each command in commands.images + ul + li!= command + h2(id='🔊-soundboard') 🔊 Soundboard + each command in commands.soundboard + ul + li!= command \ No newline at end of file diff --git a/commands/8ball.js b/commands/8ball.js index 69e72e5..fc8f252 100644 --- a/commands/8ball.js +++ b/commands/8ball.js @@ -28,4 +28,5 @@ exports.run = async () => { exports.aliases = ["magicball", "magikball", "magic8ball", "magik8ball", "eightball"]; exports.category = 4; -exports.help = "Asks the magic 8-ball a question"; \ No newline at end of file +exports.help = "Asks the magic 8-ball a question"; +exports.params = "{text}"; \ No newline at end of file diff --git a/commands/addtweet.js b/commands/addtweet.js index 3abaf1e..1b9afe0 100644 --- a/commands/addtweet.js +++ b/commands/addtweet.js @@ -13,4 +13,5 @@ exports.run = async (message, args) => { exports.aliases = ["add"]; exports.category = 7; exports.help = "Adds a tweet to the database"; -exports.requires = "twitter"; \ No newline at end of file +exports.requires = "twitter"; +exports.params = "[category] [message]"; \ No newline at end of file diff --git a/commands/avatar.js b/commands/avatar.js index 6d60024..ed1c722 100644 --- a/commands/avatar.js +++ b/commands/avatar.js @@ -13,3 +13,4 @@ exports.run = async (message, args) => { exports.aliases = ["pfp", "ava"]; exports.category = 1; exports.help = "Gets a user's avatar"; +exports.params = "{mention/id}"; \ No newline at end of file diff --git a/commands/ban.js b/commands/ban.js index d38c578..aa5b718 100644 --- a/commands/ban.js +++ b/commands/ban.js @@ -18,4 +18,5 @@ exports.run = async (message) => { }; exports.category = 2; -exports.help = "Bans a server member"; \ No newline at end of file +exports.help = "Bans a server member"; +exports.params = "[mention]"; \ No newline at end of file diff --git a/commands/cowsay.js b/commands/cowsay.js index 9d12b7a..017481c 100644 --- a/commands/cowsay.js +++ b/commands/cowsay.js @@ -66,3 +66,4 @@ exports.run = async (message, args) => { exports.aliases = ["cow"]; exports.category = 4; exports.help = "Makes an ASCII cow say a message"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/decode.js b/commands/decode.js index 9a24419..ce3ed26 100644 --- a/commands/decode.js +++ b/commands/decode.js @@ -1,8 +1,10 @@ exports.run = async (message, args) => { + if (args.length === 0) return `${message.author.mention}, you need to provide a string to decode!`; const b64Decoded = Buffer.from(args.join(" "), "base64").toString("utf-8"); return `\`\`\`\n${b64Decoded}\`\`\``; }; exports.aliases = ["b64decode", "base64decode"]; exports.category = 1; -exports.help = "Decodes a Base64 string"; \ No newline at end of file +exports.help = "Decodes a Base64 string"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/dice.js b/commands/dice.js index 42ad316..789b4a3 100644 --- a/commands/dice.js +++ b/commands/dice.js @@ -14,4 +14,5 @@ exports.run = async (message, args) => { exports.aliases = ["roll", "die", "rng", "random"]; exports.category = 4; -exports.help = "Rolls the dice"; \ No newline at end of file +exports.help = "Rolls the dice"; +exports.params = "{number}"; \ No newline at end of file diff --git a/commands/emote.js b/commands/emote.js new file mode 100644 index 0000000..c1ab77b --- /dev/null +++ b/commands/emote.js @@ -0,0 +1,20 @@ +const emojiRegex = require("emoji-regex"); + +exports.run = async (message, args) => { + if (args[0].match(/^$/)) { + return `https://cdn.discordapp.com/emojis/${args[0].replace(/^<(a)?:.+:(\d+)>$/, "$2")}.${args[0].replace(/^<(a)?:.+:(\d+)>$/, "$1") === "a" ? "gif" : "png"}`; + } else if (args[0].match(emojiRegex)) { + const codePoints = []; + for (const codePoint of args[0]) { + codePoints.push(codePoint.codePointAt(0).toString(16)); + } + return `https://twemoji.maxcdn.com/v/latest/72x72/${codePoints.join("-")}.png`; + } else { + return `${message.author.mention}, you need to provide a valid emoji to get an image!`; + } +}; + +exports.aliases = ["e", "em", "hugemoji", "hugeemoji"]; +exports.category = 1; +exports.help = "Gets a raw emote image"; +exports.params = "[emote]"; \ No newline at end of file diff --git a/commands/encode.js b/commands/encode.js index 7d05367..4603e57 100644 --- a/commands/encode.js +++ b/commands/encode.js @@ -1,8 +1,10 @@ exports.run = async (message, args) => { + if (args.length === 0) return `${message.author.mention}, you need to provide a string to encode!`; const b64Encoded = Buffer.from(args.join(" ")).toString("base64"); return `\`\`\`\n${b64Encoded}\`\`\``; }; exports.aliases = ["b64encode", "base64encode"]; exports.category = 1; -exports.help = "Encodes a Base64 string"; \ No newline at end of file +exports.help = "Encodes a Base64 string"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/eval.js b/commands/eval.js index 74458ef..7778373 100644 --- a/commands/eval.js +++ b/commands/eval.js @@ -14,4 +14,5 @@ exports.run = async (message, args) => { exports.aliases = ["run"]; exports.category = 7; -exports.help = "Executes JavaScript code"; \ No newline at end of file +exports.help = "Executes JavaScript code"; +exports.params = "[code]"; \ No newline at end of file diff --git a/commands/exec.js b/commands/exec.js index 441f01c..64b7fd3 100644 --- a/commands/exec.js +++ b/commands/exec.js @@ -17,4 +17,5 @@ exports.run = async (message, args) => { exports.aliases = ["runcmd"]; exports.category = 7; -exports.help = "Executes a terminal command"; \ No newline at end of file +exports.help = "Executes a terminal command"; +exports.params = "[command]"; \ No newline at end of file diff --git a/commands/feedback.js b/commands/feedback.js index 843f1eb..b2cc776 100644 --- a/commands/feedback.js +++ b/commands/feedback.js @@ -34,4 +34,5 @@ exports.run = async (message, args) => { exports.aliases = ["request", "report", "complain", "compliment"]; exports.category = 1; -exports.help = "Leaves some feedback for the bot owner"; \ No newline at end of file +exports.help = "Leaves some feedback for the bot owner"; +exports.params = "[message]"; \ No newline at end of file diff --git a/commands/fullwidth.js b/commands/fullwidth.js index 967aff9..69f2de6 100644 --- a/commands/fullwidth.js +++ b/commands/fullwidth.js @@ -5,4 +5,5 @@ exports.run = async (message, args) => { exports.aliases = ["aesthetic", "aesthetics", "aes"]; exports.category = 4; -exports.help = "Converts a message to fullwidth/aesthetic text"; \ No newline at end of file +exports.help = "Converts a message to fullwidth/aesthetic text"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/hackban.js b/commands/hackban.js index aa12f11..5fb1e8f 100644 --- a/commands/hackban.js +++ b/commands/hackban.js @@ -11,4 +11,5 @@ exports.run = async (message, args) => { exports.aliases = ["prevent", "preban"]; exports.category = 2; -exports.help = "Bans a member via user id"; \ No newline at end of file +exports.help = "Bans a member via user id"; +exports.params = "[id]"; \ No newline at end of file diff --git a/commands/help.js b/commands/help.js index ca5d84d..52e3cd7 100644 --- a/commands/help.js +++ b/commands/help.js @@ -3,25 +3,30 @@ const collections = require("../utils/collections.js"); const client = require("../utils/client.js"); const misc = require("../utils/misc.js"); const paginator = require("../utils/pagination/pagination.js"); -const tips = ["You can change the bot's prefix using the prefix command.", "Image commands also work with images previously posted in that channel.", "You can use the tags commands to save things for later use.", "You can visit https://essem.space/esmBot/commands.html?dev=true for a web version of this command list."]; +const tips = ["You can change the bot's prefix using the prefix command.", "Image commands also work with images previously posted in that channel.", "You can use the tags commands to save things for later use.", "You can visit https://projectlounge.pw/esmBot/help.html for a web version of this command list.", "You can view a command's aliases by putting the command name after the help command (e.g. help image).", "Parameters wrapped in [] are required, while parameters wrapped in {} are optional."]; exports.run = async (message, args) => { const guild = (await database.guilds.find({ id: message.channel.guild.id }).exec())[0]; const commands = Array.from(collections.commands.keys()); - if (args.length !== 0 && commands.includes(args[0].toLowerCase())) { - const info = collections.info.get(args[0].toLowerCase()); + const aliases = Array.from(collections.aliases.keys()); + if (args.length !== 0 && (commands.includes(args[0].toLowerCase()) || aliases.includes(args[0].toLowerCase()))) { + const info = aliases.includes(args[0].toLowerCase()) ? collections.info.get(collections.aliases.get(args[0].toLowerCase())) : collections.info.get(args[0].toLowerCase()); + console.log(collections.aliases.get(args[0].toLowerCase())); const embed = { "embed": { "author": { "name": "esmBot Dev Help", "icon_url": client.user.avatarURL }, - "title": args[0].toLowerCase(), + "title": `${guild.prefix}${aliases.includes(args[0].toLowerCase()) ? collections.aliases.get(args[0].toLowerCase()) : args[0].toLowerCase()}`, "description": info.description, "color": 16711680, "fields": [{ "name": "Aliases", "value": info.aliases ? info.aliases.join(", ") : "None" + }, { + "name": "Parameters", + "value": info.params ? info.params : "None" }] } }; @@ -30,29 +35,30 @@ exports.run = async (message, args) => { const categories = { general: [], moderation: [], - tags: [], + tags: ["**Every command in this category is a subcommand of the tag command.**\n"], fun: [], - images: [], + images: ["**These commands support the PNG, JPEG, and WEBP formats.**\n"], soundboard: [], - admin: [] + admin: ["**These commands are only available to the bot owner.**\n"] }; for (const command of commands) { const category = collections.info.get(command).category; const description = collections.info.get(command).description; + const params = collections.info.get(command).params; if (category === 1) { - categories.general.push(`**${command}** - ${description}`); + categories.general.push(`**${command}**${params ? ` ${params}` : ""} - ${description}`); } else if (category === 2) { - categories.moderation.push(`**${command}** - ${description}`); + categories.moderation.push(`**${command}**${params ? ` ${params}` : ""} - ${description}`); } else if (category === 3) { - categories.tags.push(`**${command}** - ${description}`); + categories.tags.push(`**${command}**${params ? ` ${params}` : ""} - ${description}`); } else if (category === 4) { - categories.fun.push(`**${command}** - ${description}`); + categories.fun.push(`**${command}**${params ? ` ${params}` : ""} - ${description}`); } else if (category === 5) { - categories.images.push(`**${command}** - ${description}`); + categories.images.push(`**${command}**${params ? ` ${params}` : ""} - ${description}`); } else if (category === 6) { - categories.soundboard.push(`**${command}** - ${description}`); + categories.soundboard.push(`**${command}**${params ? ` ${params}` : ""} - ${description}`); } else if (category === 7) { - categories.admin.push(`**${command}** - ${description}`); + categories.admin.push(`**${command}**${params ? ` ${params}` : ""} - ${description}`); } } const pages = []; @@ -98,4 +104,5 @@ exports.run = async (message, args) => { }; exports.category = 1; -exports.help = "Gets a list of commands"; \ No newline at end of file +exports.help = "Gets a list of commands"; +exports.params = "{command}"; \ No newline at end of file diff --git a/commands/homebrew.js b/commands/homebrew.js new file mode 100644 index 0000000..761483c --- /dev/null +++ b/commands/homebrew.js @@ -0,0 +1,21 @@ +const gm = require("gm").subClass({ + imageMagick: true +}); +const gmToBuffer = require("../utils/gmbuffer.js"); + +exports.run = async (message, args) => { + if (args.length === 0) return `${message.author.mention}, you need to provide some text to make a Homebrew Channel edit!`; + message.channel.sendTyping(); + const template = "./assets/images/hbc.png"; + const cleanedMessage = args.join(" ").toLowerCase().replace(/&/g, "\\&").replace(/>/g, "\\>").replace(/ { exports.aliases = ["im", "photo", "img"]; exports.category = 1; exports.help = "Searches for images on Google"; -exports.requires = "google"; \ No newline at end of file +exports.requires = "google"; +exports.params = "[query]"; \ No newline at end of file diff --git a/commands/kick.js b/commands/kick.js index bc6fc04..47c039f 100644 --- a/commands/kick.js +++ b/commands/kick.js @@ -18,4 +18,5 @@ exports.run = async (message) => { }; exports.category = 2; -exports.help = "Kicks a member"; \ No newline at end of file +exports.help = "Kicks a member"; +exports.params = "[mention]"; \ No newline at end of file diff --git a/commands/lengthen.js b/commands/lengthen.js index bf56da3..d020d41 100644 --- a/commands/lengthen.js +++ b/commands/lengthen.js @@ -12,4 +12,5 @@ exports.run = async (message, args) => { exports.aliases = ["longurl", "lengthenurl", "longuri", "lengthenuri", "unshorten"]; exports.category = 1; -exports.help = "Lengthens a short URL"; \ No newline at end of file +exports.help = "Lengthens a short URL"; +exports.params = "[url]"; \ No newline at end of file diff --git a/commands/mc.js b/commands/mc.js index 42d5035..fa7eeb4 100644 --- a/commands/mc.js +++ b/commands/mc.js @@ -13,4 +13,5 @@ exports.run = async (message, args) => { exports.aliases = ["ach", "achievement", "minecraft"]; exports.category = 4; -exports.help = "Generates a Minecraft achievement image"; \ No newline at end of file +exports.help = "Generates a Minecraft achievement image"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/meme.js b/commands/meme.js index 68df76a..4837ff7 100644 --- a/commands/meme.js +++ b/commands/meme.js @@ -29,4 +29,5 @@ exports.run = async (message, args) => { }; exports.category = 5; -exports.help = "Generates a meme from an image"; \ No newline at end of file +exports.help = "Generates a meme from an image (separate top/bottom text with a comma)"; +exports.params = "[top text], {bottom text}"; \ No newline at end of file diff --git a/commands/prefix.js b/commands/prefix.js index 3bba448..3550f50 100644 --- a/commands/prefix.js +++ b/commands/prefix.js @@ -14,4 +14,5 @@ exports.run = async (message, args) => { exports.aliases = ["setprefix", "changeprefix", "checkprefix"]; exports.category = 1; -exports.help = "Checks/changes the server prefix"; \ No newline at end of file +exports.help = "Checks/changes the server prefix"; +exports.params = "{prefix}"; \ No newline at end of file diff --git a/commands/purge.js b/commands/purge.js index 19ae85d..3f615c0 100644 --- a/commands/purge.js +++ b/commands/purge.js @@ -14,4 +14,5 @@ exports.run = async (message, args) => { exports.aliases = ["prune"]; exports.category = 2; -exports.help = "Purges messages in a channel"; \ No newline at end of file +exports.help = "Purges messages in a channel"; +exports.params = "[number]"; \ No newline at end of file diff --git a/commands/qrcreate.js b/commands/qrcreate.js index bb27ed5..cee156a 100644 --- a/commands/qrcreate.js +++ b/commands/qrcreate.js @@ -23,4 +23,5 @@ exports.run = async (message, args) => { }; exports.category = 1; -exports.help = "Generates a QR code"; \ No newline at end of file +exports.help = "Generates a QR code"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/reload.js b/commands/reload.js index 4356dde..1696a1f 100644 --- a/commands/reload.js +++ b/commands/reload.js @@ -13,4 +13,5 @@ exports.run = async (message, args) => { }; exports.category = 7; -exports.help = "Reloads a command"; \ No newline at end of file +exports.help = "Reloads a command"; +exports.params = "[command]"; \ No newline at end of file diff --git a/commands/retro.js b/commands/retro.js index 80cc063..672ca83 100644 --- a/commands/retro.js +++ b/commands/retro.js @@ -21,4 +21,5 @@ exports.run = async (message, args) => { }; exports.category = 4; -exports.help = "Generates a retro text image"; \ No newline at end of file +exports.help = "Generates a retro text image (separate lines with a comma)"; +exports.params = "[top text], {middle text}, {bottom text}"; \ No newline at end of file diff --git a/commands/rps.js b/commands/rps.js index 16a9747..6176c4a 100644 --- a/commands/rps.js +++ b/commands/rps.js @@ -24,4 +24,5 @@ exports.run = async (message, args) => { exports.aliases = ["rockpaperscissors"]; exports.category = 4; -exports.help = "Plays rock, paper, scissors with me"; \ No newline at end of file +exports.help = "Plays rock, paper, scissors with me"; +exports.params = "[rock/paper/scissors]"; \ No newline at end of file diff --git a/commands/shorten.js b/commands/shorten.js index b47566d..91f4bf5 100644 --- a/commands/shorten.js +++ b/commands/shorten.js @@ -11,3 +11,4 @@ exports.run = async (message, args) => { exports.aliases = ["urlshorten", "shortenlink", "urishorten", "shortenuri", "shortenurl"]; exports.category = 1; exports.help = "Shortens a URL"; +exports.params = "[url]"; \ No newline at end of file diff --git a/commands/snowflake.js b/commands/snowflake.js index 1b963f6..6fcf096 100644 --- a/commands/snowflake.js +++ b/commands/snowflake.js @@ -5,4 +5,5 @@ exports.run = async (message, args) => { exports.aliases = ["timestamp", "snowstamp", "snow"]; exports.category = 1; -exports.help = "Converts a Discord snowflake into a timestamp"; \ No newline at end of file +exports.help = "Converts a Discord snowflake id into a timestamp"; +exports.params = "[id]"; \ No newline at end of file diff --git a/commands/sonic.js b/commands/sonic.js index 9b6b012..50f8c77 100644 --- a/commands/sonic.js +++ b/commands/sonic.js @@ -22,4 +22,5 @@ exports.run = async (message, args) => { }; exports.category = 4; -exports.help = "Creates a Sonic speech bubble image"; \ No newline at end of file +exports.help = "Creates a Sonic speech bubble image"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/spam.js b/commands/spam.js index 02b89df..b29bc12 100644 --- a/commands/spam.js +++ b/commands/spam.js @@ -5,4 +5,5 @@ exports.run = async (message, args) => { }; exports.category = 8; -exports.help = "placeholder"; \ No newline at end of file +exports.help = "placeholder"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/tweet.js b/commands/tweet.js index a12a6ba..b2a84af 100644 --- a/commands/tweet.js +++ b/commands/tweet.js @@ -10,4 +10,5 @@ exports.run = async (message, args) => { exports.category = 7; exports.help = "Tweets a message"; -exports.requires = "twitter"; \ No newline at end of file +exports.requires = "twitter"; +exports.params = "[message]"; \ No newline at end of file diff --git a/commands/userinfo.js b/commands/userinfo.js index 16d10c0..c7571e9 100644 --- a/commands/userinfo.js +++ b/commands/userinfo.js @@ -48,4 +48,5 @@ exports.run = async (message, args) => { exports.aliases = ["user"]; exports.category = 1; -exports.help = "Gets info about a user"; \ No newline at end of file +exports.help = "Gets info about a user"; +exports.params = "{mention/id}"; \ No newline at end of file diff --git a/commands/xkcd.js b/commands/xkcd.js index c033716..5b11800 100644 --- a/commands/xkcd.js +++ b/commands/xkcd.js @@ -23,4 +23,5 @@ exports.run = async (message, args) => { }; exports.category = 4; -exports.help = "Gets an XKCD comic"; \ No newline at end of file +exports.help = "Gets an XKCD comic"; +exports.params = "{id}"; \ No newline at end of file diff --git a/commands/yoda.js b/commands/yoda.js index 74f6898..ec856d2 100644 --- a/commands/yoda.js +++ b/commands/yoda.js @@ -9,4 +9,5 @@ exports.run = async (message, args) => { exports.aliases = ["yodish"]; exports.category = 4; -exports.help = "Translates a message to Yodish"; \ No newline at end of file +exports.help = "Translates a message to Yodish"; +exports.params = "[text]"; \ No newline at end of file diff --git a/commands/youtube.js b/commands/youtube.js index babf1d5..42736c3 100644 --- a/commands/youtube.js +++ b/commands/youtube.js @@ -20,4 +20,5 @@ exports.run = async (message, args) => { exports.aliases = ["yt", "video", "ytsearch"]; exports.category = 1; exports.help = "Searches YouTube"; -exports.requires = "google"; \ No newline at end of file +exports.requires = "google"; +exports.params = "[query]"; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ead9736..80f9205 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,10 +24,23 @@ "js-tokens": "^4.0.0" } }, + "@types/babel-types": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz", + "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==" + }, + "@types/babylon": { + "version": "6.16.5", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", + "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", + "requires": { + "@types/babel-types": "*" + } + }, "@types/node": { - "version": "12.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz", - "integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w==" + "version": "12.12.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", + "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==" }, "abort-controller": { "version": "3.0.0", @@ -43,6 +56,21 @@ "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", "dev": true }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "requires": { + "acorn": "^4.0.4" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, "acorn-jsx": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", @@ -68,6 +96,16 @@ "uri-js": "^4.2.2" } }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -154,6 +192,11 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -201,6 +244,31 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -236,6 +304,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, "requires": { "file-uri-to-path": "1.0.0" } @@ -345,6 +414,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.1.tgz", "integrity": "sha512-xowrxvpxojqkagPcWRQVXZl0YXhRhAtBEIq3VoER1NH5Mw1n1o0ojdspp+GS2J//2gCVyrzQDApQ4unGF+QOoA==", + "optional": true, "requires": { "node-gyp-build": "~3.7.0" } @@ -365,6 +435,15 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -376,6 +455,14 @@ "supports-color": "^5.3.0" } }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "requires": { + "is-regex": "^1.0.3" + } + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -400,6 +487,14 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "requires": { + "source-map": "~0.6.0" + } + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -438,6 +533,13 @@ "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + } } }, "strip-ansi": { @@ -516,7 +618,8 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "optional": true }, "concat-map": { "version": "0.0.1", @@ -529,6 +632,22 @@ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "requires": { + "@types/babel-types": "^7.0.0", + "@types/babylon": "^6.16.2", + "babel-types": "^6.26.0", + "babylon": "^6.18.0" + } + }, + "core-js": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -654,6 +773,11 @@ "esutils": "^2.0.2" } }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" + }, "dom-serializer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", @@ -708,9 +832,9 @@ } }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "enabled": { "version": "1.0.2", @@ -739,9 +863,9 @@ "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==" }, "eris": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/eris/-/eris-0.11.0.tgz", - "integrity": "sha512-fPLQj1BuOb4b5jQFAhoxLMjkmgFq53o9H8Q78dFXIUBVX9k2AbKO93MzstMfZi4UqaSI2Oz52RaM9kAsr7eJNg==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/eris/-/eris-0.11.1.tgz", + "integrity": "sha512-Ct32iXjESOnmklxZCEA281BQsTlAsS9xzQkbGlnvzXshCjBptWJ5h8Oxbu67ui1DirsYs0WipB8EBC9ITQ5ZQA==", "requires": { "opusscript": "^0.0.4", "tweetnacl": "^1.0.0", @@ -749,8 +873,9 @@ } }, "erlpack": { - "version": "github:discordapp/erlpack#5d0064f9e106841e1eead711a6451f99b0d289fd", - "from": "github:discordapp/erlpack", + "version": "0.1.3", + "resolved": "github:discordapp/erlpack#5d0064f9e106841e1eead711a6451f99b0d289fd", + "optional": true, "requires": { "bindings": "^1.5.0", "nan": "^2.14.0" @@ -759,7 +884,8 @@ "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true } } }, @@ -925,8 +1051,7 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "event-target-shim": { "version": "5.0.1", @@ -936,7 +1061,8 @@ "eventemitter3": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "optional": true }, "expand-template": { "version": "2.0.3", @@ -1032,7 +1158,8 @@ "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true }, "find-up": { "version": "3.0.0", @@ -1098,6 +1225,11 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", @@ -1314,6 +1446,14 @@ "har-schema": "^2.0.0" } }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -1456,6 +1596,27 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "requires": { + "acorn": "~4.0.2", + "object-assign": "^4.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -1464,8 +1625,15 @@ "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } }, "is-stream": { "version": "1.1.0", @@ -1492,6 +1660,11 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -1558,6 +1731,15 @@ "resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.2.0.tgz", "integrity": "sha512-wKcQS9QC2VHGk7aphWCp1RrFyC0CM6fMgC5prZZ2KV/Lk6OKNoCod9IR6bao+yx3KPY0gZFC5dc+h+KFzCI0Wg==" }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, "jwa": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", @@ -1582,6 +1764,14 @@ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz", "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw==" }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, "kuler": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", @@ -1590,6 +1780,11 @@ "colornames": "^1.1.1" } }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -1626,6 +1821,11 @@ "triple-beam": "^1.3.0" } }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -1710,14 +1910,6 @@ "minimist": "0.0.8" } }, - "mmmagic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mmmagic/-/mmmagic-0.5.3.tgz", - "integrity": "sha512-xLqCu7GJYTzJczg0jafXFuh+iPzQL/ru0YYf4GiTTz8Cehru/wiXtUS8Pp8Xi77zNaiVndJ0OO1yAFci6iHyFg==", - "requires": { - "nan": "^2.13.2" - } - }, "moment": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", @@ -1729,9 +1921,9 @@ "integrity": "sha512-cBMXjSW+fjOb4tyaVHuaVE/A5TqkukDWiOfxxAjY+PEqmmBQlLwn+8OzwPiG3brouXKY5Un4pBjAeB6UToXHaQ==" }, "mongodb": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.3.tgz", - "integrity": "sha512-MdRnoOjstmnrKJsK8PY0PjP6fyF/SBS4R8coxmhsfEU7tQ46/J6j+aSHF2n4c2/H8B+Hc/Klbfp8vggZfI0mmA==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.5.tgz", + "integrity": "sha512-6NAv5gTFdwRyVfCz+O+KDszvjpyxmZw+VlmqmqKR2GmpkeKrKFRv/ZslgTtZba2dc9JYixIf99T5Gih7TIWv7Q==", "requires": { "bson": "^1.1.1", "require_optional": "^1.0.1", @@ -1740,13 +1932,13 @@ } }, "mongoose": { - "version": "5.7.10", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.10.tgz", - "integrity": "sha512-KpQosHPXmlNJKZbiP19mtmC0icaziRlB+xZ14R8q7jY7+OgbbynLD9VWSFb1CyzJX5ebdkVSGmay9HXn341hTA==", + "version": "5.7.13", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.13.tgz", + "integrity": "sha512-MoTCETTIfXU1PqIYc+YAkhSB3uzK5xseh6ysAUnoOowkqS66OjBJtsL/bcgAKi6XfMYkFU6M1abKyuL7k//xeg==", "requires": { "bson": "~1.1.1", "kareem": "2.3.1", - "mongodb": "3.3.3", + "mongodb": "3.3.5", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.6.0", "mquery": "3.2.2", @@ -1855,12 +2047,14 @@ "node-gyp-build": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.7.0.tgz", - "integrity": "sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w==" + "integrity": "sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w==", + "optional": true }, "node-opus": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/node-opus/-/node-opus-0.3.3.tgz", "integrity": "sha512-ZQniA8iJ6y/qOTmW6eyzM9m8odt4CIGV0NM9/U03/pYLhGyxy18QXO25WfrWd8XsUYx57tnxll2xxj54CN08uQ==", + "optional": true, "requires": { "bindings": "~1.2.1", "commander": "^2.9.0", @@ -1871,12 +2065,14 @@ "bindings": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", - "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=" + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=", + "optional": true }, "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true } } }, @@ -2067,6 +2263,11 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -2143,6 +2344,14 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -2153,6 +2362,120 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" }, + "pug": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", + "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", + "requires": { + "pug-code-gen": "^2.0.2", + "pug-filters": "^3.1.1", + "pug-lexer": "^4.1.0", + "pug-linker": "^3.0.6", + "pug-load": "^2.0.12", + "pug-parser": "^5.0.1", + "pug-runtime": "^2.0.5", + "pug-strip-comments": "^1.0.4" + } + }, + "pug-attrs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", + "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "requires": { + "constantinople": "^3.0.1", + "js-stringify": "^1.0.1", + "pug-runtime": "^2.0.5" + } + }, + "pug-code-gen": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz", + "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==", + "requires": { + "constantinople": "^3.1.2", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.1", + "pug-attrs": "^2.0.4", + "pug-error": "^1.3.3", + "pug-runtime": "^2.0.5", + "void-elements": "^2.0.1", + "with": "^5.0.0" + } + }, + "pug-error": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", + "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==" + }, + "pug-filters": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", + "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", + "requires": { + "clean-css": "^4.1.11", + "constantinople": "^3.0.1", + "jstransformer": "1.0.0", + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8", + "resolve": "^1.1.6", + "uglify-js": "^2.6.1" + } + }, + "pug-lexer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", + "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", + "requires": { + "character-parser": "^2.1.1", + "is-expression": "^3.0.0", + "pug-error": "^1.3.3" + } + }, + "pug-linker": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", + "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", + "requires": { + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8" + } + }, + "pug-load": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", + "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "requires": { + "object-assign": "^4.1.0", + "pug-walk": "^1.1.8" + } + }, + "pug-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", + "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", + "requires": { + "pug-error": "^1.3.3", + "token-stream": "0.0.1" + } + }, + "pug-runtime": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", + "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==" + }, + "pug-strip-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", + "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "requires": { + "pug-error": "^1.3.3" + } + }, + "pug-walk": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", + "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -2260,6 +2583,11 @@ } } }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "regexp-clone": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", @@ -2271,6 +2599,11 @@ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", @@ -2341,6 +2674,14 @@ } } }, + "resolve": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", + "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", + "requires": { + "path-parse": "^1.0.6" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -2366,6 +2707,14 @@ "node-fetch": "^2.3.0" } }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -2519,6 +2868,11 @@ "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, "sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -2633,6 +2987,14 @@ "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + } } }, "strip-ansi": { @@ -2747,6 +3109,16 @@ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" + }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", @@ -2814,6 +3186,60 @@ "prelude-ls": "~1.1.2" } }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -2840,7 +3266,8 @@ "uws": { "version": "10.148.2", "resolved": "https://registry.npmjs.org/uws/-/uws-10.148.2.tgz", - "integrity": "sha1-8BZSoLS7lByxi7emJI14D9AVAkU=" + "integrity": "sha1-8BZSoLS7lByxi7emJI14D9AVAkU=", + "optional": true }, "verror": { "version": "1.10.0", @@ -2852,6 +3279,11 @@ "extsprintf": "^1.2.0" } }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -2878,6 +3310,11 @@ "string-width": "^1.0.2 || 2" } }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, "winston": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz", @@ -2932,6 +3369,22 @@ } } }, + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "requires": { + "acorn": "^3.1.0", + "acorn-globals": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + } + } + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", @@ -2960,6 +3413,13 @@ "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + } } }, "strip-ansi": { @@ -3039,6 +3499,13 @@ "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + } } }, "strip-ansi": { @@ -3064,6 +3531,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/zlib-sync/-/zlib-sync-0.1.6.tgz", "integrity": "sha512-B2XGrhlXs/izEks+705vn/aL+nWyPgnS1glyCeH8wgZdOvztRn3ZEdqclj6GoJSeA/iRSqaTlznG2KO1M/GuWg==", + "optional": true, "requires": { "nan": "^2.14.0" }, @@ -3071,7 +3539,8 @@ "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true } } } diff --git a/package.json b/package.json index 6396860..65dc81e 100644 --- a/package.json +++ b/package.json @@ -13,33 +13,36 @@ "url": "git+https://github.com/TheEssem/esmBot.git" }, "dependencies": { - "bufferutil": "^4.0.1", "cowsay": "^1.4.0", "dblapi.js": "^2.3.0", "dotenv": "^8.2.0", - "eris": "^0.11.0", - "erlpack": "github:discordapp/erlpack", - "eventemitter3": "^3.1.2", + "emoji-regex": "^8.0.0", + "eris": "^0.11.1", "file-type": "^10.9.0", "gm": "^1.23.1", "googleapis": "^44.0.0", "jsqr": "^1.2.0", - "mmmagic": "^0.5.3", "moment": "^2.24.0", "moment-duration-format": "^2.3.2", - "mongoose": "^5.7.10", + "mongoose": "^5.7.13", "node-fetch": "^2.6.0", - "node-opus": "^0.3.3", + "pug": "^2.0.4", "qrcode": "^1.4.4", "retrotext": "github:TheEssem/retrotext", "sharp": "^0.22.1", "twit": "^2.2.11", - "uws": "^10.148.1", - "winston": "^3.2.1", - "zlib-sync": "^0.1.6" + "winston": "^3.2.1" }, "devDependencies": { "eslint": "^5.15.2", "eslint-plugin-promise": "^4.2.1" + }, + "optionalDependencies": { + "bufferutil": "^4.0.1", + "erlpack": "github:discordapp/erlpack", + "eventemitter3": "^3.1.2", + "node-opus": "^0.3.3", + "uws": "^10.148.1", + "zlib-sync": "^0.1.6" } } diff --git a/readme.md b/readme.md index 14c8c87..cf0e757 100644 --- a/readme.md +++ b/readme.md @@ -7,7 +7,7 @@ esmBot is an entertainment-focused Discord bot made using [Eris](https://abal.mo ## Usage You can invite the bot to your server using this link: https://discordapp.com/oauth2/authorize?client_id=515571942418546689&scope=bot&permissions=70642766 -A command list can be found [here](https://essem.space/esmBot/commands.html?dev=true). +A command list can be found [here](https://projectlounge.pw/esmBot/help.html). If you want to run it locally, you should install ImageMagick, FFmpeg, and MongoDB: @@ -27,4 +27,4 @@ If you want to run this on Windows, I highly recommend using Windows Subsystem f ## Credits Icon by [Stellio](https://twitter.com/MeloncholySteel). -All images and sounds are copyright of their respective owners. +All images, sounds, and fonts are copyright of their respective owners. diff --git a/utils/handler.js b/utils/handler.js index a5bab7a..a8579c4 100644 --- a/utils/handler.js +++ b/utils/handler.js @@ -12,7 +12,8 @@ exports.load = async (command) => { collections.info.set(command.split(".")[0], { category: props.category, description: props.help, - aliases: props.aliases + aliases: props.aliases, + params: props.params }); if (props.aliases) { props.aliases.forEach(alias => { diff --git a/utils/help.js b/utils/help.js new file mode 100644 index 0000000..b50070f --- /dev/null +++ b/utils/help.js @@ -0,0 +1,37 @@ +const pug = require("pug"); +const collections = require("./collections.js"); +const fs = require("fs"); + +module.exports = async () => { + //const compiledFunction = pug.compileFile("./assets/pages/help.pug"); + const commands = Array.from(collections.commands.keys()); + const categories = { + general: [], + moderation: [], + tags: [], + fun: [], + images: [], + soundboard: [] + }; + for (const command of commands) { + const category = collections.info.get(command).category; + const description = collections.info.get(command).description; + const params = collections.info.get(command).params; + if (category === 1) { + categories.general.push(`${command}${params ? ` ${params}` : ""} - ${description}`); + } else if (category === 2) { + categories.moderation.push(`${command}${params ? ` ${params}` : ""} - ${description}`); + } else if (category === 3) { + categories.tags.push(`${command}${params ? ` ${params}` : ""} - ${description}`); + } else if (category === 4) { + categories.fun.push(`${command}${params ? ` ${params}` : ""} - ${description}`); + } else if (category === 5) { + categories.images.push(`${command}${params ? ` ${params}` : ""} - ${description}`); + } else if (category === 6) { + categories.soundboard.push(`${command}${params ? ` ${params}` : ""} - ${description}`); + } + } + fs.writeFile("../help.html", pug.renderFile("./assets/pages/help.pug", { commands: categories }), () => { + console.log("hi"); + }); +}; \ No newline at end of file