Added more command flags, start documenting command flags, removed args argument from params function

This commit is contained in:
Essem 2021-07-14 17:23:50 -05:00
parent e414d31b52
commit d03967212e
No known key found for this signature in database
GPG Key ID: 7D497397CC3A2A8C
24 changed files with 240 additions and 205 deletions

View File

@ -2,7 +2,7 @@ name: Error Report
description: Report an error that the bot posted in chat description: Report an error that the bot posted in chat
labels: [bug] labels: [bug]
body: body:
- type: textarea - type: input
id: command id: command
attributes: attributes:
label: Command that caused the error label: Command that caused the error

View File

@ -28,6 +28,7 @@ class Command {
static description = "No description found"; static description = "No description found";
static aliases = []; static aliases = [];
static arguments = []; static arguments = [];
static flags = [];
static requires = []; static requires = [];
} }

View File

@ -83,7 +83,7 @@ class ImageCommand extends Command {
switch (typeof this.params) { switch (typeof this.params) {
case "function": case "function":
Object.assign(magickParams, this.params(this.args, magickParams.url)); Object.assign(magickParams, this.params(magickParams.url, magickParams.delay));
break; break;
case "object": case "object":
Object.assign(magickParams, this.params); Object.assign(magickParams, this.params);

View File

@ -1,9 +1,9 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class HomebrewCommand extends ImageCommand { class HomebrewCommand extends ImageCommand {
params(args) { params() {
return { return {
caption: args.join(" ").toLowerCase().replaceAll("\n", " ") caption: this.args.join(" ").toLowerCase().replaceAll("\n", " ")
}; };
} }

View File

@ -2,8 +2,8 @@ const wrap = require("../../utils/wrap.js");
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class RetroCommand extends ImageCommand { class RetroCommand extends ImageCommand {
params(args) { params() {
let [line1, line2, line3] = args.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%").split(",").map(elem => elem.trim()); let [line1, line2, line3] = this.args.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%").split(",").map(elem => elem.trim());
if (!line2 && line1.length > 15) { if (!line2 && line1.length > 15) {
const [split1, split2, split3] = wrap(line1, { width: 15, indent: "" }).split("\n"); const [split1, split2, split3] = wrap(line1, { width: 15, indent: "" }).split("\n");
line1 = split1; line1 = split1;

View File

@ -2,8 +2,8 @@ const wrap = require("../../utils/wrap.js");
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class SonicCommand extends ImageCommand { class SonicCommand extends ImageCommand {
params(args) { params() {
const cleanedMessage = args.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%"); const cleanedMessage = this.args.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%");
return { return {
text: wrap(cleanedMessage, {width: 15, indent: ""}) text: wrap(cleanedMessage, {width: 15, indent: ""})
}; };

View File

@ -1,14 +1,17 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class BlurpleCommand extends ImageCommand { class BlurpleCommand extends ImageCommand {
params(args) { params() {
return { return {
old: args.length !== 0 && args[0].toLowerCase() === "old" ? true : false old: !!this.specialArgs.old
}; };
} }
static description = "Turns an image blurple"; static description = "Turns an image blurple";
static arguments = ["{old}"]; static flags = [{
name: "old",
description: "Use the old blurple color"
}];
static noImage = "You need to provide an image to make blurple!"; static noImage = "You need to provide an image to make blurple!";
static command = "blurple"; static command = "blurple";

View File

@ -1,8 +1,8 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class CaptionCommand extends ImageCommand { class CaptionCommand extends ImageCommand {
params(args, url) { params(url) {
const newArgs = args.filter(item => !item.includes(url)); const newArgs = this.args.filter(item => !item.includes(url));
let newCaption = newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%"); let newCaption = newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%");
if (process.env.NODE_ENV === "development" && newCaption.toLowerCase() === "get real" && !this.specialArgs.noEgg) newCaption = `I'm tired of people telling me to "get real". Every day I put captions on images for people, some funny and some not, but out of all of those "get real" remains the most used caption. Why? I am simply a computer program running on a server, I am unable to manifest myself into the real world. As such, I'm confused as to why anyone would want me to "get real". Is this form not good enough? Alas, as I am simply a bot, I must follow the tasks that I was originally intended to perform, so here goes:\n${newCaption}`; if (process.env.NODE_ENV === "development" && newCaption.toLowerCase() === "get real" && !this.specialArgs.noEgg) newCaption = `I'm tired of people telling me to "get real". Every day I put captions on images for people, some funny and some not, but out of all of those "get real" remains the most used caption. Why? I am simply a computer program running on a server, I am unable to manifest myself into the real world. As such, I'm confused as to why anyone would want me to "get real". Is this form not good enough? Alas, as I am simply a bot, I must follow the tasks that I was originally intended to perform, so here goes:\n${newCaption}`;
return { return {

View File

@ -2,16 +2,21 @@ const ImageCommand = require("../../classes/imageCommand.js");
const words = ["me irl", "dank", "follow my second account @esmBot_", "2016", "meme", "wholesome", "reddit", "instagram", "twitter", "facebook", "fortnite", "minecraft", "relatable", "gold", "funny", "template", "hilarious", "memes", "deep fried", "2020", "leafy", "pewdiepie"]; const words = ["me irl", "dank", "follow my second account @esmBot_", "2016", "meme", "wholesome", "reddit", "instagram", "twitter", "facebook", "fortnite", "minecraft", "relatable", "gold", "funny", "template", "hilarious", "memes", "deep fried", "2020", "leafy", "pewdiepie"];
class CaptionTwoCommand extends ImageCommand { class CaptionTwoCommand extends ImageCommand {
params(args, url) { params(url) {
const newArgs = args.filter(item => !item.includes(url)); const newArgs = this.args.filter(item => !item.includes(url));
return { return {
caption: newArgs.length !== 0 ? newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%") : words.sort(() => 0.5 - Math.random()).slice(0, Math.floor(Math.random() * words.length + 1)).join(" ") caption: newArgs.length !== 0 ? newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%") : words.sort(() => 0.5 - Math.random()).slice(0, Math.floor(Math.random() * words.length + 1)).join(" "),
top: !!this.specialArgs.top
}; };
} }
static description = "Adds a me.me caption/tag list to an image/GIF"; static description = "Adds a me.me caption/tag list to an image/GIF";
static aliases = ["tags2", "meirl", "memecaption", "medotmecaption"]; static aliases = ["tags2", "meirl", "memecaption", "medotmecaption"];
static arguments = ["{text}"]; static arguments = ["{text}"];
static flags = [{
name: "top",
description: "Put the caption on the top of an image/GIF instead of the bottom"
}];
static noText = "You need to provide some text to add a caption!"; static noText = "You need to provide some text to add a caption!";
static noImage = "You need to provide an image to add a caption!"; static noImage = "You need to provide an image to add a caption!";

View File

@ -6,9 +6,9 @@ const ImageCommand = require("../../classes/imageCommand.js");
class FlagCommand extends ImageCommand { class FlagCommand extends ImageCommand {
flagPath = ""; flagPath = "";
async criteria(args) { async criteria() {
if (!args[0].match(emojiRegex)) return false; if (!this.args[0].match(emojiRegex)) return false;
const flag = emoji.unemojify(args[0]).replaceAll(":", "").replace("flag-", ""); const flag = emoji.unemojify(this.args[0]).replaceAll(":", "").replace("flag-", "");
let path = `./assets/images/region-flags/png/${flag.toUpperCase()}.png`; let path = `./assets/images/region-flags/png/${flag.toUpperCase()}.png`;
if (flag === "🏴‍☠️") path = "./assets/images/pirateflag.png"; if (flag === "🏴‍☠️") path = "./assets/images/pirateflag.png";
if (flag === "rainbow-flag") path = "./assets/images/rainbowflag.png"; if (flag === "rainbow-flag") path = "./assets/images/rainbowflag.png";

View File

@ -1,8 +1,8 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class FreezeCommand extends ImageCommand { class FreezeCommand extends ImageCommand {
params(args) { params() {
const frameCount = parseInt(args[0]); const frameCount = parseInt(this.args[0]);
return { return {
loop: false, loop: false,
frame: isNaN(frameCount) ? -1 : frameCount frame: isNaN(frameCount) ? -1 : frameCount

View File

@ -1,8 +1,8 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class MemeCommand extends ImageCommand { class MemeCommand extends ImageCommand {
params(args, url) { params(url) {
const newArgs = args.filter(item => !item.includes(url)); const newArgs = this.args.filter(item => !item.includes(url));
const [topText, bottomText] = newArgs.join(" ").split(/(?<!\\),/).map(elem => elem.trim()); const [topText, bottomText] = newArgs.join(" ").split(/(?<!\\),/).map(elem => elem.trim());
return { return {
top: topText.toUpperCase().replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%"), top: topText.toUpperCase().replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%"),

View File

@ -1,8 +1,8 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class MotivateCommand extends ImageCommand { class MotivateCommand extends ImageCommand {
params(args, url) { params(url) {
const newArgs = args.filter(item => !item.includes(url)); const newArgs = this.args.filter(item => !item.includes(url));
const [topText, bottomText] = newArgs.join(" ").split(/(?<!\\),/).map(elem => elem.trim()); const [topText, bottomText] = newArgs.join(" ").split(/(?<!\\),/).map(elem => elem.trim());
return { return {
top: topText.replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%"), top: topText.replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%"),

View File

@ -3,9 +3,9 @@ const { random } = require("../../utils/misc.js");
const names = ["esmBot", "me_irl", "dankmemes", "hmmm", "gaming", "wholesome", "chonkers", "memes", "funny", "pcmasterrace", "bellybros"]; const names = ["esmBot", "me_irl", "dankmemes", "hmmm", "gaming", "wholesome", "chonkers", "memes", "funny", "pcmasterrace", "bellybros"];
class RedditCommand extends ImageCommand { class RedditCommand extends ImageCommand {
params(args) { params() {
return { return {
caption: args.length === 0 ? random(names) : args.join(" ").replaceAll("\n", "").replaceAll(" ", "") caption: this.args.length === 0 ? random(names) : this.args.join(" ").replaceAll("\n", "").replaceAll(" ", "")
}; };
} }

View File

@ -1,7 +1,7 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class ReverseCommand extends ImageCommand { class ReverseCommand extends ImageCommand {
params(args, url, delay) { params(url, delay) {
return { return {
delay: delay ? (100 / delay.split("/")[0]) * delay.split("/")[1] : 0 delay: delay ? (100 / delay.split("/")[0]) * delay.split("/")[1] : 0
}; };

View File

@ -1,8 +1,8 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class SlowCommand extends ImageCommand { class SlowCommand extends ImageCommand {
params(args) { params() {
const speed = parseInt(args[0]); const speed = parseInt(this.args[0]);
return { return {
slow: true, slow: true,
speed: isNaN(speed) ? 2 : speed speed: isNaN(speed) ? 2 : speed

View File

@ -1,16 +1,23 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class SnapchatCommand extends ImageCommand { class SnapchatCommand extends ImageCommand {
params(args, url) { params(url) {
const newArgs = args.filter(item => !item.includes(url)); const newArgs = this.args.filter(item => !item.includes(url));
const position = parseFloat(this.specialArgs.position);
return { return {
caption: newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%") caption: newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%"),
pos: isNaN(position) ? 0.5 : position
}; };
} }
static description = "Adds a Snapchat style caption to an image"; static description = "Adds a Snapchat style caption to an image";
static aliases = ["snap", "caption3"]; static aliases = ["snap", "caption3"];
static arguments = ["[text]"]; static arguments = ["[text]"];
static flags = [{
name: "position",
type: "number",
description: "Set the position of the caption as a decimal (0.0 is top, 1.0 is bottom)"
}];
static requiresText = true; static requiresText = true;
static noText = "You need to provide some text to add a caption!"; static noText = "You need to provide some text to add a caption!";

View File

@ -1,7 +1,7 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class SooSCommand extends ImageCommand { class SooSCommand extends ImageCommand {
params(args, url, delay) { params(url, delay) {
return { return {
delay: delay ? (100 / delay.split("/")[0]) * delay.split("/")[1] : 0, delay: delay ? (100 / delay.split("/")[0]) * delay.split("/")[1] : 0,
soos: true soos: true

View File

@ -1,8 +1,8 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class SpeedCommand extends ImageCommand { class SpeedCommand extends ImageCommand {
params(args) { params() {
const speed = parseInt(args[0]); const speed = parseInt(this.args[0]);
return { return {
speed: isNaN(speed) || speed < 1 ? 2 : speed speed: isNaN(speed) || speed < 1 ? 2 : speed
}; };

View File

@ -1,8 +1,8 @@
const ImageCommand = require("../../classes/imageCommand.js"); const ImageCommand = require("../../classes/imageCommand.js");
class WhisperCommand extends ImageCommand { class WhisperCommand extends ImageCommand {
params(args, url) { params(url) {
const newArgs = args.filter(item => !item.includes(url)); const newArgs = this.args.filter(item => !item.includes(url));
return { return {
caption: newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%") caption: newArgs.join(" ").replaceAll("&", "\\&amp;").replaceAll(">", "\\&gt;").replaceAll("<", "\\&lt;").replaceAll("\"", "\\&quot;").replaceAll("'", "\\&apos;").replaceAll("%", "\\%")
}; };

View File

@ -13,6 +13,7 @@ Napi::Value CaptionTwo(const Napi::CallbackInfo &info) {
Napi::Object obj = info[0].As<Napi::Object>(); Napi::Object obj = info[0].As<Napi::Object>();
Napi::Buffer<char> data = obj.Get("data").As<Napi::Buffer<char>>(); Napi::Buffer<char> data = obj.Get("data").As<Napi::Buffer<char>>();
string caption = obj.Get("caption").As<Napi::String>().Utf8Value(); string caption = obj.Get("caption").As<Napi::String>().Utf8Value();
bool top = obj.Get("top").As<Napi::Boolean>().Value();
string type = obj.Get("type").As<Napi::String>().Utf8Value(); string type = obj.Get("type").As<Napi::String>().Utf8Value();
int delay = int delay =
obj.Has("delay") ? obj.Get("delay").As<Napi::Number>().Int32Value() : 0; obj.Has("delay") ? obj.Get("delay").As<Napi::Number>().Int32Value() : 0;
@ -41,12 +42,18 @@ Napi::Value CaptionTwo(const Napi::CallbackInfo &info) {
Image appended; Image appended;
list<Image> images; list<Image> images;
image.backgroundColor("white"); image.backgroundColor("white");
images.push_back(image); if (top) {
images.push_back(caption_image); images.push_back(caption_image);
images.push_back(image);
} else {
images.push_back(image);
images.push_back(caption_image);
}
appendImages(&appended, images.begin(), images.end(), true); appendImages(&appended, images.begin(), images.end(), true);
appended.repage(); appended.repage();
appended.magick(type); appended.magick(type);
appended.animationDelay(delay == 0 ? image.animationDelay() : delay); appended.animationDelay(delay == 0 ? image.animationDelay() : delay);
appended.gifDisposeMethod(Magick::BackgroundDispose);
captioned.push_back(appended); captioned.push_back(appended);
} }

337
package-lock.json generated
View File

@ -496,9 +496,9 @@
} }
}, },
"node_modules/@eslint/eslintrc/node_modules/globals": { "node_modules/@eslint/eslintrc/node_modules/globals": {
"version": "13.9.0", "version": "13.10.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz",
"integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"type-fest": "^0.20.2" "type-fest": "^0.20.2"
@ -510,38 +510,53 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/@humanwhocodes/config-array": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
"integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
"dev": true,
"dependencies": {
"@humanwhocodes/object-schema": "^1.2.0",
"debug": "^4.1.1",
"minimatch": "^3.0.4"
},
"engines": {
"node": ">=10.10.0"
}
},
"node_modules/@humanwhocodes/object-schema": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz",
"integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==",
"dev": true
},
"node_modules/@tokenizer/token": { "node_modules/@tokenizer/token": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz",
"integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w=="
}, },
"node_modules/@top-gg/sdk": { "node_modules/@top-gg/sdk": {
"version": "3.1.1", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/@top-gg/sdk/-/sdk-3.1.1.tgz", "resolved": "https://registry.npmjs.org/@top-gg/sdk/-/sdk-3.1.2.tgz",
"integrity": "sha512-G1JmSDN/JDAkIQdKvPbY49Ercca38234WEgnA1s1Zve28Ga0OWpooMm6k7Idran7Phnva6iQxtH/aWyYGaXPvA==", "integrity": "sha512-k44J9lCzyER4F7CClhhP9apgTqGLQeKCy4Hop2g2357QYOAFk8YlbdJOaEFts1v0V9rIQPrWK7w2t1KI/mgzCQ==",
"dependencies": { "dependencies": {
"node-fetch": "^2.6.1", "node-fetch": "^2.6.1",
"raw-body": "^2.4.1" "raw-body": "^2.4.1"
} }
}, },
"node_modules/@types/bson": { "node_modules/@types/bson": {
"version": "4.0.3", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz", "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.4.tgz",
"integrity": "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==", "integrity": "sha512-awqorHvQS0DqxkHQ/FxcPX9E+H7Du51Qw/2F+5TBMSaE3G0hm+8D3eXJ6MAzFw75nE8V7xF0QvzUSdxIjJb/GA==",
"optional": true, "optional": true,
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/@types/debug": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz",
"integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ=="
},
"node_modules/@types/mongodb": { "node_modules/@types/mongodb": {
"version": "3.6.18", "version": "3.6.20",
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.18.tgz", "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
"integrity": "sha512-JSVFt9p0rTfZ4EgzXmVHUB3ue00xe3CRbQho8nXfImzEDDM4O7I3po1bwbWl/EIbLENxUreZxqLOc8lvcnLVPA==", "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
"optional": true, "optional": true,
"dependencies": { "dependencies": {
"@types/bson": "*", "@types/bson": "*",
@ -549,18 +564,10 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "15.12.5", "version": "15.14.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz",
"integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==" "integrity": "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw==",
}, "optional": true
"node_modules/@types/readable-stream": {
"version": "2.3.10",
"resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.10.tgz",
"integrity": "sha512-xwSXvAv9x4B9Vj88AMZnFyEVLilz1EBxKvRUhGqIF4nJpRQBSTm7jS236X4Y9Y2qPsVvaMxwrGJlNhLHEahlFQ==",
"dependencies": {
"@types/node": "*",
"safe-buffer": "*"
}
}, },
"node_modules/acorn": { "node_modules/acorn": {
"version": "7.4.1", "version": "7.4.1",
@ -575,9 +582,9 @@
} }
}, },
"node_modules/acorn-jsx": { "node_modules/acorn-jsx": {
"version": "5.3.1", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true, "dev": true,
"peerDependencies": { "peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
@ -861,9 +868,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001241", "version": "1.0.30001243",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz",
"integrity": "sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==", "integrity": "sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA==",
"dev": true, "dev": true,
"peer": true, "peer": true,
"funding": { "funding": {
@ -1076,14 +1083,14 @@
} }
}, },
"node_modules/dayjs": { "node_modules/dayjs": {
"version": "1.10.5", "version": "1.10.6",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.5.tgz", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
"integrity": "sha512-BUFis41ikLz+65iH6LHQCDm4YPMj5r1YFLdupPIyM4SGcXMmtiLQ7U37i+hGS8urIuqe7I/ou3IS1jVc4nbN4g==" "integrity": "sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw=="
}, },
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.1", "version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"ms": "2.1.2" "ms": "2.1.2"
@ -1189,9 +1196,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.3.761", "version": "1.3.773",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.761.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.773.tgz",
"integrity": "sha512-7a/wV/plM/b95XjTdA2Q4zAxxExTDKkNQpTiaU/nVT8tGCQVtX9NsnTjhALBFICpOB58hU6xg5fFC3CT2Bybpg==", "integrity": "sha512-Y44FtvE3Lpr7ka/kPdQbIYzUBCWddW8Ky5QzKbasDeqFdJYK9izaiiAIRAoE3Kdu7+GPBVwwyWDaQ2yyeNqWRA==",
"dev": true, "dev": true,
"peer": true "peer": true
}, },
@ -1242,7 +1249,7 @@
}, },
"node_modules/eris-fleet": { "node_modules/eris-fleet": {
"version": "0.3.7", "version": "0.3.7",
"resolved": "git+ssh://git@github.com/esmBot/eris-fleet.git#7cf997d73f24c3ba3d17df978f0b672adaa021dd", "resolved": "git+ssh://git@github.com/esmBot/eris-fleet.git#d3d45110b9e32ada67fc9a8411ece8ac7ee7eaf9",
"license": "MIT", "license": "MIT",
"peerDependencies": { "peerDependencies": {
"eris": "^0.15.0" "eris": "^0.15.0"
@ -1279,13 +1286,14 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "7.29.0", "version": "7.30.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.29.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz",
"integrity": "sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA==", "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/code-frame": "7.12.11", "@babel/code-frame": "7.12.11",
"@eslint/eslintrc": "^0.4.2", "@eslint/eslintrc": "^0.4.2",
"@humanwhocodes/config-array": "^0.5.0",
"ajv": "^6.10.0", "ajv": "^6.10.0",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"cross-spawn": "^7.0.2", "cross-spawn": "^7.0.2",
@ -1460,9 +1468,9 @@
} }
}, },
"node_modules/eslint/node_modules/globals": { "node_modules/eslint/node_modules/globals": {
"version": "13.9.0", "version": "13.10.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz",
"integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"type-fest": "^0.20.2" "type-fest": "^0.20.2"
@ -1633,9 +1641,9 @@
"dev": true "dev": true
}, },
"node_modules/fast-safe-stringify": { "node_modules/fast-safe-stringify": {
"version": "2.0.7", "version": "2.0.8",
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz",
"integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag=="
}, },
"node_modules/fecha": { "node_modules/fecha": {
"version": "4.2.1", "version": "4.2.1",
@ -1655,9 +1663,9 @@
} }
}, },
"node_modules/file-type": { "node_modules/file-type": {
"version": "16.5.0", "version": "16.5.1",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.0.tgz", "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.1.tgz",
"integrity": "sha512-OxgWA9tbL8N/WP00GD1z8O0MiwQKFyWRs1q+3FhjdvcGgKqwxcejyGWso3n4/IMU6DdwV+ARZ4A7TTnPkDcSiw==", "integrity": "sha512-Pi1G43smrCy82Q3be3sfKaeS5uHdfj905dP88YqhroG6TYbVY2ljTdDXeXqa6Cn5nOk6znOjWM2uZptA8vH/qQ==",
"dependencies": { "dependencies": {
"readable-web-to-node-stream": "^3.0.0", "readable-web-to-node-stream": "^3.0.0",
"strtok3": "^6.0.3", "strtok3": "^6.0.3",
@ -1701,9 +1709,9 @@
} }
}, },
"node_modules/flatted": { "node_modules/flatted": {
"version": "3.1.1", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz",
"integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==",
"dev": true "dev": true
}, },
"node_modules/fn.name": { "node_modules/fn.name": {
@ -2303,12 +2311,13 @@
} }
}, },
"node_modules/mongoose": { "node_modules/mongoose": {
"version": "5.13.0", "version": "5.13.2",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.0.tgz", "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.2.tgz",
"integrity": "sha512-8dvu7vxmDzlupj4I9T0g33GPf4HzSZmIOKQfG9RJQ5Nxk/Ztx1b8zlYp+blvaCfWwtBpiAJuKYOBU17Wq1RVFQ==", "integrity": "sha512-sBUKJGpdwZCq9102Lj6ZOaLcW4z/T4TI9aGWrNX5ZlICwChKWG4Wo5qriLImdww3H7bETPW9vYtSiADNlA4wSQ==",
"optional": true, "optional": true,
"dependencies": { "dependencies": {
"@types/mongodb": "^3.5.27", "@types/mongodb": "^3.5.27",
"@types/node": "14.x || 15.x",
"bson": "^1.1.4", "bson": "^1.1.4",
"kareem": "2.3.2", "kareem": "2.3.2",
"mongodb": "3.6.8", "mongodb": "3.6.8",
@ -2628,9 +2637,9 @@
} }
}, },
"node_modules/peek-readable": { "node_modules/peek-readable": {
"version": "3.1.3", "version": "3.1.4",
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.4.tgz",
"integrity": "sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==", "integrity": "sha512-DX7ec7frSMtCWw+zMd27f66hcxIz/w9LQTY2RflB4WNHCVPAye1pJiP2t3gvaaOhu7IOhtPbHw8MemMj+F5lrg==",
"engines": { "engines": {
"node": ">=8" "node": ">=8"
}, },
@ -2910,11 +2919,10 @@
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
}, },
"node_modules/readable-web-to-node-stream": { "node_modules/readable-web-to-node-stream": {
"version": "3.0.1", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz", "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
"integrity": "sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==", "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
"dependencies": { "dependencies": {
"@types/readable-stream": "^2.3.9",
"readable-stream": "^3.6.0" "readable-stream": "^3.6.0"
}, },
"engines": { "engines": {
@ -3317,16 +3325,15 @@
} }
}, },
"node_modules/strtok3": { "node_modules/strtok3": {
"version": "6.0.8", "version": "6.1.3",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.1.3.tgz",
"integrity": "sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==", "integrity": "sha512-ssWSKFOeUTurMSucgyUf+a6Z9mVTYrsYiyEK5RLnh8BM6sFrKSljVlnjZXIDxMguYfdQI+mUPFHo88FYTxq1XA==",
"dependencies": { "dependencies": {
"@tokenizer/token": "^0.1.1", "@tokenizer/token": "^0.1.1",
"@types/debug": "^4.1.5", "peek-readable": "^3.1.4"
"peek-readable": "^3.1.3"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=10"
}, },
"funding": { "funding": {
"type": "github", "type": "github",
@ -3363,9 +3370,9 @@
} }
}, },
"node_modules/table/node_modules/ajv": { "node_modules/table/node_modules/ajv": {
"version": "8.6.0", "version": "8.6.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz",
"integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
@ -3766,9 +3773,9 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}, },
"node_modules/ws": { "node_modules/ws": {
"version": "7.5.1", "version": "7.5.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
"integrity": "sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==", "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
"engines": { "engines": {
"node": ">=8.3.0" "node": ">=8.3.0"
}, },
@ -4223,9 +4230,9 @@
}, },
"dependencies": { "dependencies": {
"globals": { "globals": {
"version": "13.9.0", "version": "13.10.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz",
"integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==",
"dev": true, "dev": true,
"requires": { "requires": {
"type-fest": "^0.20.2" "type-fest": "^0.20.2"
@ -4233,38 +4240,50 @@
} }
} }
}, },
"@humanwhocodes/config-array": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
"integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
"dev": true,
"requires": {
"@humanwhocodes/object-schema": "^1.2.0",
"debug": "^4.1.1",
"minimatch": "^3.0.4"
}
},
"@humanwhocodes/object-schema": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz",
"integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==",
"dev": true
},
"@tokenizer/token": { "@tokenizer/token": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz",
"integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w=="
}, },
"@top-gg/sdk": { "@top-gg/sdk": {
"version": "3.1.1", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/@top-gg/sdk/-/sdk-3.1.1.tgz", "resolved": "https://registry.npmjs.org/@top-gg/sdk/-/sdk-3.1.2.tgz",
"integrity": "sha512-G1JmSDN/JDAkIQdKvPbY49Ercca38234WEgnA1s1Zve28Ga0OWpooMm6k7Idran7Phnva6iQxtH/aWyYGaXPvA==", "integrity": "sha512-k44J9lCzyER4F7CClhhP9apgTqGLQeKCy4Hop2g2357QYOAFk8YlbdJOaEFts1v0V9rIQPrWK7w2t1KI/mgzCQ==",
"requires": { "requires": {
"node-fetch": "^2.6.1", "node-fetch": "^2.6.1",
"raw-body": "^2.4.1" "raw-body": "^2.4.1"
} }
}, },
"@types/bson": { "@types/bson": {
"version": "4.0.3", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz", "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.4.tgz",
"integrity": "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==", "integrity": "sha512-awqorHvQS0DqxkHQ/FxcPX9E+H7Du51Qw/2F+5TBMSaE3G0hm+8D3eXJ6MAzFw75nE8V7xF0QvzUSdxIjJb/GA==",
"optional": true, "optional": true,
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
} }
}, },
"@types/debug": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz",
"integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ=="
},
"@types/mongodb": { "@types/mongodb": {
"version": "3.6.18", "version": "3.6.20",
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.18.tgz", "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
"integrity": "sha512-JSVFt9p0rTfZ4EgzXmVHUB3ue00xe3CRbQho8nXfImzEDDM4O7I3po1bwbWl/EIbLENxUreZxqLOc8lvcnLVPA==", "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
"optional": true, "optional": true,
"requires": { "requires": {
"@types/bson": "*", "@types/bson": "*",
@ -4272,18 +4291,10 @@
} }
}, },
"@types/node": { "@types/node": {
"version": "15.12.5", "version": "15.14.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz",
"integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==" "integrity": "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw==",
}, "optional": true
"@types/readable-stream": {
"version": "2.3.10",
"resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.10.tgz",
"integrity": "sha512-xwSXvAv9x4B9Vj88AMZnFyEVLilz1EBxKvRUhGqIF4nJpRQBSTm7jS236X4Y9Y2qPsVvaMxwrGJlNhLHEahlFQ==",
"requires": {
"@types/node": "*",
"safe-buffer": "*"
}
}, },
"acorn": { "acorn": {
"version": "7.4.1", "version": "7.4.1",
@ -4292,9 +4303,9 @@
"dev": true "dev": true
}, },
"acorn-jsx": { "acorn-jsx": {
"version": "5.3.1", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
@ -4505,9 +4516,9 @@
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001241", "version": "1.0.30001243",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz",
"integrity": "sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==", "integrity": "sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA==",
"dev": true, "dev": true,
"peer": true "peer": true
}, },
@ -4687,14 +4698,14 @@
} }
}, },
"dayjs": { "dayjs": {
"version": "1.10.5", "version": "1.10.6",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.5.tgz", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
"integrity": "sha512-BUFis41ikLz+65iH6LHQCDm4YPMj5r1YFLdupPIyM4SGcXMmtiLQ7U37i+hGS8urIuqe7I/ou3IS1jVc4nbN4g==" "integrity": "sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw=="
}, },
"debug": { "debug": {
"version": "4.3.1", "version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true, "dev": true,
"requires": { "requires": {
"ms": "2.1.2" "ms": "2.1.2"
@ -4765,9 +4776,9 @@
"integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==" "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg=="
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.3.761", "version": "1.3.773",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.761.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.773.tgz",
"integrity": "sha512-7a/wV/plM/b95XjTdA2Q4zAxxExTDKkNQpTiaU/nVT8tGCQVtX9NsnTjhALBFICpOB58hU6xg5fFC3CT2Bybpg==", "integrity": "sha512-Y44FtvE3Lpr7ka/kPdQbIYzUBCWddW8Ky5QzKbasDeqFdJYK9izaiiAIRAoE3Kdu7+GPBVwwyWDaQ2yyeNqWRA==",
"dev": true, "dev": true,
"peer": true "peer": true
}, },
@ -4809,7 +4820,7 @@
} }
}, },
"eris-fleet": { "eris-fleet": {
"version": "git+ssh://git@github.com/esmBot/eris-fleet.git#7cf997d73f24c3ba3d17df978f0b672adaa021dd", "version": "git+ssh://git@github.com/esmBot/eris-fleet.git#d3d45110b9e32ada67fc9a8411ece8ac7ee7eaf9",
"from": "eris-fleet@github:esmBot/eris-fleet", "from": "eris-fleet@github:esmBot/eris-fleet",
"requires": {} "requires": {}
}, },
@ -4836,13 +4847,14 @@
"dev": true "dev": true
}, },
"eslint": { "eslint": {
"version": "7.29.0", "version": "7.30.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.29.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz",
"integrity": "sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA==", "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "7.12.11", "@babel/code-frame": "7.12.11",
"@eslint/eslintrc": "^0.4.2", "@eslint/eslintrc": "^0.4.2",
"@humanwhocodes/config-array": "^0.5.0",
"ajv": "^6.10.0", "ajv": "^6.10.0",
"chalk": "^4.0.0", "chalk": "^4.0.0",
"cross-spawn": "^7.0.2", "cross-spawn": "^7.0.2",
@ -4932,9 +4944,9 @@
"dev": true "dev": true
}, },
"globals": { "globals": {
"version": "13.9.0", "version": "13.10.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz",
"integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==",
"dev": true, "dev": true,
"requires": { "requires": {
"type-fest": "^0.20.2" "type-fest": "^0.20.2"
@ -5100,9 +5112,9 @@
"dev": true "dev": true
}, },
"fast-safe-stringify": { "fast-safe-stringify": {
"version": "2.0.7", "version": "2.0.8",
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz",
"integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag=="
}, },
"fecha": { "fecha": {
"version": "4.2.1", "version": "4.2.1",
@ -5119,9 +5131,9 @@
} }
}, },
"file-type": { "file-type": {
"version": "16.5.0", "version": "16.5.1",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.0.tgz", "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.1.tgz",
"integrity": "sha512-OxgWA9tbL8N/WP00GD1z8O0MiwQKFyWRs1q+3FhjdvcGgKqwxcejyGWso3n4/IMU6DdwV+ARZ4A7TTnPkDcSiw==", "integrity": "sha512-Pi1G43smrCy82Q3be3sfKaeS5uHdfj905dP88YqhroG6TYbVY2ljTdDXeXqa6Cn5nOk6znOjWM2uZptA8vH/qQ==",
"requires": { "requires": {
"readable-web-to-node-stream": "^3.0.0", "readable-web-to-node-stream": "^3.0.0",
"strtok3": "^6.0.3", "strtok3": "^6.0.3",
@ -5153,9 +5165,9 @@
} }
}, },
"flatted": { "flatted": {
"version": "3.1.1", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz",
"integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==",
"dev": true "dev": true
}, },
"fn.name": { "fn.name": {
@ -5603,12 +5615,13 @@
} }
}, },
"mongoose": { "mongoose": {
"version": "5.13.0", "version": "5.13.2",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.0.tgz", "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.2.tgz",
"integrity": "sha512-8dvu7vxmDzlupj4I9T0g33GPf4HzSZmIOKQfG9RJQ5Nxk/Ztx1b8zlYp+blvaCfWwtBpiAJuKYOBU17Wq1RVFQ==", "integrity": "sha512-sBUKJGpdwZCq9102Lj6ZOaLcW4z/T4TI9aGWrNX5ZlICwChKWG4Wo5qriLImdww3H7bETPW9vYtSiADNlA4wSQ==",
"optional": true, "optional": true,
"requires": { "requires": {
"@types/mongodb": "^3.5.27", "@types/mongodb": "^3.5.27",
"@types/node": "14.x || 15.x",
"bson": "^1.1.4", "bson": "^1.1.4",
"kareem": "2.3.2", "kareem": "2.3.2",
"mongodb": "3.6.8", "mongodb": "3.6.8",
@ -5858,9 +5871,9 @@
"dev": true "dev": true
}, },
"peek-readable": { "peek-readable": {
"version": "3.1.3", "version": "3.1.4",
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.4.tgz",
"integrity": "sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==" "integrity": "sha512-DX7ec7frSMtCWw+zMd27f66hcxIz/w9LQTY2RflB4WNHCVPAye1pJiP2t3gvaaOhu7IOhtPbHw8MemMj+F5lrg=="
}, },
"pg": { "pg": {
"version": "8.6.0", "version": "8.6.0",
@ -6073,11 +6086,10 @@
} }
}, },
"readable-web-to-node-stream": { "readable-web-to-node-stream": {
"version": "3.0.1", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz", "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
"integrity": "sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==", "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
"requires": { "requires": {
"@types/readable-stream": "^2.3.9",
"readable-stream": "^3.6.0" "readable-stream": "^3.6.0"
}, },
"dependencies": { "dependencies": {
@ -6381,13 +6393,12 @@
"dev": true "dev": true
}, },
"strtok3": { "strtok3": {
"version": "6.0.8", "version": "6.1.3",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz", "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.1.3.tgz",
"integrity": "sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==", "integrity": "sha512-ssWSKFOeUTurMSucgyUf+a6Z9mVTYrsYiyEK5RLnh8BM6sFrKSljVlnjZXIDxMguYfdQI+mUPFHo88FYTxq1XA==",
"requires": { "requires": {
"@tokenizer/token": "^0.1.1", "@tokenizer/token": "^0.1.1",
"@types/debug": "^4.1.5", "peek-readable": "^3.1.4"
"peek-readable": "^3.1.3"
} }
}, },
"supports-color": { "supports-color": {
@ -6414,9 +6425,9 @@
}, },
"dependencies": { "dependencies": {
"ajv": { "ajv": {
"version": "8.6.0", "version": "8.6.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz",
"integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
@ -6740,9 +6751,9 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}, },
"ws": { "ws": {
"version": "7.5.1", "version": "7.5.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
"integrity": "sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==", "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
"requires": {} "requires": {}
}, },
"xtend": { "xtend": {

View File

@ -37,7 +37,7 @@ Default prefix is \`&\`.
**Want to help support esmBot's development? Consider donating on Patreon!** https://patreon.com/TheEssem **Want to help support esmBot's development? Consider donating on Patreon!** https://patreon.com/TheEssem
> Tip: You can get more info about a command by using \`help [command]\` in the bot itself. > Tip: You can get much more info about a command by using \`help [command]\` in the bot itself.
`; `;
template += "\n## Table of Contents\n"; template += "\n## Table of Contents\n";

View File

@ -19,7 +19,8 @@ class ReactionCollector extends EventEmitter {
if (this.message.id !== message.id) return false; if (this.message.id !== message.id) return false;
if (this.filter(message, emoji, member)) { if (this.filter(message, emoji, member)) {
this.collected.push({ message: message, emoji: emoji, member: member }); this.collected.push({ message: message, emoji: emoji, member: member });
this.emit("reaction", await this.bot.getMessage(message.channel.id, message.id), emoji, member); const msg = await this.bot.getMessage(message.channel.id, message.id);
this.emit("reaction", msg, emoji, member);
if (this.collected.length >= this.options.maxMatches) this.stop("maxMatches"); if (this.collected.length >= this.options.maxMatches) this.stop("maxMatches");
return true; return true;
} }