diff --git a/src/main/java/netneutrality/command/music/BitconnectCommand.java b/src/main/java/netneutrality/command/music/BitconnectCommand.java new file mode 100644 index 0000000..47e6647 --- /dev/null +++ b/src/main/java/netneutrality/command/music/BitconnectCommand.java @@ -0,0 +1,74 @@ +package netneutrality.command.music; + +/* + * Copyright (c) anthorob + * + * This file is closed-source. It should not be distributed or copied in any way or form + */ + +import net.dv8tion.jda.core.entities.Member; +import net.dv8tion.jda.core.entities.VoiceChannel; +import net.dv8tion.jda.core.events.message.MessageReceivedEvent; +import netneutrality.command.AbstractCommand; +import netneutrality.command.Visibility; +import netneutrality.music.MusicManager; + +public class BitconnectCommand extends AbstractCommand { + @Override + public boolean needAdmin() { + return true; + } + + @Override + public boolean isEnabled() { + return true; + } + + @Override + public String getCommand() { + return "bitconnect"; + } + + @Override + public String[] getAlias() { + return new String[0]; + } + + @Override + public String getUsage() { + return null; + } + + @Override + public Visibility getVisibility() { + return Visibility.CHANNEL; + } + + @Override + public String execute(MessageReceivedEvent event, String args) { + Member member = event.getMember(); + MusicManager player = MusicManager.get(event.getGuild()); + + if (member.getVoiceState().inVoiceChannel()) { + VoiceChannel vChannel = member.getVoiceState().getChannel(); + + if (player.isConnected()) { + if (player.isConnectedTo(vChannel)) { + player.play("https://www.youtube.com/watch?v=A8M70M7tzTI", event.getTextChannel(), true); + } else + event.getTextChannel().sendMessage("Not in your voice channel").queue(); + } else { + player.connect(vChannel); + player.play("https://www.youtube.com/watch?v=A8M70M7tzTI", event.getTextChannel(), true); + } + + + + } else + event.getTextChannel().sendMessage("You are not in a voice channel").queue(); + + event.getMessage().delete().queue(); + + return null; + } +} diff --git a/src/main/java/netneutrality/music/TrackScheduler.java b/src/main/java/netneutrality/music/TrackScheduler.java index 78b5f30..023aa39 100644 --- a/src/main/java/netneutrality/music/TrackScheduler.java +++ b/src/main/java/netneutrality/music/TrackScheduler.java @@ -34,6 +34,9 @@ public class TrackScheduler extends AudioEventAdapter { } } + /** + * Start the next track, stopping the current one if it is playing. + */ public void nextTrack() { // Start the next track, regardless of if something is already playing or not. In case queue was empty, we are // giving null to startTrack, which is a valid argument and will simply stop the player.