Create buffers directly inside createMessage

This commit is contained in:
TheEssem 2020-02-13 14:31:40 -06:00
parent 32bef7f815
commit 94fcfcf190
39 changed files with 43 additions and 78 deletions

View File

@ -9,9 +9,8 @@ exports.run = async (message) => {
if (image === undefined) return `${message.author.mention}, you need to provide an image to add a 9GAG watermark!`;
const watermark = "./assets/images/9gag.png";
const data = gm(image.data).coalesce().out("null:").out(watermark).gravity("East").out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `9gag.${image.type}`
});
};

View File

@ -11,9 +11,8 @@ exports.run = async (message) => {
gm(image.data).size(async (error, size) => {
if (error) throw error;
const data = gm(image.data).coalesce().out("null:").out(watermark).gravity("North").resize(null, size.height).out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `bandicam.${image.type}`
});
});

View File

@ -8,9 +8,8 @@ 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 blur!`;
const command = gm(image.data).blur(10);
const resultBuffer = await gmToBuffer(command);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command),
name: `blur.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 make blurple!`;
const data = gm(image.data).threshold(75, true).out("+level-colors").out("\"#7289DA\",white");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `blurple.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 radial blur!`;
const data = gm(image.data).out("-radial-blur", 10);
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `circle.${image.type}`
});
};

View File

@ -11,9 +11,8 @@ exports.run = async (message) => {
gm(image.data).size(async (error, size) => {
if (error) throw error;
const data = gm(image.data).coalesce().out("null:").out(watermark).gravity("Center").resize(null, size.height).out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `deviantart.${image.type}`
});
});

View File

@ -8,9 +8,8 @@ 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 explode!`;
const data = gm(image.data).implode([-2]);
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `explode.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 flip!`;
const command = gm(image.data).flip();
const resultBuffer = await gmToBuffer(command);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command),
name: `flip.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 flop!`;
const command = gm(image.data).flop();
const resultBuffer = await gmToBuffer(command);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command),
name: `flop.${image.type}`
});
};

View File

@ -11,9 +11,8 @@ exports.run = async (message) => {
gm(image.data).size(async (error, size) => {
if (error) throw error;
const data = gm(image.data).coalesce().out("null:").out(watermark).gravity("NorthEast").resize(null, size.height).out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `funky.${image.type}`
});
});

View File

@ -12,9 +12,8 @@ exports.run = async (message) => {
const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`;
require("util").promisify(fs.writeFile)(path, image.data);
const command = gm(template).background("white").out("null:").out("(").out(path).out("-virtual-pixel", "transparent").resize("1181x571!").coalesce().out(")").compose("over").gravity("Center").out("-geometry", "+0+40").out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `gamexplain.${image.type}`
});
};

View File

@ -18,9 +18,8 @@ exports.run = async (message) => {
gm(data2).flop().write(data, async (error) => {
if (error) throw error;
const command = gm(data2).extent(size.width, size.height).out("null:").out(data).geometry(`+${size.width / 2}+0`).out("-layers", "Composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `haah.${image.type}`
});
});

View File

@ -9,9 +9,8 @@ exports.run = async (message, args) => {
const template = "./assets/images/hbc.png";
const cleanedMessage = args.join(" ").toLowerCase().replace(/\n/g, " ");
const command = gm(template).gravity("Center").font("./assets/hbc.ttf").out("-kerning", "-5").fill("white").pointSize(96).drawText(0, 0, cleanedMessage);
const resultBuffer = await gmToBuffer(command);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command),
name: "homebrew.png"
});
};

View File

@ -18,9 +18,8 @@ exports.run = async (message) => {
gm(data2).flip().write(data, async (error) => {
if (error) throw error;
const command = gm(data2).extent(size.width, size.height).out("null:").out(data).geometry(`+0+${size.height / 2}`).out("-layers", "Composite").out("-layers", "Optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `hooh.${image.type}`
});
});

View File

@ -11,9 +11,8 @@ exports.run = async (message) => {
gm(image.data).size(async (error, size) => {
if (error) throw error;
const data = gm(image.data).coalesce().out("null:").out(watermark).gravity("NorthWest").resize(null, size.height).out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `hypercam.${image.type}`
});
});

View File

@ -11,9 +11,8 @@ exports.run = async (message) => {
gm(image.data).size(async (error, size) => {
if (error) throw error;
const data = gm(image.data).coalesce().out("null:").out(watermark).gravity("South").resize(size.width, null).out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `ifunny.${image.type}`
});
});

View File

@ -8,9 +8,8 @@ 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 implode!`;
const data = gm(image.data).implode([1]);
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `implode.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 invert!`;
const data = gm(image.data).negative();
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `invert.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 more JPEG!`;
const data = gm(image.data).setFormat("jpg").quality(1);
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: "jpeg.jpg"
});
};

View File

@ -14,10 +14,9 @@ exports.run = async (message) => {
require("util").promisify(fs.writeFile)(path, image.data);
const command = gm(template).out("-background").out("white").out("-gravity").out("Center").out("(").out("-clone").out("0").out("(").out(path).out("-virtual-pixel").out("white").out("-resize").out("640x360!").rotate("white", 15).out(")").out("-geometry").out("+450-200").out("-composite").out(")").out("+swap").out("-composite").out("-alpha").out("remove").out("-alpha").out("off");
// const command = gm(template).out("-background", "white").gravity("Center").out("null:").out("(").out(path).out("-resize", "640x360!").out("-virtual-pixel", "white").rotate("white", 15).coalesce().geometry("+450-200").out(")").compose("over").out("-alpha", "remove").out("-alpha", "off").out("-layers", "composite");
const resultBuffer = await gmToBuffer(command, "png");
return message.channel.createMessage("", {
file: resultBuffer,
name: "leak.png"
file: await gmToBuffer(command),
name: `leak.${image.type}`
});
};

View File

@ -8,7 +8,7 @@ exports.run = async (message) => {
if (image === undefined) return `${message.author.mention}, you need to provide an image to add some magik!`;
if (image.type === "gif") return `${message.author.mention}, this command doesn't work with GIFs!`;
const processMessage = await message.channel.createMessage("<a:processing:479351417102925854> Processing... This might take a while");
gm(image.data).resize(800, 800).stream((error, stream) => {
gm(image.data).resize(800, 800).stream("miff", (error, stream) => {
if (error) throw error;
gm(stream).out("-liquid-rescale", "400x400").stream(async (error, stream2) => {
if (error) throw error;

View File

@ -4,9 +4,8 @@ exports.run = async (message, args) => {
if (args.length === 0) return `${message.author.mention}, you need to provide some text to generate a Minecraft achievement!`;
message.channel.sendTyping();
const request = await fetch(`https://www.minecraftskinstealer.com/achievement/a.php?i=13&h=Achievement+get%21&t=${encodeURIComponent(args.join("+"))}`);
const buffer = await request.buffer();
return message.channel.createMessage("", {
file: buffer,
file: await request.buffer(),
name: "mc.png"
});
};

View File

@ -21,9 +21,8 @@ exports.run = async (message, args) => {
gm().out("-size", size.width).background("none").gravity("Center").out("(", "(").font("Impact").out("-pointsize", 40).out(`pango:<span foreground='white'>${bottomText ? bottomText.toUpperCase().replace(/&/g, "\\&amp;").replace(/>/g, "\\&gt;").replace(/</g, "\\&lt;").replace(/"/g, "\\&quot;").replace(/'/g, "\\&apos;") : " "}</span>`).out(")", "(", "+clone").out("-channel", "A").out("-morphology", "EdgeOut", "Octagon", "+channel", "+level-colors", "black", ")").compose("DstOver").out(")", "-composite").write(file3, async (error) => {
if (error) throw error;
const data = gm(file).out("-coalesce").out("null:").gravity("North").out(file2).out("-layers", "composite").out("null:").gravity("South").out(file3).out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(data, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data, image.type),
name: `meme.${image.type}`
});
});

View File

@ -36,17 +36,19 @@ exports.run = async (message, args) => {
gm(text2).size(async (error, size4) => {
if (error) throw error;
const command2 = gm(await gmToBuffer(command, image.type)).gravity("North").coalesce().background("black").extent(600, size2.height + size3.height + size4.height).out("null:", "(", text2, "-set", "page", `+0+${size2.height + size3.height}`, ")", "-layers", "composite", "-layers", "optimize");
const resultBuffer = await gmToBuffer(command2, image.type);
processMessage.delete();
return message.channel.createMessage("", {
file: await gmToBuffer(command2, image.type),
file: resultBuffer,
name: `motivate.${image.type}`
});
});
});
} else {
const resultBuffer = await gmToBuffer(command, image.type);
processMessage.delete();
return message.channel.createMessage("", {
file: await gmToBuffer(command, image.type),
file: resultBuffer,
name: `motivate.${image.type}`
});
}

View File

@ -14,9 +14,8 @@ exports.run = async (message, args, content) => {
if (error) throw error;
});
writable.once("end", () => {
const imageBuffer = Buffer.concat(chunks);
return message.channel.createMessage("", {
file: imageBuffer,
file: Buffer.concat(chunks),
name: "qr.png"
});
});

View File

@ -13,9 +13,8 @@ exports.run = async (message, args) => {
} else {
text = new RetroText().setLine(2, line1).setBackgroundStyle("outlineTri").setTextStyle("chrome");
}
const textImage = await text.fetchBuffer();
return message.channel.createMessage("", {
file: textImage,
file: await text.fetchBuffer(),
name: "retro.png"
});
};

View File

@ -12,9 +12,8 @@ exports.run = async (message) => {
const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`;
require("util").promisify(fs.writeFile)(path, image.data);
const command = gm(template).out("null:").out("(").out(path).out("-virtual-pixel", "transparent").resize("415x234!").coalesce().out("+distort", "Perspective", "0,0 129,187 415,0 517,182 415,234 517,465 0,234 132,418").out(")").compose("over").gravity("Center").geometry("-238-98").out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `scott.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 sharpen!`;
const command = gm(image.data).sharpen(10);
const resultBuffer = await gmToBuffer(command);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command),
name: `sharpen.${image.type}`
});

View File

@ -11,9 +11,8 @@ exports.run = async (message) => {
gm(image.data).size(async (error, size) => {
if (error) throw error;
const command = gm(image.data).coalesce().out("null:").out(watermark).gravity("Center").resize(null, size.height).out("-layers", "composite").out("-layers", "optimize");
const output = await gmToBuffer(command);
return message.channel.createMessage("", {
file: output,
file: await gmToBuffer(command),
name: `shutterstock.${image.type}`
});
});

View File

@ -13,9 +13,8 @@ exports.run = async (message, args) => {
gm(474, 332).out("+size").background("none").gravity("Center").out("-pointsize", 72).out("-font", "Bitstream Vera Sans").out(`pango:<span foreground="white">${wrap(cleanedMessage, {width: 15, indent: ""})}</span>`).write(file, async (error) => {
if (error) throw error;
const command = gm(template).composite(file).gravity("Center").geometry("474x332+160+10");
const resultBuffer = await gmToBuffer(command, "png");
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, "png"),
name: "sonic.png"
});
});

View File

@ -8,9 +8,8 @@ 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 stretch!`;
const data = gm(image.data).resize("512x512!");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `stretch.${image.type}`
});
};

View File

@ -8,9 +8,8 @@ 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 swirl!`;
const data = gm(image.data).swirl(180);
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `swirl.${image.type}`
});
};

View File

@ -10,9 +10,8 @@ exports.run = async (message) => {
gm(image.data).command("montage").out("-duplicate").out(24).tile("5x5").geometry("+0+0").stream(async (error, output) => {
if (error) throw error;
const data = gm(output).resize("800x800>");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `tile.${image.type}`
});
});

View File

@ -12,9 +12,8 @@ exports.run = async (message) => {
const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`;
require("util").promisify(fs.writeFile)(path, image.data);
const command = gm(template).background("white").out("null:").out("(").out(path).out("-virtual-pixel", "transparent").resize("365x179!").coalesce().out("+distort", "Perspective", "0,0 207,268 365,0 548,271 365,179 558,450 0,179 193,450").out(")").compose("over").gravity("Center").geometry("-217-135").out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `trump.${image.type}`
});
};

View File

@ -18,9 +18,8 @@ exports.run = async (message) => {
gm(data2).flop().write(data, async (error) => {
if (error) throw error;
const command = gm(data2).extent(size.width, size.height).out("null:").out(data).geometry(`+${size.width / 2}+0`).out("-layers", "Composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `waaw.${image.type}`
});
});

View File

@ -10,9 +10,8 @@ exports.run = async (message) => {
gm(image.data).resize(128).stream(async (error, output) => {
if (error) throw error;
const data = gm(output).virtualPixel("tile").matteColor("none").out("-background", "none").resize("512x512!").out("-distort").out("Perspective").out("0,0,57,42 0,128,63,130 128,0,140,60 128,128,140,140");
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `wall.${image.type}`
});
});

View File

@ -12,9 +12,8 @@ exports.run = async (message) => {
const path = `/tmp/${Math.random().toString(36).substring(2, 15)}.${image.type}`;
require("util").promisify(fs.writeFile)(path, image.data);
const command = gm(template).coalesce().out("null:").out(path).gravity("Center").resize("374x374>").out("-layers", "composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `wdt.${image.type}`
});
};

View File

@ -11,9 +11,8 @@ exports.run = async (message) => {
if (error) throw error;
if (size.width > 10000) return `${message.author.mention}, this image is too wide!`;
const data = gm(image.data).resize(`${(size.width * 19) / 2}x${size.height / 2}!`);
const resultBuffer = await gmToBuffer(data);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(data),
name: `wide.${image.type}`
});
});

View File

@ -18,9 +18,8 @@ exports.run = async (message) => {
gm(data2).flip().write(data, async (error) => {
if (error) throw error;
const command = gm(data2).extent(size.width, size.height).out("null:").out(data).geometry(`+0+${size.height / 2}`).out("-layers", "Composite").out("-layers", "optimize");
const resultBuffer = await gmToBuffer(command, image.type);
return message.channel.createMessage("", {
file: resultBuffer,
file: await gmToBuffer(command, image.type),
name: `woow.${image.type}`
});
});