diff --git a/commands/fun/8ball.js b/commands/fun/8ball.js
index 80f1bb1..faa4a81 100644
--- a/commands/fun/8ball.js
+++ b/commands/fun/8ball.js
@@ -2,6 +2,7 @@ import Command from "../../classes/command.js";
import { random } from "../../utils/misc.js";
class EightBallCommand extends Command {
+ static category = "general"
static responses = [
"It is certain",
"It is decidedly so",
diff --git a/commands/fun/ancient.js b/commands/fun/ancient.js
index 775c549..e4e0895 100644
--- a/commands/fun/ancient.js
+++ b/commands/fun/ancient.js
@@ -2,6 +2,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class AncientCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const controller = new AbortController();
diff --git a/commands/fun/bird.js b/commands/fun/bird.js
index 4ed8e65..651b452 100644
--- a/commands/fun/bird.js
+++ b/commands/fun/bird.js
@@ -2,6 +2,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class BirdCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const controller = new AbortController();
diff --git a/commands/fun/cat.js b/commands/fun/cat.js
index bc48e50..453b5db 100644
--- a/commands/fun/cat.js
+++ b/commands/fun/cat.js
@@ -2,6 +2,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class CatCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const controller = new AbortController();
diff --git a/commands/fun/dice.js b/commands/fun/dice.js
index 18bd87b..8a7b20f 100644
--- a/commands/fun/dice.js
+++ b/commands/fun/dice.js
@@ -1,6 +1,7 @@
import Command from "../../classes/command.js";
class DiceCommand extends Command {
+ static category = "general"
async run() {
const max = this.options.max ?? parseInt(this.args[0]);
if (!max) {
diff --git a/commands/fun/dog.js b/commands/fun/dog.js
index af6eeed..46c3107 100644
--- a/commands/fun/dog.js
+++ b/commands/fun/dog.js
@@ -2,6 +2,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class DogCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const controller = new AbortController();
diff --git a/commands/fun/homebrew.js b/commands/fun/homebrew.js
index b6a425e..d25a09e 100644
--- a/commands/fun/homebrew.js
+++ b/commands/fun/homebrew.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class HomebrewCommand extends ImageCommand {
+ static category = "image-editing"
params() {
return {
caption: (this.options.text ?? this.args.join(" ")).toLowerCase().replaceAll("\n", " ")
diff --git a/commands/fun/sonic.js b/commands/fun/sonic.js
index 499d1d8..00d5b96 100644
--- a/commands/fun/sonic.js
+++ b/commands/fun/sonic.js
@@ -3,6 +3,7 @@ import ImageCommand from "../../classes/imageCommand.js";
import { cleanMessage } from "../../utils/misc.js";
class SonicCommand extends ImageCommand {
+ static category = "image-editing"
params() {
const cleanedMessage = cleanMessage(this.message ?? this.interaction, this.options.text ?? this.args.join(" "));
return {
diff --git a/commands/fun/wikihow.js b/commands/fun/wikihow.js
index 36b881a..0a8be34 100644
--- a/commands/fun/wikihow.js
+++ b/commands/fun/wikihow.js
@@ -2,6 +2,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class WikihowCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const controller = new AbortController();
diff --git a/commands/general/base64.js b/commands/general/base64.js
index 3e7abf4..9a4a9b7 100644
--- a/commands/general/base64.js
+++ b/commands/general/base64.js
@@ -2,6 +2,7 @@ import Command from "../../classes/command.js";
import { clean } from "../../utils/misc.js";
class Base64Command extends Command {
+ static category = "general"
async run() {
this.success = false;
if (this.type === "classic" && this.args.length === 0) return "You need to provide whether you want to encode or decode the text!";
diff --git a/commands/general/count.js b/commands/general/count.js
index 712ad92..e4dbf54 100644
--- a/commands/general/count.js
+++ b/commands/general/count.js
@@ -3,6 +3,7 @@ import database from "../../utils/database.js";
import Command from "../../classes/command.js";
class CountCommand extends Command {
+ static category = "general"
async run() {
if (this.guild && !this.channel.permissionsOf(this.client.user.id.toString()).has("EMBED_LINKS")) {
this.success = false;
diff --git a/commands/general/donate.js b/commands/general/donate.js
index f49c4d5..bdf233b 100644
--- a/commands/general/donate.js
+++ b/commands/general/donate.js
@@ -2,6 +2,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class DonateCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
let prefix = "";
diff --git a/commands/general/eval.js b/commands/general/eval.js
index 7c14866..6c851e0 100644
--- a/commands/general/eval.js
+++ b/commands/general/eval.js
@@ -2,6 +2,7 @@ import { clean } from "../../utils/misc.js";
import Command from "../../classes/command.js";
class EvalCommand extends Command {
+ static category = "general"
async run() {
const owners = process.env.OWNER.split(",");
if (!owners.includes(this.author)) {
diff --git a/commands/general/exec.js b/commands/general/exec.js
index 31eb960..17b2a11 100644
--- a/commands/general/exec.js
+++ b/commands/general/exec.js
@@ -1,10 +1,11 @@
-import { clean } from "../../utils/misc.js";
+import { clean, htmlescape } from "../../utils/misc.js";
import * as util from "util";
import { exec as baseExec } from "child_process";
const exec = util.promisify(baseExec);
import Command from "../../classes/command.js";
class ExecCommand extends Command {
+ static category = "general"
async run() {
const owners = process.env.OWNER.split(",");
if (!owners.includes(this.author)) {
@@ -15,7 +16,7 @@ class ExecCommand extends Command {
const code = this.options.cmd ?? this.args.join(" ");
try {
const execed = await exec(code);
- if (execed.stderr) return { html: `
${await clean(execed.stderr)}
` };
+ if (execed.stderr) return { html: `${htmlescape(await clean(execed.stderr))}
` };
const cleaned = await clean(execed.stdout);
const sendString = `${cleaned}`;
if (sendString.length >= 4000) {
@@ -25,7 +26,7 @@ class ExecCommand extends Command {
name: "result.txt"
};
} else {
- return { html: ""+sendString+"
" };
+ return { html: ""+htmlescape(sendString)+"
" };
}
} catch (err) {
return `\`ERROR\` ${await clean(err)}`;
diff --git a/commands/general/image.js b/commands/general/image.js
index 85d66f2..32871f1 100644
--- a/commands/general/image.js
+++ b/commands/general/image.js
@@ -6,6 +6,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class ImageSearchCommand extends Command {
+ static category = "general"
async run() {
this.success = false;
// if (this.channel && !this.channel.permissionsOf(this.client.user.id.toString()).has("EMBED_LINKS")) return "I don't have the `Embed Links` permission!";
diff --git a/commands/general/imagereload.js b/commands/general/imagereload.js
index 3821899..b8a40ec 100644
--- a/commands/general/imagereload.js
+++ b/commands/general/imagereload.js
@@ -2,6 +2,7 @@ import Command from "../../classes/command.js";
import { reloadImageConnections } from "../../utils/image.js";
class ImageReloadCommand extends Command {
+ static category = "general"
async run() {
const owners = process.env.OWNER.split(",");
if (!owners.includes(this.author)) {
diff --git a/commands/general/imagestats.js b/commands/general/imagestats.js
index 8d2a98a..22d18ff 100644
--- a/commands/general/imagestats.js
+++ b/commands/general/imagestats.js
@@ -2,6 +2,7 @@ import Command from "../../classes/command.js";
import { connections } from "../../utils/image.js";
class ImageStatsCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
let desc = `The bot is currently connected to ${connections.size} image server(s).\n`
diff --git a/commands/general/info.js b/commands/general/info.js
index 33ac39d..adad429 100644
--- a/commands/general/info.js
+++ b/commands/general/info.js
@@ -4,6 +4,7 @@ import Command from "../../classes/command.js";
import { getServers } from "../../utils/misc.js";
class InfoCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
return { html: `mrmBot Info/Credits
This instance is managed by ${process.env.OWNER.split(",")[0]}.
v${version}-mrm (${process.env.GIT_REV})
Bot by Essem and other contributors.
Fork by Murm.` };
diff --git a/commands/general/lengthen.js b/commands/general/lengthen.js
index f4a6e8b..3693fbb 100644
--- a/commands/general/lengthen.js
+++ b/commands/general/lengthen.js
@@ -3,6 +3,7 @@ import { request } from "undici";
import Command from "../../classes/command.js";
class LengthenCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const input = this.options.url ?? this.args.join(" ");
diff --git a/commands/general/prefix.js b/commands/general/prefix.js
index 60727f9..d447d8a 100644
--- a/commands/general/prefix.js
+++ b/commands/general/prefix.js
@@ -2,6 +2,7 @@ import database from "../../utils/database.js";
import Command from "../../classes/command.js";
class PrefixCommand extends Command {
+ static category = "general"
async run() {
if (!this.guild) return `The current prefix is \`${process.env.PREFIX}\`.`;
const guild = await database.getGuild(this.guild.id);
diff --git a/commands/general/qrcreate.js b/commands/general/qrcreate.js
index b64d679..934bbbc 100644
--- a/commands/general/qrcreate.js
+++ b/commands/general/qrcreate.js
@@ -3,6 +3,7 @@ import { PassThrough } from "stream";
import Command from "../../classes/command.js";
class QrCreateCommand extends Command {
+ static category = "general"
async run() {
if (this.args.length === 0) {
this.success = false;
diff --git a/commands/general/qrread.js b/commands/general/qrread.js
index 7041de9..77c4391 100644
--- a/commands/general/qrread.js
+++ b/commands/general/qrread.js
@@ -6,6 +6,7 @@ import Command from "../../classes/command.js";
import imageDetect from "../../utils/imagedetect.js";
class QrReadCommand extends Command {
+ static category = "general"
async run() {
const image = await imageDetect(this.client, this.message, this.interaction, this.options);
this.success = false;
diff --git a/commands/general/raw.js b/commands/general/raw.js
index bfd90ee..5f7ec9f 100644
--- a/commands/general/raw.js
+++ b/commands/general/raw.js
@@ -2,6 +2,7 @@ import Command from "../../classes/command.js";
import imageDetect from "../../utils/imagedetect.js";
class RawCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const image = await imageDetect(this.client, this.message, this.interaction, this.options);
diff --git a/commands/general/reload.js b/commands/general/reload.js
index 140bec4..72667d7 100644
--- a/commands/general/reload.js
+++ b/commands/general/reload.js
@@ -3,6 +3,7 @@ import { load } from "../../utils/handler.js";
import { paths } from "../../utils/collections.js";
class ReloadCommand extends Command {
+ static category = "general"
async run() {
const owners = process.env.OWNER.split(",");
if (!owners.includes(this.author)) return "Only the bot owner can reload commands!";
diff --git a/commands/general/restart.js b/commands/general/restart.js
index efa424a..0a6cc8f 100644
--- a/commands/general/restart.js
+++ b/commands/general/restart.js
@@ -1,6 +1,7 @@
import Command from "../../classes/command.js";
class RestartCommand extends Command {
+ static category = "general"
async run() {
const owners = process.env.OWNER.split(",");
if (!owners.includes(this.author)) {
diff --git a/commands/general/stats.js.disabled b/commands/general/stats.js.disabled
index 331d781..649d3bc 100644
--- a/commands/general/stats.js.disabled
+++ b/commands/general/stats.js.disabled
@@ -7,6 +7,7 @@ import pm2 from "pm2";
import { getServers } from "../../utils/misc.js";
class StatsCommand extends Command {
+ static category = "general"
async run() {
const uptime = process.uptime() * 1000;
const connUptime = this.client.uptime;
diff --git a/commands/general/youtube.js b/commands/general/youtube.js
index 514da42..6b62e7e 100644
--- a/commands/general/youtube.js
+++ b/commands/general/youtube.js
@@ -6,6 +6,7 @@ import { random } from "../../utils/misc.js";
import Command from "../../classes/command.js";
class YouTubeCommand extends Command {
+ static category = "general"
async run() {
const query = this.options.query ?? this.args.join(" ");
this.success = false;
diff --git a/commands/image-editing/9gag.js b/commands/image-editing/9gag.js
index e804c52..2b2f3e8 100644
--- a/commands/image-editing/9gag.js
+++ b/commands/image-editing/9gag.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class NineGagCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/9gag.png",
gravity: 6
diff --git a/commands/image-editing/avs4you.js b/commands/image-editing/avs4you.js
index 771930b..1e5ebb4 100644
--- a/commands/image-editing/avs4you.js
+++ b/commands/image-editing/avs4you.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class AVSCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/avs4you.png",
gravity: 5,
diff --git a/commands/image-editing/bandicam.js b/commands/image-editing/bandicam.js
index 2208adc..66ccd10 100644
--- a/commands/image-editing/bandicam.js
+++ b/commands/image-editing/bandicam.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class BandicamCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/bandicam.png",
gravity: 2,
diff --git a/commands/image-editing/blur.js b/commands/image-editing/blur.js
index c1feafe..964378f 100644
--- a/commands/image-editing/blur.js
+++ b/commands/image-editing/blur.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class BlurCommand extends ImageCommand {
+ static category = "image-editing"
params = {
sharp: false
};
diff --git a/commands/image-editing/bounce.js b/commands/image-editing/bounce.js
index ea0ce5d..16d6afa 100644
--- a/commands/image-editing/bounce.js
+++ b/commands/image-editing/bounce.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class BounceCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Makes an image bounce up and down";
static aliases = ["bouncy"];
diff --git a/commands/image-editing/caption.js b/commands/image-editing/caption.js
index 29e1136..1137a20 100644
--- a/commands/image-editing/caption.js
+++ b/commands/image-editing/caption.js
@@ -2,6 +2,7 @@ import ImageCommand from "../../classes/imageCommand.js";
import { cleanMessage } from "../../utils/misc.js";
class CaptionCommand extends ImageCommand {
+ static category = "image-editing"
params(url) {
const newArgs = this.options.text ?? this.args.filter(item => !item.includes(url)).join(" ");
let newCaption = cleanMessage(this.message ?? this.interaction, newArgs);
diff --git a/commands/image-editing/caption2.js b/commands/image-editing/caption2.js
index f2d2b14..0ff18f2 100644
--- a/commands/image-editing/caption2.js
+++ b/commands/image-editing/caption2.js
@@ -3,6 +3,7 @@ import { cleanMessage } from "../../utils/misc.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"];
class CaptionTwoCommand extends ImageCommand {
+ static category = "image-editing"
params(url) {
const newArgs = this.options.text ?? this.args.filter(item => !item.includes(url)).join(" ");
return {
diff --git a/commands/image-editing/circle.js b/commands/image-editing/circle.js
index 14badfb..6bdad55 100644
--- a/commands/image-editing/circle.js
+++ b/commands/image-editing/circle.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class CircleCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Applies a radial blur effect on an image";
static aliases = ["cblur", "radial", "radialblur"];
diff --git a/commands/image-editing/crop.js b/commands/image-editing/crop.js
index 67368ea..8920baf 100644
--- a/commands/image-editing/crop.js
+++ b/commands/image-editing/crop.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class CropCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Crops an image to 1:1";
static noImage = "You need to provide an image/GIF to crop!";
diff --git a/commands/image-editing/deepfry.js b/commands/image-editing/deepfry.js
index 41c572c..2b62aa0 100644
--- a/commands/image-editing/deepfry.js
+++ b/commands/image-editing/deepfry.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class DeepfryCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Deep-fries an image";
static aliases = ["fry", "jpeg2", "nuke", "df"];
diff --git a/commands/image-editing/deviantart.js b/commands/image-editing/deviantart.js
index 85544ed..1110bff 100644
--- a/commands/image-editing/deviantart.js
+++ b/commands/image-editing/deviantart.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class DeviantArtCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/deviantart.png",
gravity: 5,
diff --git a/commands/image-editing/explode.js b/commands/image-editing/explode.js
index 2f1706e..ed4e65a 100644
--- a/commands/image-editing/explode.js
+++ b/commands/image-editing/explode.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class ExplodeCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Explodes an image";
static aliases = ["exp"];
diff --git a/commands/image-editing/flag.js b/commands/image-editing/flag.js
index 0410db5..3ae18ef 100644
--- a/commands/image-editing/flag.js
+++ b/commands/image-editing/flag.js
@@ -4,6 +4,7 @@ import emoji from "node-emoji";
import ImageCommand from "../../classes/imageCommand.js";
class FlagCommand extends ImageCommand {
+ static category = "image-editing"
flagPath = "";
async criteria() {
diff --git a/commands/image-editing/flip.js b/commands/image-editing/flip.js
index 297cdbb..4cfa56a 100644
--- a/commands/image-editing/flip.js
+++ b/commands/image-editing/flip.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class FlipCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Flips an image";
static noImage = "You need to provide an image/GIF to flip!";
diff --git a/commands/image-editing/flop.js b/commands/image-editing/flop.js
index d8b91ca..b6e13eb 100644
--- a/commands/image-editing/flop.js
+++ b/commands/image-editing/flop.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class FlopCommand extends ImageCommand {
+ static category = "image-editing"
params = {
flop: true
};
diff --git a/commands/image-editing/freeze.js b/commands/image-editing/freeze.js
index dff2478..3e6a0d8 100644
--- a/commands/image-editing/freeze.js
+++ b/commands/image-editing/freeze.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class FreezeCommand extends ImageCommand {
+ static category = "image-editing"
params() {
const frameCount = parseInt(this.options.endframe ?? this.args[0]);
return {
diff --git a/commands/image-editing/funky.js b/commands/image-editing/funky.js
index abd9b7b..7afe8df 100644
--- a/commands/image-editing/funky.js
+++ b/commands/image-editing/funky.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class FunkyCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/funky.png",
gravity: 3,
diff --git a/commands/image-editing/gamexplain.js b/commands/image-editing/gamexplain.js
index fd9e938..1fd5044 100644
--- a/commands/image-editing/gamexplain.js
+++ b/commands/image-editing/gamexplain.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class GameXplainCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Makes a GameXplain thumbnail from an image";
static aliases = ["gx"];
diff --git a/commands/image-editing/gif.js b/commands/image-editing/gif.js
index 1ae4121..cc7a422 100644
--- a/commands/image-editing/gif.js
+++ b/commands/image-editing/gif.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class GIFCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Converts an image into a GIF";
static aliases = ["gif", "getgif", "togif", "tgif", "gifify"];
diff --git a/commands/image-editing/globe.js b/commands/image-editing/globe.js
index 506685b..ed93271 100644
--- a/commands/image-editing/globe.js
+++ b/commands/image-editing/globe.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class GlobeCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Spins an image";
static aliases = ["sphere"];
diff --git a/commands/image-editing/grayscale.js b/commands/image-editing/grayscale.js
index 6c89163..28c9824 100644
--- a/commands/image-editing/grayscale.js
+++ b/commands/image-editing/grayscale.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class GrayscaleCommand extends ImageCommand {
+ static category = "image-editing"
params = {
color: "grayscale"
};
diff --git a/commands/image-editing/haah.js b/commands/image-editing/haah.js
index a9881c2..aff0f62 100644
--- a/commands/image-editing/haah.js
+++ b/commands/image-editing/haah.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class HaaHCommand extends ImageCommand {
+ static category = "image-editing"
params = {
first: true
};
diff --git a/commands/image-editing/hooh.js b/commands/image-editing/hooh.js
index 2db4e9c..61c37a6 100644
--- a/commands/image-editing/hooh.js
+++ b/commands/image-editing/hooh.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class HooHCommand extends ImageCommand {
+ static category = "image-editing"
params = {
vertical: true
};
diff --git a/commands/image-editing/hypercam.js b/commands/image-editing/hypercam.js
index 97ab434..641579d 100644
--- a/commands/image-editing/hypercam.js
+++ b/commands/image-editing/hypercam.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class HypercamCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/hypercam.png",
gravity: 1,
diff --git a/commands/image-editing/ifunny.js b/commands/image-editing/ifunny.js
index c7a8934..f1b6783 100644
--- a/commands/image-editing/ifunny.js
+++ b/commands/image-editing/ifunny.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class iFunnyCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/ifunny.png",
gravity: 8,
diff --git a/commands/image-editing/implode.js b/commands/image-editing/implode.js
index 35680c6..3f77466 100644
--- a/commands/image-editing/implode.js
+++ b/commands/image-editing/implode.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class ImplodeCommand extends ImageCommand {
+ static category = "image-editing"
params = {
implode: true
};
diff --git a/commands/image-editing/invert.js b/commands/image-editing/invert.js
index 51e7859..185b98f 100644
--- a/commands/image-editing/invert.js
+++ b/commands/image-editing/invert.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class InvertCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Inverts an image";
static aliases = ["inverse", "negate", "negative"];
diff --git a/commands/image-editing/jpeg.js b/commands/image-editing/jpeg.js
index 35c87b4..22ae324 100644
--- a/commands/image-editing/jpeg.js
+++ b/commands/image-editing/jpeg.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class JPEGCommand extends ImageCommand {
+ static category = "image-editing"
params() {
const quality = parseInt(this.options.quality ?? this.args[0]);
return {
diff --git a/commands/image-editing/kinemaster.js b/commands/image-editing/kinemaster.js
index fa91f47..c418573 100644
--- a/commands/image-editing/kinemaster.js
+++ b/commands/image-editing/kinemaster.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class KineMasterCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/kinemaster.png",
gravity: 3,
diff --git a/commands/image-editing/magik.js b/commands/image-editing/magik.js
index 122be0b..427ad89 100644
--- a/commands/image-editing/magik.js
+++ b/commands/image-editing/magik.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class MagikCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Adds a content aware scale effect to an image";
static aliases = ["imagemagic", "imagemagick", "imagemagik", "magic", "magick", "cas", "liquid"];
diff --git a/commands/image-editing/meme.js b/commands/image-editing/meme.js
index a6af0fb..dfd6170 100644
--- a/commands/image-editing/meme.js
+++ b/commands/image-editing/meme.js
@@ -2,6 +2,7 @@ import ImageCommand from "../../classes/imageCommand.js";
import { cleanMessage } from "../../utils/misc.js";
class MemeCommand extends ImageCommand {
+ static category = "image-editing"
async criteria(text, url) {
const [topText, bottomText] = text.replaceAll(url, "").split(/(? elem.trim());
if (topText === "" && bottomText === "") {
diff --git a/commands/image-editing/memecenter.js b/commands/image-editing/memecenter.js
index c461242..2f02677 100644
--- a/commands/image-editing/memecenter.js
+++ b/commands/image-editing/memecenter.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class MemeCenterCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/memecenter.png",
gravity: 9,
diff --git a/commands/image-editing/motivate.js b/commands/image-editing/motivate.js
index 37b5a16..9b0e1be 100644
--- a/commands/image-editing/motivate.js
+++ b/commands/image-editing/motivate.js
@@ -2,6 +2,7 @@ import ImageCommand from "../../classes/imageCommand.js";
import { cleanMessage } from "../../utils/misc.js";
class MotivateCommand extends ImageCommand {
+ static category = "image-editing"
async criteria(text, url) {
const [topText, bottomText] = text.replaceAll(url, "").split(/(? elem.trim());
if (topText === "" && bottomText === "") {
diff --git a/commands/image-editing/pixelate.js b/commands/image-editing/pixelate.js
index 8074d5e..6c05ffb 100644
--- a/commands/image-editing/pixelate.js
+++ b/commands/image-editing/pixelate.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class PixelateCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Pixelates an image";
static aliases = ["pixel", "small"];
diff --git a/commands/image-editing/reddit.js b/commands/image-editing/reddit.js
index 5924248..5dcc445 100644
--- a/commands/image-editing/reddit.js
+++ b/commands/image-editing/reddit.js
@@ -3,6 +3,7 @@ import { random } from "../../utils/misc.js";
const names = ["esmBot", "me_irl", "dankmemes", "hmmm", "gaming", "wholesome", "chonkers", "memes", "funny", "lies"];
class RedditCommand extends ImageCommand {
+ static category = "image-editing"
params(url) {
const newArgs = this.options.text ?? this.args.filter(item => !item.includes(url)).join(" ");
return {
diff --git a/commands/image-editing/reverse.js b/commands/image-editing/reverse.js
index 3f34ade..036f8be 100644
--- a/commands/image-editing/reverse.js
+++ b/commands/image-editing/reverse.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class ReverseCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Reverses an image sequence";
static aliases = ["backwards"];
diff --git a/commands/image-editing/scott.js b/commands/image-editing/scott.js
index 28b472b..02ce701 100644
--- a/commands/image-editing/scott.js
+++ b/commands/image-editing/scott.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class ScottCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Makes Scott the Woz show off an image";
static aliases = ["woz", "tv", "porn"];
diff --git a/commands/image-editing/sepia.js b/commands/image-editing/sepia.js
index bdd4fb2..91c7de9 100644
--- a/commands/image-editing/sepia.js
+++ b/commands/image-editing/sepia.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SepiaCommand extends ImageCommand {
+ static category = "image-editing"
params = {
color: "sepia"
};
diff --git a/commands/image-editing/sharpen.js b/commands/image-editing/sharpen.js
index 0886d7e..050487d 100644
--- a/commands/image-editing/sharpen.js
+++ b/commands/image-editing/sharpen.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SharpenCommand extends ImageCommand {
+ static category = "image-editing"
params = {
sharp: true
};
diff --git a/commands/image-editing/shutterstock.js b/commands/image-editing/shutterstock.js
index 001e692..3f81b48 100644
--- a/commands/image-editing/shutterstock.js
+++ b/commands/image-editing/shutterstock.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class ShutterstockCommand extends ImageCommand {
+ static category = "image-editing"
params = {
water: "assets/images/shutterstock.png",
gravity: 5,
diff --git a/commands/image-editing/slow.js b/commands/image-editing/slow.js
index 59b2ecf..ad51817 100644
--- a/commands/image-editing/slow.js
+++ b/commands/image-editing/slow.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SlowCommand extends ImageCommand {
+ static category = "image-editing"
params() {
const speed = parseInt(this.options.multiplier ?? this.args[0]);
return {
diff --git a/commands/image-editing/snapchat.js b/commands/image-editing/snapchat.js
index e800060..6f40b30 100644
--- a/commands/image-editing/snapchat.js
+++ b/commands/image-editing/snapchat.js
@@ -2,6 +2,7 @@ import ImageCommand from "../../classes/imageCommand.js";
import { cleanMessage } from "../../utils/misc.js";
class SnapchatCommand extends ImageCommand {
+ static category = "image-editing"
params(url) {
const newArgs = this.options.text ?? this.args.filter(item => !item.includes(url)).join(" ");
const position = parseFloat(this.options.position);
diff --git a/commands/image-editing/soos.js b/commands/image-editing/soos.js
index 9aee465..ba6065f 100644
--- a/commands/image-editing/soos.js
+++ b/commands/image-editing/soos.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SooSCommand extends ImageCommand {
+ static category = "image-editing"
params = {
soos: true
};
diff --git a/commands/image-editing/speechbubble.js b/commands/image-editing/speechbubble.js
index 1ee494b..d2fe832 100644
--- a/commands/image-editing/speechbubble.js
+++ b/commands/image-editing/speechbubble.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SpeechBubbleCommand extends ImageCommand {
+ static category = "image-editing"
params() {
return {
water: this.options.alpha ? "assets/images/speech.png" : "assets/images/speechbubble.png",
diff --git a/commands/image-editing/speed.js b/commands/image-editing/speed.js
index ea332f6..a4107d8 100644
--- a/commands/image-editing/speed.js
+++ b/commands/image-editing/speed.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SpeedCommand extends ImageCommand {
+ static category = "image-editing"
params() {
const speed = parseInt(this.options.multiplier ?? this.args[0]);
return {
diff --git a/commands/image-editing/spin.js b/commands/image-editing/spin.js
index 6dca188..aca1e27 100644
--- a/commands/image-editing/spin.js
+++ b/commands/image-editing/spin.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SpinCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Spins an image";
static aliases = ["rotate"];
diff --git a/commands/image-editing/squish.js b/commands/image-editing/squish.js
index 173a040..925cbcb 100644
--- a/commands/image-editing/squish.js
+++ b/commands/image-editing/squish.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SquishCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Squishes/stretches an image";
static aliases = ["squishy", "squash"];
diff --git a/commands/image-editing/stretch.js b/commands/image-editing/stretch.js
index 131dcb1..563689e 100644
--- a/commands/image-editing/stretch.js
+++ b/commands/image-editing/stretch.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class StretchCommand extends ImageCommand {
+ static category = "image-editing"
params = {
stretch: true
};
diff --git a/commands/image-editing/swirl.js b/commands/image-editing/swirl.js
index a95cd15..19cffda 100644
--- a/commands/image-editing/swirl.js
+++ b/commands/image-editing/swirl.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class SwirlCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Swirls an image";
static aliases = ["whirlpool", "distort"];
diff --git a/commands/image-editing/tile.js b/commands/image-editing/tile.js
index a302f4f..af8d54d 100644
--- a/commands/image-editing/tile.js
+++ b/commands/image-editing/tile.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class TileCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Creates a tile pattern from an image";
static aliases = ["wall2"];
diff --git a/commands/image-editing/uncanny.js b/commands/image-editing/uncanny.js
index a6ee468..b305806 100644
--- a/commands/image-editing/uncanny.js
+++ b/commands/image-editing/uncanny.js
@@ -11,6 +11,7 @@ const names = readdirSync(resolve(dirname(fileURLToPath(import.meta.url)), "../.
});
class UncannyCommand extends ImageCommand {
+ static category = "image-editing"
params(url, name = "unknown") {
const newArgs = this.options.text ?? this.args.join(" ");
// eslint-disable-next-line prefer-const
diff --git a/commands/image-editing/uncaption.js b/commands/image-editing/uncaption.js
index c8992a1..34299dc 100644
--- a/commands/image-editing/uncaption.js
+++ b/commands/image-editing/uncaption.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class UncaptionCommand extends ImageCommand {
+ static category = "image-editing"
params() {
const tolerance = parseFloat(this.options.tolerance);
return {
diff --git a/commands/image-editing/unfreeze.js b/commands/image-editing/unfreeze.js
index b13559c..679b3b8 100644
--- a/commands/image-editing/unfreeze.js
+++ b/commands/image-editing/unfreeze.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class UnfreezeCommand extends ImageCommand {
+ static category = "image-editing"
params = {
loop: true
};
diff --git a/commands/image-editing/waaw.js b/commands/image-editing/waaw.js
index b9d3e3b..31bb9e6 100644
--- a/commands/image-editing/waaw.js
+++ b/commands/image-editing/waaw.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class WaaWCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Mirrors the right side of an image onto the left";
static aliases = ["magik3", "mirror"];
diff --git a/commands/image-editing/wall.js b/commands/image-editing/wall.js
index 026b4ad..f0e95da 100644
--- a/commands/image-editing/wall.js
+++ b/commands/image-editing/wall.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class WallCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Creates a wall from an image";
static noImage = "You need to provide an image/GIF to make a wall!";
diff --git a/commands/image-editing/whisper.js b/commands/image-editing/whisper.js
index d0a4c5b..22238e0 100644
--- a/commands/image-editing/whisper.js
+++ b/commands/image-editing/whisper.js
@@ -2,6 +2,7 @@ import ImageCommand from "../../classes/imageCommand.js";
import { cleanMessage } from "../../utils/misc.js";
class WhisperCommand extends ImageCommand {
+ static category = "image-editing"
params(url) {
const newArgs = this.options.text ?? this.args.filter(item => !item.includes(url)).join(" ");
return {
diff --git a/commands/image-editing/wide.js b/commands/image-editing/wide.js
index d73e7cb..cf40b8d 100644
--- a/commands/image-editing/wide.js
+++ b/commands/image-editing/wide.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class WideCommand extends ImageCommand {
+ static category = "image-editing"
params = {
wide: true
};
diff --git a/commands/image-editing/woow.js b/commands/image-editing/woow.js
index a941a28..fa413db 100644
--- a/commands/image-editing/woow.js
+++ b/commands/image-editing/woow.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class WooWCommand extends ImageCommand {
+ static category = "image-editing"
params = {
vertical: true,
first: true
diff --git a/commands/image-editing/zamn.js b/commands/image-editing/zamn.js
index 847ae29..18a896f 100644
--- a/commands/image-editing/zamn.js
+++ b/commands/image-editing/zamn.js
@@ -1,6 +1,7 @@
import ImageCommand from "../../classes/imageCommand.js";
class ZamnCommand extends ImageCommand {
+ static category = "image-editing"
static description = "Adds a \"ZAMN\" reaction to an image";
static noImage = "You need to provide an image/GIF to \"ZAMN\" at!";
diff --git a/commands/message/select-image.js b/commands/message/select-image.js
index 23bab19..e80f448 100644
--- a/commands/message/select-image.js
+++ b/commands/message/select-image.js
@@ -3,6 +3,7 @@ import imageDetect from "../../utils/imagedetect.js";
import { selectedImages } from "../../utils/collections.js";
class SelectImageCommand extends Command {
+ static category = "general"
async run() {
// await this.acknowledge();
const message = this.interaction.data.target;
diff --git a/commands/tags/tags.js b/commands/tags/tags.js
index 789322f..9030258 100644
--- a/commands/tags/tags.js
+++ b/commands/tags/tags.js
@@ -5,6 +5,7 @@ import Command from "../../classes/command.js";
const blacklist = ["create", "add", "edit", "remove", "delete", "list", "random", "own", "owner"];
class TagsCommand extends Command {
+ static category = "tags";
// todo: attempt to not make this file the worst thing that human eyes have ever seen
async run() {
this.success = false;