Fixed GIF commands for real (lol)
This commit is contained in:
parent
5e34e45ac4
commit
a03d3a5e79
9 changed files with 35 additions and 20 deletions
|
@ -17,11 +17,12 @@ app.post("/run", express.json(), async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
let type;
|
let type;
|
||||||
if (object.path) {
|
if (object.path) {
|
||||||
type = await magick.getType(object.path);
|
type = object.type ? object.type : await magick.getType(object.path);
|
||||||
if (!type) {
|
if (!type) {
|
||||||
return res.sendStatus(400);
|
return res.sendStatus(400);
|
||||||
}
|
}
|
||||||
object.type = type.split("/")[1];
|
object.type = type.split("/")[1];
|
||||||
|
if (object.type !== "gif" && object.onlyGIF) return res.send("nogif");
|
||||||
const delay = (await execPromise(`ffprobe -v 0 -of csv=p=0 -select_streams v:0 -show_entries stream=r_frame_rate ${object.path}`)).stdout.replace("\n", "");
|
const delay = (await execPromise(`ffprobe -v 0 -of csv=p=0 -select_streams v:0 -show_entries stream=r_frame_rate ${object.path}`)).stdout.replace("\n", "");
|
||||||
object.delay = (100 / delay.split("/")[0]) * delay.split("/")[1];
|
object.delay = (100 / delay.split("/")[0]) * delay.split("/")[1];
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,13 @@ exports.run = async (message) => {
|
||||||
message.channel.sendTyping();
|
message.channel.sendTyping();
|
||||||
const image = await require("../utils/imagedetect.js")(message);
|
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 === 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, type } = await magick.run({
|
const { buffer, type } = await magick.run({
|
||||||
cmd: "freeze",
|
cmd: "freeze",
|
||||||
path: image.path,
|
path: image.path,
|
||||||
loop: false
|
loop: false,
|
||||||
|
onlyGIF: true
|
||||||
});
|
});
|
||||||
|
if (buffer === "nogif") return `${message.author.mention}, that isn't a GIF!`;
|
||||||
return {
|
return {
|
||||||
file: buffer,
|
file: buffer,
|
||||||
name: `freeze.${type}`
|
name: `freeze.${type}`
|
||||||
|
|
|
@ -4,12 +4,13 @@ exports.run = async (message) => {
|
||||||
message.channel.sendTyping();
|
message.channel.sendTyping();
|
||||||
const image = await require("../utils/imagedetect.js")(message);
|
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 === 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, type } = await magick.run({
|
const { buffer, type } = await magick.run({
|
||||||
cmd: "freeze",
|
cmd: "freeze",
|
||||||
path: image.path,
|
path: image.path,
|
||||||
loop: true
|
loop: true,
|
||||||
|
onlyGIF: true
|
||||||
});
|
});
|
||||||
|
if (buffer === "nogif") return `${message.author.mention}, that isn't a GIF!`;
|
||||||
return {
|
return {
|
||||||
file: buffer,
|
file: buffer,
|
||||||
name: `loop.${type}`
|
name: `loop.${type}`
|
||||||
|
|
|
@ -4,15 +4,16 @@ exports.run = async (message) => {
|
||||||
message.channel.sendTyping();
|
message.channel.sendTyping();
|
||||||
const image = await require("../utils/imagedetect.js")(message);
|
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 === 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, type } = await magick.run({
|
const { buffer, type } = await magick.run({
|
||||||
cmd: "reverse",
|
cmd: "reverse",
|
||||||
path: image.path,
|
path: image.path,
|
||||||
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
|
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0,
|
||||||
|
onlyGIF: true
|
||||||
});
|
});
|
||||||
|
if (buffer === "nogif") return `${message.author.mention}, that isn't a GIF!`;
|
||||||
return {
|
return {
|
||||||
file: buffer,
|
file: buffer,
|
||||||
name: "reverse.gif"
|
name: `reverse.${type}`
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
const magick = require("../utils/image.js");
|
const magick = require("../utils/image.js");
|
||||||
const { promisify } = require("util");
|
|
||||||
|
|
||||||
exports.run = async (message) => {
|
exports.run = async (message) => {
|
||||||
message.channel.sendTyping();
|
message.channel.sendTyping();
|
||||||
const image = await require("../utils/imagedetect.js")(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 === 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, type } = await magick.run({
|
const { buffer, type } = await magick.run({
|
||||||
cmd: "speed",
|
cmd: "speed",
|
||||||
path: image.path,
|
path: image.path,
|
||||||
slow: true
|
slow: true,
|
||||||
|
onlyGIF: true
|
||||||
});
|
});
|
||||||
|
if (buffer === "nogif") return `${message.author.mention}, that isn't a GIF!`;
|
||||||
return {
|
return {
|
||||||
file: buffer,
|
file: buffer,
|
||||||
name: "slow.gif"
|
name: `slow.${type}`
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -4,16 +4,17 @@ exports.run = async (message) => {
|
||||||
message.channel.sendTyping();
|
message.channel.sendTyping();
|
||||||
const image = await require("../utils/imagedetect.js")(message);
|
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 === 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, type } = await magick.run({
|
const { buffer, type } = await magick.run({
|
||||||
cmd: "reverse",
|
cmd: "reverse",
|
||||||
path: image.path,
|
path: image.path,
|
||||||
soos: true,
|
soos: true,
|
||||||
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0
|
delay: image.delay ? (100 / image.delay.split("/")[0]) * image.delay.split("/")[1] : 0,
|
||||||
|
onlyGIF: true
|
||||||
});
|
});
|
||||||
|
if (buffer === "nogif") return `${message.author.mention}, that isn't a GIF!`;
|
||||||
return {
|
return {
|
||||||
file: buffer,
|
file: buffer,
|
||||||
name: "soos.gif"
|
name: `soos.${type}`
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -4,14 +4,15 @@ exports.run = async (message) => {
|
||||||
message.channel.sendTyping();
|
message.channel.sendTyping();
|
||||||
const image = await require("../utils/imagedetect.js")(message);
|
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 === 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, type } = await magick.run({
|
const { buffer, type } = await magick.run({
|
||||||
cmd: "speed",
|
cmd: "speed",
|
||||||
path: image.path
|
path: image.path,
|
||||||
|
onlyGIF: true
|
||||||
});
|
});
|
||||||
|
if (buffer === "nogif") return `${message.author.mention}, that isn't a GIF!`;
|
||||||
return {
|
return {
|
||||||
file: buffer,
|
file: buffer,
|
||||||
name: "speed.gif"
|
name: `speed.${type}`
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,11 @@ exports.run = async (object, fromAPI = false) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const buffer = await req.buffer();
|
const buffer = await req.buffer();
|
||||||
|
console.log(buffer.toString());
|
||||||
|
if (buffer.toString() === "nogif") return {
|
||||||
|
buffer: "nogif",
|
||||||
|
type: null
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
buffer: buffer,
|
buffer: buffer,
|
||||||
type: req.headers.get("content-type").split("/")[1]
|
type: req.headers.get("content-type").split("/")[1]
|
||||||
|
@ -24,7 +29,11 @@ exports.run = async (object, fromAPI = false) => {
|
||||||
} else {
|
} else {
|
||||||
let type;
|
let type;
|
||||||
if (!fromAPI && object.path) {
|
if (!fromAPI && object.path) {
|
||||||
type = (await this.getType(object.path)).split("/")[1];
|
type = (object.type ? object.type : await this.getType(object.path)).split("/")[1];
|
||||||
|
if (type !== "gif" && object.onlyGIF) return {
|
||||||
|
buffer: "nogif",
|
||||||
|
type: null
|
||||||
|
};
|
||||||
object.type = type;
|
object.type = type;
|
||||||
const delay = (await execPromise(`ffprobe -v 0 -of csv=p=0 -select_streams v:0 -show_entries stream=r_frame_rate ${object.path}`)).stdout.replace("\n", "");
|
const delay = (await execPromise(`ffprobe -v 0 -of csv=p=0 -select_streams v:0 -show_entries stream=r_frame_rate ${object.path}`)).stdout.replace("\n", "");
|
||||||
object.delay = (100 / delay.split("/")[0]) * delay.split("/")[1];
|
object.delay = (100 / delay.split("/")[0]) * delay.split("/")[1];
|
||||||
|
|
|
@ -17,7 +17,7 @@ const getImage = async (image, image2, gifv = false) => {
|
||||||
} else if (image2.includes("imgur.com")) {
|
} else if (image2.includes("imgur.com")) {
|
||||||
payload.path = image.replace(".mp4", ".gif");
|
payload.path = image.replace(".mp4", ".gif");
|
||||||
}
|
}
|
||||||
payload.type = "gif";
|
payload.type = "image/gif";
|
||||||
}
|
}
|
||||||
return payload;
|
return payload;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue