2020-04-30 04:06:09 +00:00
const { skip , getGuild } = require ( '../modules/music' )
2020-01-25 10:02:43 +00:00
exports . run = ( client , message , args , level ) => {
2020-04-30 04:06:09 +00:00
const guild = getGuild ( message . guild . id )
2020-01-25 10:02:43 +00:00
2020-04-30 04:06:09 +00:00
if ( guild . queue . length < 1 || ! guild . playing || ! guild . dispatcher ) {
return message . channel . send (
'<:error:466995152976871434> Nothing is playing.'
)
}
2020-01-25 10:02:43 +00:00
2020-04-30 04:06:09 +00:00
const vc = message . guild . members . cache . get ( client . user . id ) . voice . channel
2020-01-25 10:02:43 +00:00
2020-04-30 04:06:09 +00:00
if ( vc !== message . member . voice . channel ) {
return message . channel . send (
'<:error:466995152976871434> You need to be in my voice channel to use this command!'
)
}
2020-01-25 10:02:43 +00:00
2020-04-30 04:06:09 +00:00
if ( guild . queue [ 0 ] . requestedBy . id === message . author . id ) {
skip ( message . guild , 'skip' )
2020-01-25 10:02:43 +00:00
2020-07-30 09:13:44 +00:00
guild . skippers = [ ]
2020-01-25 10:02:43 +00:00
message . channel . send (
2020-04-30 04:06:09 +00:00
'<:success:466995111885144095> Song has been skipped by the user who requested it.'
)
2020-01-25 10:02:43 +00:00
2020-04-30 04:06:09 +00:00
return
2020-01-25 10:02:43 +00:00
}
2020-04-30 04:06:09 +00:00
if ( guild . skippers . indexOf ( message . author . id ) === - 1 ) {
guild . skippers . push ( message . author . id )
2020-01-25 10:02:43 +00:00
if ( guild . skippers . length >= Math . ceil ( vc . members . filter ( member => ! member . user . bot ) . size / 2 ) ) {
2020-04-30 04:06:09 +00:00
skip ( message . guild , 'skip' )
2020-01-25 10:02:43 +00:00
2020-07-30 09:13:44 +00:00
guild . skippers = [ ]
2020-01-25 10:02:43 +00:00
message . channel . send (
2020-04-30 04:06:09 +00:00
'<:skip:467216735356059660> Song skipped.'
)
2020-01-25 10:02:43 +00:00
} else {
message . channel . send (
2020-04-30 04:06:09 +00:00
` <:success:466995111885144095> Your vote has been acknowledged! ** ${ guild . skippers . length + '/' + Math . ceil ( vc . members . filter ( member => ! member . user . bot ) . size / 2 ) } ** `
)
2020-01-25 10:02:43 +00:00
} ;
} else {
message . channel . send (
2020-04-30 04:06:09 +00:00
'<:denied:466995195150336020> You cannot vote twice!'
)
}
2020-01-25 10:02:43 +00:00
} ;
exports . conf = {
enabled : true ,
guildOnly : true ,
aliases : [ "voteskip" ] ,
permLevel : "User" ,
2020-04-30 04:06:09 +00:00
requiredPerms : [ ]
2020-01-25 10:02:43 +00:00
} ;
exports . help = {
name : "skip" ,
category : "Music" ,
description : "Vote to skip the currently playing song. Song will be skipped instantly if executed by the user who requested it." ,
usage : "skip"
} ;
function skip _song ( guild ) {
guild . dispatcher . end ( "silent" ) ;
}