add autocrop

This commit is contained in:
Supositware 2024-07-08 23:50:28 +02:00
parent fe641132da
commit 4c5d879650

View file

@ -23,6 +23,10 @@ export default {
option.setName('fps') option.setName('fps')
.setDescription('Change the speed at which the gif play at. Default 20. Number between 1 and 100.') .setDescription('Change the speed at which the gif play at. Default 20. Number between 1 and 100.')
.setRequired(false)) .setRequired(false))
.addBooleanOption(option =>
option.setName('autocrop')
.setDescription('Autocrop borders on gif.')
.setRequired(false))
.addBooleanOption(option => .addBooleanOption(option =>
option.setName('noloop') option.setName('noloop')
.setDescription('Stop the gif from looping') .setDescription('Stop the gif from looping')
@ -62,7 +66,14 @@ export default {
utils.downloadVideo(url, interaction.id) utils.downloadVideo(url, interaction.id)
.then(async () => { .then(async () => {
const file = fs.readdirSync(os.tmpdir()).filter(fn => fn.startsWith(interaction.id)); const file = fs.readdirSync(os.tmpdir()).filter(fn => fn.startsWith(interaction.id));
const output = `${os.tmpdir()}/${file}`; let output = `${os.tmpdir()}/${file}`;
if (args.autocrop) {
const oldOutput = output;
output = `${os.tmpdir()}/autocrop${file}`;
await utils.autoCrop(oldOutput, output);
}
const gifskiOutput = output.replace(path.extname(output), '.gif'); const gifskiOutput = output.replace(path.extname(output), '.gif');
const gifsicleOutput = output.replace(path.extname(output), 'gifsicle.gif'); const gifsicleOutput = output.replace(path.extname(output), 'gifsicle.gif');