From e077f6ccba3ff0c9dd0a80d3f88bf2535f41d399 Mon Sep 17 00:00:00 2001
From: Supositware <loic.bersier1@gmail.com>
Date: Sat, 6 Apr 2019 20:45:12 +0200
Subject: [PATCH] the return of the play command

---
 commands/utility/play.js | 48 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 commands/utility/play.js

diff --git a/commands/utility/play.js b/commands/utility/play.js
new file mode 100644
index 0000000..8519243
--- /dev/null
+++ b/commands/utility/play.js
@@ -0,0 +1,48 @@
+const { Command } = require('discord-akairo');
+const ytdl = require('ytdl-core');
+
+class playCommand extends Command {
+	constructor() {
+		super('play', {
+			aliases: ['play'],
+			category: 'utility',
+			ownerOnly: 'true',
+			args: [
+				{
+					id: 'ytblink',
+					type: 'string',
+					match: 'rest',
+				}
+			],
+			description: {
+				content: 'Play play from the link you send ( ONLY FOR TESTING NOW )',
+				usage: '[youtube link]',
+				examples: ['https://www.youtube.com/watch?v=mzHWLLn5Z4A']
+			}
+		});
+	}
+
+	async exec(message, args) {
+		const voiceChannel = message.member.voice.channel;
+
+		//  If not in voice channel ask user to join
+		if (!voiceChannel) {
+			return message.reply('please join a voice channel first!');
+						
+		} else 
+		//  If user say "stop" make the bot leave voice channel
+		if (args.ytblink == 'stop') {
+			voiceChannel.leave();
+			message.channel.send('I leaved the channel');
+		} else
+			voiceChannel.join().then(connection => {
+				const stream = ytdl(args.ytblink, { filter: 'audioonly' });
+				const dispatcher = connection.play(stream);
+				//  End at then end of the audio stream
+				dispatcher.on('end', () => voiceChannel.leave());
+				message.channel.send('Music ended, Leaved the channel');
+			});
+	}
+}
+
+module.exports = playCommand;
\ No newline at end of file