Changed image function syntax, improved dice, switched to fs.promises, might have also done other stuff but idk

This commit is contained in:
TheEssem 2020-08-27 21:34:12 -05:00
parent 95846d32d4
commit f415b3bb09
91 changed files with 1275 additions and 577 deletions

View file

@ -1,11 +1,17 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a 9GAG watermark!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/9gag.png", 6, false, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/9gag.png",
gravity: 6,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `9gag.${image.type}`

View file

@ -1,11 +1,18 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a Bandicam watermark!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/bandicam.png", 2, true, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/bandicam.png",
gravity: 2,
resize: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `bandicam.${image.type}`

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to blur!`;
const buffer = await promisify(magick.blur)(image.path, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "blur",
path: image.path,
sharp: false,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `blur.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to make blurple!`;
const buffer = await promisify(magick.blurple)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "blurple",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `blurple.${image.type}`

View file

@ -1,5 +1,4 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message, args) => {
const image = await require("../utils/imagedetect.js")(message);
@ -7,7 +6,13 @@ exports.run = async (message, args) => {
const newArgs = args.filter(item => !item.includes(image.url) );
if (args.length === 0) return `${message.author.mention}, you need to provide some text to add a caption!`;
const processMessage = await message.channel.createMessage("<a:processing:479351417102925854> Processing... This might take a while");
const outputFinal = await promisify(magick.caption)(newArgs.join(" "), image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const outputFinal = await magick({
cmd: "caption",
path: image.path,
caption: newArgs.join(" "),
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
await processMessage.delete();
return {
file: outputFinal,

View file

@ -1,5 +1,4 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.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"];
exports.run = async (message, args) => {
@ -7,7 +6,13 @@ exports.run = async (message, args) => {
if (image === undefined) return `${message.author.mention}, you need to provide an image/GIF to add a caption!`;
const newArgs = args.filter(item => !item.includes(image.url) );
const processMessage = await message.channel.createMessage("<a:processing:479351417102925854> Processing... This might take a while");
const outputFinal = await promisify(magick.captionTwo)(newArgs.length !== 0 ? newArgs.join(" ") : words.sort(() => 0.5 - Math.random()).slice(0, Math.floor(Math.random() * words.length + 1)).join(" "), image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const outputFinal = await magick({
cmd: "captionTwo",
path: image.path,
caption: newArgs.length !== 0 ? newArgs.join(" ") : words.sort(() => 0.5 - Math.random()).slice(0, Math.floor(Math.random() * words.length + 1)).join(" "),
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
await processMessage.delete();
return {
file: outputFinal,

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add radial blur!`;
const buffer = await promisify(magick.circle)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "circle",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `circle.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to crop!`;
const buffer = await promisify(magick.crop)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "crop",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `crop.${image.type}`

View file

@ -1,11 +1,18 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a DeviantArt watermark!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/deviantart.png", 5, true, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/deviantart.png",
gravity: 5,
resize: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `deviantart.${image.type}`

View file

@ -1,10 +1,8 @@
const misc = require("../utils/misc.js");
exports.run = async (message, args) => {
if (args.length === 0 || !args[0].match(/^\d+$/) || args[0] > 1000000) {
return `🎲 The dice landed on ${misc.random([...Array(6).keys()]) + 1}.`;
if (args.length === 0 || !args[0].match(/^\d+$/)) {
return `🎲 The dice landed on ${Math.floor(Math.random() * 6) + 1}.`;
} else {
return `🎲 The dice landed on ${misc.random([...Array(parseInt(args[0])).keys()]) + 1}.`;
return `🎲 The dice landed on ${Math.floor(Math.random() * parseInt(args[0])) + 1}.`;
}
};

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to explode!`;
const buffer = await promisify(magick.explode)(image.path, -1, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "explode",
path: image.path,
amount: -1,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `explode.${image.type}`

View file

@ -1,5 +1,4 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
const fs = require("fs");
const emojiRegex = require("emoji-regex");
const emoji = require("node-emoji");
@ -16,11 +15,17 @@ exports.run = async (message, args) => {
if (flag === "checkered_flag") path = "./assets/images/checkeredflag.png";
if (flag === "🏳️‍⚧️") path = "./assets/images/transflag.png";
try {
await promisify(fs.access)(path);
await fs.promises.access(path);
} catch (e) {
return `${message.author.mention}, that isn't a flag!`;
}
const buffer = await promisify(magick.flag)(image.path, path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "flag",
path: image.path,
overlay: path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `flag.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to flip!`;
const buffer = await promisify(magick.flip)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "flip",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `flip.${image.type}`

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to flop!`;
const buffer = await promisify(magick.flop)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "flip",
path: image.path,
flop: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `flop.${image.type}`

View file

@ -1,12 +1,17 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide a GIF to freeze!`;
if (image.type !== "gif") return `${message.author.mention}, that isn't a GIF!`;
const buffer = await promisify(magick.freeze)(image.path, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "freeze",
path: image.path,
loop: false,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `freeze.${image.type}`

View file

@ -1,11 +1,18 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add New Funky Mode!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/funky.png", 3, true, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/funky.png",
gravity: 3,
resize: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `funky.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to make a GameXplain thumbnail meme!`;
const buffer = await promisify(magick.gamexplain)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "gamexplain",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `gamexplain.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to spin!`;
const processMessage = await message.channel.createMessage("<a:processing:479351417102925854> Processing... This might take a while");
const buffer = await promisify(magick.globe)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "globe",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
await processMessage.delete();
return {
file: buffer,

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to mirror!`;
const buffer = await promisify(magick.mirror)(image.path, false, true, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "mirror",
path: image.path,
first: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `haah.${image.type}`

View file

@ -1,10 +1,12 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.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 buffer = await promisify(magick.homebrew)(args.join(" ").toLowerCase().replace(/\n/g, " "));
const buffer = await magick({
cmd: "homebrew",
caption: args.join(" ").toLowerCase().replace(/\n/g, " ")
});
return {
file: buffer,
name: "homebrew.png"

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to mirror!`;
const buffer = await promisify(magick.mirror)(image.path, true, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "mirror",
path: image.path,
vertical: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `hooh.${image.type}`

View file

@ -1,11 +1,18 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a Hypercam watermark!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/hypercam.png", 1, true, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/hypercam.png",
gravity: 1,
resize: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `hypercam.${image.type}`

View file

@ -1,11 +1,19 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a iFunny watermark!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/ifunny.png", 8, true, true, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/ifunny.png",
gravity: 8,
resize: true,
append: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `ifunny.${image.type}`

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to implode!`;
const buffer = await promisify(magick.explode)(image.path, 1, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "explode",
path: image.path,
amount: 1,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `implode.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to invert!`;
const buffer = await promisify(magick.invert)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "invert",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `invert.${image.type}`

View file

@ -1,11 +1,13 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add more JPEG!`;
const buffer = await promisify(magick.jpeg)(image.path);
const buffer = await magick({
cmd: "jpeg",
path: image.path
});
return {
file: buffer,
name: "jpeg.jpg"

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to make a Super Smash Bros. leak meme!`;
const buffer = await promisify(magick.leak)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "leak",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `leak.${image.type}`

View file

@ -1,12 +1,17 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide a GIF to loop!`;
if (image.type !== "gif") return `${message.author.mention}, that isn't a GIF!`;
const buffer = await promisify(magick.freeze)(image.path, true, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "freeze",
path: image.path,
loop: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `loop.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add some magik!`;
const processMessage = await message.channel.createMessage("<a:processing:479351417102925854> Processing... This might take a while");
const buffer = await promisify(magick.magik)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "magik",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
await processMessage.delete();
return {
file: buffer,

View file

@ -1,5 +1,4 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message, args) => {
message.channel.sendTyping();
@ -8,7 +7,14 @@ exports.run = async (message, args) => {
const newArgs = args.filter(item => !item.includes(image.url) );
if (args.length === 0) return `${message.author.mention}, you need to provide some text to generate a meme!`;
const [topText, bottomText] = newArgs.join(" ").split(/(?<!\\),/).map(elem => elem.trim());
const buffer = await promisify(magick.meme)(image.path, topText.toUpperCase().replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;"), bottomText ? bottomText.toUpperCase().replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;") : "", image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "meme",
path: image.path,
top: topText.toUpperCase().replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;"),
bottom: bottomText ? bottomText.toUpperCase().replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;") : "",
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `meme.${image.type}`

View file

@ -1,11 +1,18 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a MemeCenter watermark!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/memecenter.png", 9, false, false, true, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/memecenter.png",
gravity: 9,
mc: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `memecenter.${image.type}`

View file

@ -1,5 +1,4 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message, args) => {
const image = await require("../utils/imagedetect.js")(message);
@ -8,7 +7,14 @@ exports.run = async (message, args) => {
if (args.length === 0) return `${message.author.mention}, you need to provide some text to make a motivational poster!`;
const processMessage = await message.channel.createMessage("<a:processing:479351417102925854> Processing... This might take a while");
const [topText, bottomText] = newArgs.join(" ").split(/(?<!\\),/).map(elem => elem.trim());
const buffer = await promisify(magick.motivate)(image.path, topText.replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;"), bottomText ? bottomText.replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;") : "", image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "motivate",
path: image.path,
top: topText.replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;"),
bottom: bottomText ? bottomText.replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;") : "",
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
processMessage.delete();
return {
file: buffer,

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to pixelate!`;
const buffer = await promisify(magick.resize)(image.path, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "resize",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `pixelate.${image.type}`

View file

@ -1,12 +1,14 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
const { clean } = require("../utils/misc.js");
exports.run = async (message) => {
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image with a QR code to read!`;
message.channel.sendTyping();
const {qrText, missing} = await promisify(magick.qrread)(image.path);
const {qrText, missing} = await magick({
cmd: "qrread",
path: image.path
});
if (missing) return `${message.author.mention}, I couldn't find a QR code!`;
return `\`\`\`\n${await clean(qrText)}\n\`\`\``;
};

View file

@ -1,12 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide a GIF to reverse!`;
if (image.type !== "gif") return `${message.author.mention}, that isn't a GIF!`;
const buffer = await promisify(magick.reverse)(image.path, false, image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "reverse",
path: image.path,
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: "reverse.gif"

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to make a Scott the Woz TV meme!`;
const buffer = await promisify(magick.scott)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "scott",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `scott.${image.type}`

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to sharpen!`;
const buffer = await promisify(magick.blur)(image.path, true, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "sharpen",
path: image.path,
sharp: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `sharpen.${image.type}`

View file

@ -1,11 +1,18 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a Shutterstock watermark!`;
const buffer = await promisify(magick.watermark)(image.path, "./assets/images/shutterstock.png", 5, true, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "watermark",
path: image.path,
water: "./assets/images/shutterstock.png",
gravity: 5,
resize: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `shutterstock.${image.type}`

View file

@ -1,4 +1,4 @@
const magick = require("../build/Release/image.node");
const magick = require("../utils/image.js");
const { promisify } = require("util");
exports.run = async (message) => {
@ -6,7 +6,13 @@ exports.run = async (message) => {
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide a GIF to slow down!`;
if (image.type !== "gif") return `${message.author.mention}, that isn't a GIF!`;
const buffer = await promisify(magick.speed)(image.path, true, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "speed",
path: image.path,
slow: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: "slow.gif"

View file

@ -1,12 +1,14 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
const wrap = require("../utils/wrap.js");
exports.run = async (message, args) => {
if (args.length === 0) return `${message.author.mention}, you need to provide some text to make a Sonic meme!`;
message.channel.sendTyping();
const cleanedMessage = args.join(" ").replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;");
const buffer = await promisify(magick.sonic)(wrap(cleanedMessage, {width: 15, indent: ""}));
const buffer = await magick({
cmd: "sonic",
text: wrap(cleanedMessage, {width: 15, indent: ""})
});
return {
file: buffer,
name: "sonic.png"

View file

@ -1,12 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide a GIF to loop!`;
if (image.type !== "gif") return `${message.author.mention}, that isn't a GIF!`;
const buffer = await promisify(magick.reverse)(image.path, true, image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "reverse",
path: image.path,
soos: true,
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: "soos.gif"

View file

@ -1,12 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide a GIF to speed up!`;
if (image.type !== "gif") return `${message.author.mention}, that isn't a GIF!`;
const buffer = await promisify(magick.speed)(image.path, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "speed",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: "speed.gif"

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to spin!`;
const processMessage = await message.channel.createMessage("<a:processing:479351417102925854> Processing... This might take a while");
const buffer = await promisify(magick.spin)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "spin",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
await processMessage.delete();
return {
file: buffer,

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to stretch!`;
const buffer = await promisify(magick.resize)(image.path, true, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "resize",
path: image.path,
stretch: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `stretch.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to swirl!`;
const buffer = await promisify(magick.swirl)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "swirl",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `swirl.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to tile!`;
const buffer = await promisify(magick.tile)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "tile",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `tile.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to make a Trump meme!`;
const buffer = await promisify(magick.trump)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "trump",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `trump.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to mirror!`;
const buffer = await promisify(magick.mirror)(image.path, false, false, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "mirror",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `waaw.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to make a wall from!`;
const buffer = await promisify(magick.wall)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "wall",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `wall.${image.type}`

View file

@ -1,11 +1,15 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to make a "who did this" meme!`;
const buffer = await promisify(magick.wdt)(image.path, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "wdt",
path: image.path,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `wdt.${image.type}`

View file

@ -1,11 +1,16 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to stretch!`;
const buffer = await promisify(magick.resize)(image.path, false, true, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "resize",
path: image.path,
wide: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `wide.${image.type}`

View file

@ -1,11 +1,17 @@
const magick = require("../build/Release/image.node");
const { promisify } = require("util");
const magick = require("../utils/image.js");
exports.run = async (message) => {
message.channel.sendTyping();
const image = await require("../utils/imagedetect.js")(message);
if (image === undefined) return `${message.author.mention}, you need to provide an image to mirror!`;
const buffer = await promisify(magick.mirror)(image.path, true, true, image.type.toUpperCase(), image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0);
const buffer = await magick({
cmd: "mirror",
path: image.path,
vertical: true,
first: true,
type: image.type.toUpperCase(),
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
});
return {
file: buffer,
name: `woow.${image.type}`