2023-03-15 14:09:09 +00:00
import { players } from "../../utils/soundplayer.js" ;
import MusicCommand from "../../classes/musicCommand.js" ;
class LoopCommand extends MusicCommand {
async run ( ) {
this . success = false ;
if ( ! this . guild ) return "This command only works in servers!" ;
if ( ! this . member . voiceState ) return "You need to be in a voice channel first!" ;
if ( ! this . guild . voiceStates . has ( this . client . user . id ) ) return "I'm not in a voice channel!" ;
if ( ! this . connection ) return "I haven't completely connected yet!" ;
2023-03-15 14:12:35 +00:00
if ( this . connection . host !== this . author && ! this . member . permissions . has ( "MANAGE_CHANNELS" ) ) return "Only the current voice session host can loop the music!" ;
2023-03-15 14:09:09 +00:00
const object = this . connection ;
object . loop = ! object . loop ;
players . set ( this . guild . id , object ) ;
this . success = true ;
return object . loop ? "🔊 The player is now looping." : "🔊 The player is no longer looping." ;
}
static description = "Loops the music" ;
static aliases = [ "toggleloop" , "repeat" ] ;
}
2021-08-19 14:19:14 +00:00
export default LoopCommand ;