|
|
@ -14,11 +14,20 @@ class vid2giftCommand extends Command {
|
|
|
|
{
|
|
|
|
{
|
|
|
|
id: 'vid',
|
|
|
|
id: 'vid',
|
|
|
|
type: 'string'
|
|
|
|
type: 'string'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
id: 'fps',
|
|
|
|
|
|
|
|
type: 'integer'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
id: 'scale',
|
|
|
|
|
|
|
|
match: 'flag',
|
|
|
|
|
|
|
|
flag: '--scale'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
],
|
|
|
|
description: {
|
|
|
|
description: {
|
|
|
|
content: 'Transform video into gif',
|
|
|
|
content: 'Transform video into gif. --scale to scale the gif by half,',
|
|
|
|
usage: '[link to video]',
|
|
|
|
usage: '[link to video] [Number of fps]',
|
|
|
|
examples: ['']
|
|
|
|
examples: ['']
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -34,9 +43,21 @@ class vid2giftCommand extends Command {
|
|
|
|
const { body: buffer } = await superagent.get(vid).catch(() => {
|
|
|
|
const { body: buffer } = await superagent.get(vid).catch(() => {
|
|
|
|
return message.channel.send('An error as occured, please try again');
|
|
|
|
return message.channel.send('An error as occured, please try again');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
let options = '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (args.scale) {
|
|
|
|
|
|
|
|
options = '-vf "scale=iw/2:ih/2"';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (args.fps) {
|
|
|
|
|
|
|
|
options += ` -r ${args.fps}`;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fs.writeFile(`${os.tmpdir()}/${message.id}v2g`, buffer, () => {
|
|
|
|
fs.writeFile(`${os.tmpdir()}/${message.id}v2g`, buffer, () => {
|
|
|
|
exec(`ffmpeg -i ${os.tmpdir()}/${message.id}v2g ${os.tmpdir()}/${message.id}v2g.gif -hide_banner`)
|
|
|
|
exec(`ffmpeg -i ${os.tmpdir()}/${message.id}v2g ${options} -r 15 ${os.tmpdir()}/${message.id}v2g.gif -hide_banner`)
|
|
|
|
.then(() => {
|
|
|
|
.then(() => {
|
|
|
|
return message.channel.send({files: [`${os.tmpdir()}/${message.id}v2g.gif`]})
|
|
|
|
return message.channel.send({files: [`${os.tmpdir()}/${message.id}v2g.gif`]})
|
|
|
|
.catch(err => {
|
|
|
|
.catch(err => {
|
|
|
|