From 508b2783ca1da5128f5e970c99a36ed9f5570381 Mon Sep 17 00:00:00 2001
From: loicbersier <loic.bersier1@gmail.com>
Date: Sat, 12 Oct 2019 12:16:19 +0200
Subject: [PATCH] make vid look bad

---
 commands/fun/vidshittifyer.js | 53 +++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 commands/fun/vidshittifyer.js

diff --git a/commands/fun/vidshittifyer.js b/commands/fun/vidshittifyer.js
new file mode 100644
index 00000000..b63ba33a
--- /dev/null
+++ b/commands/fun/vidshittifyer.js
@@ -0,0 +1,53 @@
+const { Command } = require('discord-akairo');
+const fs = require('fs');
+const util = require('util');
+const exec = util.promisify(require('child_process').exec);
+const youtubedl = require('youtube-dl');
+const os = require('os');
+
+class vidshittifyerCommand extends Command {
+	constructor() {
+		super('vidshittifyer', {
+			aliases: ['vidshittifyer', 'vs', 'shittifyer', 'vid2shit', 'v2s'],
+			category: 'fun',
+			args: [
+				{
+					id: 'link',
+					type: 'string',
+				}
+			],
+			description: {
+				content: 'Make your vid shit quality',
+				usage: '[link to video]',
+				examples: ['']
+			}
+		});
+	}
+
+	async exec(message, args) {
+		let input = `${os.tmpdir()}/${message.id}.mp4`;
+		let output = `${os.tmpdir()}/Shittifyed${message.id}.mp4`;
+		if (args.link) {
+			let video = youtubedl(args.link);
+			video.on('error', function error(err) {
+				console.log('error 2:', err);
+				message.channel.send('An error has occured, I can\'t download from the link you provided.');
+			});
+			video.pipe(fs.createWriteStream(input));
+			video.on('end', function () {
+				exec(`ffmpeg -i ${input} -b:v 10k -b:a 20k -vcodec libx264 -r 5 -r 15 ${output}`)
+					.then(() => {
+						return message.channel.send({files: [output]})
+							.catch(err => {
+								console.error(err);
+								return message.channel.send('On no! an error just occured! perhaps the file is too big?');
+							});
+					});
+			});
+		} else {
+			return message.channel.send('You need a valid video link!');
+		}
+	}
+}
+
+module.exports = vidshittifyerCommand;
\ No newline at end of file