Advertisement
Guest User

SkipCommand.java

a guest
Apr 7th, 2020
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.90 KB | None | 0 0
  1. package me.eddiemenard.jdabot.command.commands.music;
  2.  
  3. import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
  4. import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
  5. import me.eddiemenard.jdabot.command.CommandContext;
  6. import me.eddiemenard.jdabot.command.ICommand;
  7. import me.eddiemenard.jdabot.music.GuildMusicManager;
  8. import me.eddiemenard.jdabot.music.PlayerManager;
  9. import me.eddiemenard.jdabot.music.TrackScheduler;
  10. import net.dv8tion.jda.api.Permission;
  11. import net.dv8tion.jda.api.entities.Member;
  12. import net.dv8tion.jda.api.entities.TextChannel;
  13.  
  14. import java.util.concurrent.BlockingQueue;
  15.  
  16. public class SkipCommand implements ICommand
  17. {
  18.     @Override
  19.     public void handle(CommandContext ctx)
  20.     {
  21.         TextChannel channel = ctx.getChannel();
  22.         Member author = ctx.getMessage().getMember();
  23.         PlayerManager playerManager = PlayerManager.getInstance();
  24.         GuildMusicManager musicManager = playerManager.getGuildMusicManager(ctx.getGuild());
  25.         TrackScheduler scheduler = musicManager.scheduler;
  26.         AudioPlayer player = musicManager.player;
  27.         BlockingQueue<AudioTrack> queue = musicManager.scheduler.getQueue();
  28.  
  29.         if (player.getPlayingTrack() == null)
  30.         {
  31.             channel.sendMessage("There is no song playing").queue();
  32.             return;
  33.         }
  34.  
  35.         if (!author.hasPermission(Permission.ADMINISTRATOR))
  36.         {
  37.             channel.sendMessage("You are not an administrator").queue();
  38.             return;
  39.         }
  40.         else
  41.         {
  42.             queue.remove(player.getPlayingTrack().getPosition());
  43.             scheduler.nextTrack();
  44.  
  45.             channel.sendMessage("Skipping song").queue();
  46.         }
  47.     }
  48.  
  49.     @Override
  50.     public String getName()
  51.     {
  52.         return "skip";
  53.     }
  54.  
  55.     @Override
  56.     public String getHelp()
  57.     {
  58.         return "Skips the current song (Must be an admin)";
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement