From 2573e452999ce7e1c9ef518b8db00a50fa82cc41 Mon Sep 17 00:00:00 2001 From: Hazem Krimi Date: Fri, 8 May 2020 15:54:11 +0100 Subject: [PATCH] improved the stop command --- commands/music/stop.js | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/commands/music/stop.js b/commands/music/stop.js index f5cf388..72448ff 100644 --- a/commands/music/stop.js +++ b/commands/music/stop.js @@ -1,4 +1,5 @@ const { Command } = require('discord.js-commando'); +const { MessageEmbed } = require('discord.js'); module.exports = class Play extends Command { constructor(client) { @@ -15,13 +16,30 @@ module.exports = class Play extends Command { }); } - run = message => { - if (!message.member.voice.channel) return message.reply('you need to join a channel!'); - - const voiceChannel = message.member.voice.channel; - - voiceChannel.leave(); - - return message.say('stopped!'); + run = async message => { + try { + if (!message.member.voice.channel) { + const embed = new MessageEmbed().setColor('#ff0000').setTitle(':x: You need to join a voice channel first'); + return await message.say({ embed }); + } + else if (!message.guild.music.isPlaying) { + const embed = new MessageEmbed().setColor('#ff0000').setTitle(':x: Play something first'); + return message.say({ embed }); + } + else { + const voiceChannel = message.member.voice.channel; + message.guild.music.queue = []; + message.guild.music.isPlaying = false; + message.guild.music.nowPlaying = null; + message.guild.music.dispatcher = null; + voiceChannel.leave(); + const embed = new MessageEmbed().setColor('#000099').setTitle(':stop_button: Stopped player and cleared queue'); + return await message.say({ embed }); + } + } catch(err) { + console.error(err); + const embed = new MessageEmbed().setColor('#ff0000').setTitle(':x: Error occured, if you are my creator please fix me soon'); + return message.say({ embed }); + } } } \ No newline at end of file