2019-10-24 16:29:04 +00:00
module . exports = {
name : 'remove' ,
description : 'Remove command.' ,
2019-10-31 18:29:26 +00:00
alias : 'rm' ,
2019-10-24 16:29:04 +00:00
cooldown : 5 ,
2019-11-01 11:39:04 +00:00
onlyDev : false ,
2019-10-24 16:29:04 +00:00
execute ( message , args , client , Discord , prefix ) {
const { voiceChannel } = message . member ;
const serverQueue = client . queue . get ( message . guild . id ) ;
const permissions = message . channel . permissionsFor ( message . author ) ;
2019-11-23 07:17:43 +00:00
if ( ! serverQueue ) return message . channel . send ( ':x: There is nothing playing.' ) ;
2019-11-22 18:51:41 +00:00
if ( ! serverQueue . playing ) return message . channel . send ( ':x: There is nothing playing' ) ;
2019-10-24 17:11:08 +00:00
if ( ! args [ 1 ] ) return message . channel . send ( ':x: Please provide a song position in queue for me to remove!' ) ;
const pos = parseInt ( args [ 1 ] ) ;
if ( isNaN ( pos ) ) return message . channel . send ( ':x: You need to enter a number!' ) ;
if ( pos === 0 ) return message . channel . send ( ':x: You can not remove the currently playing song!' ) ;
if ( pos > serverQueue . songs . size ) return message . channel . send ( ` :x: There is only ${ serverQueue . songs . size } amount of songs in the queue! ` ) ;
2019-11-23 13:03:08 +00:00
if ( message . author . id !== client . config . devId ) {
2019-10-24 16:29:04 +00:00
if ( voiceChannel !== serverQueue . voiceChannel ) return message . channel . send ( ':x: I\'m sorry but you need to be in the same voice channel as Musix to remove songs!' ) ;
if ( client . global . db . guilds [ message . guild . id ] . dj ) {
2019-10-24 17:11:08 +00:00
if ( serverQueue . songs [ pos ] . author !== message . author ) {
2019-10-24 16:29:04 +00:00
if ( ! message . member . roles . has ( client . global . db . guilds [ message . guild . id ] . djrole ) ) return message . channel . send ( ':x: You need the `DJ` role to remove songs queue by others!' ) ;
}
2019-10-24 17:11:08 +00:00
} else if ( ! permissions . has ( 'MANAGE_MESSAGES' ) && serverQueue . songs [ pos ] . author !== message . author ) return message . channel . send ( ':x: You need the `MANAGE_MESSAGES` permission to remove songs queued by others!' ) ;
2019-10-24 16:29:04 +00:00
}
2019-10-24 17:11:08 +00:00
message . channel . send ( ` 🗑️ removed \` ${ serverQueue . songs [ pos ] . title } \` from the queue! ` ) ;
return serverQueue . songs . splice ( pos , 1 ) ;
2019-10-24 16:29:04 +00:00
}
} ;