2019-08-02 08:32:00 +00:00
module . exports = {
name : 'volume' ,
description : 'Volume command.' ,
2019-10-31 18:29:26 +00:00
alias : 'volume' ,
2019-08-02 08:32:00 +00:00
cooldown : 5 ,
2019-11-01 11:39:04 +00:00
onlyDev : false ,
2019-10-10 13:43:04 +00:00
execute ( message , args , client , Discord , prefix ) {
2019-08-02 08:32:00 +00:00
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-08-02 08:32:00 +00:00
if ( ! args [ 1 ] ) return message . channel . send ( ` :loud_sound: The current volume is: ** ${ serverQueue . volume } ** ` ) ;
2019-10-24 18:02:44 +00:00
const volume = parseFloat ( args [ 1 ] ) ;
2019-11-01 11:39:04 +00:00
if ( message . author . id !== client . config . dev ) {
2019-08-14 12:26:33 +00:00
if ( ! voiceChannel ) return message . channel . send ( ':x: I\'m sorry but you need to be in a voice channel to change the volume!' ) ;
2019-10-11 08:48:50 +00:00
if ( client . global . db . guilds [ message . guild . id ] . permissions === true ) {
2019-10-13 07:33:59 +00:00
if ( client . global . db . guilds [ message . guild . id ] . dj ) {
if ( ! message . member . roles . has ( client . global . db . guilds [ message . guild . id ] . djrole ) ) return message . channel . send ( ':x: You need the `DJ` role to change the volume!' ) ;
} else if ( ! permissions . has ( 'MANAGE_CHANNELS' ) ) return message . channel . send ( ':x: You need the `MANAGE_CHANNELS` permission to change the volume!' ) ;
2019-10-10 13:43:04 +00:00
}
2019-08-14 12:26:33 +00:00
}
2019-10-24 17:11:08 +00:00
if ( isNaN ( volume ) ) return message . channel . send ( ':x: I\'m sorry, But you need to enter a valid __number__.' ) ;
if ( volume > 100 ) return message . channel . send ( ':x: The max volume is `100`!' ) ;
if ( volume < 0 ) return message . channel . send ( ':x: The volume needs to be a positive number!' ) ;
serverQueue . volume = volume ;
serverQueue . connection . dispatcher . setVolume ( volume / 5 ) ;
return message . channel . send ( ` :loud_sound: I set the volume to: ** ${ volume } ** ` ) ;
2019-08-02 08:32:00 +00:00
}
} ;