mirror of
https://github.com/JonasunderscoreJones/ZtereoMUSIC.git
synced 2025-10-26 04:49:18 +01:00
change: reformat code
This commit is contained in:
parent
9471fc67e0
commit
880fd0bd9b
21 changed files with 199 additions and 198 deletions
|
|
@ -5,5 +5,6 @@ import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
|||
// TODO: add categories/groups and perms but in a smart way pls
|
||||
public interface Command {
|
||||
CommandMeta getMeta();
|
||||
|
||||
void execute(MessageReceivedEvent messageRecievedEvent, String[] args);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ import codes.ztereohype.ztereomusic.command.permissions.VoiceChecks;
|
|||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter @Builder
|
||||
@Getter
|
||||
@Builder
|
||||
public class CommandMeta {
|
||||
private final String name;
|
||||
private final String description;
|
||||
|
|
|
|||
|
|
@ -15,20 +15,19 @@ public class Clear implements Command {
|
|||
|
||||
public Clear() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("clear")
|
||||
.aliases(new String[] {"deleteall"})
|
||||
.description("Clears the queue and stops playing.")
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
.name("clear")
|
||||
.aliases(new String[] { "deleteall" })
|
||||
.description("Clears the queue and stops playing.")
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(MessageReceivedEvent messageEvent, String[] args) {
|
||||
@Override public void execute(MessageReceivedEvent messageEvent, String[] args) {
|
||||
Guild guild = messageEvent.getGuild();
|
||||
MessageChannel messageChannel = messageEvent.getChannel();
|
||||
TrackManager trackManager = TrackManagers.getGuildTrackManager(guild, messageChannel);
|
||||
|
|
|
|||
|
|
@ -12,19 +12,18 @@ public class Disconnect implements Command {
|
|||
|
||||
public Disconnect() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("disconnect")
|
||||
.description("A command to kick the bot from the vc.")
|
||||
.aliases(new String[] { "fuckoff", "bye" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
.name("disconnect")
|
||||
.description("A command to kick the bot from the vc.")
|
||||
.aliases(new String[] { "fuckoff", "bye" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandMeta getMeta() {
|
||||
@Override public CommandMeta getMeta() {
|
||||
return this.meta;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,25 +14,23 @@ public class Pause implements Command {
|
|||
|
||||
public Pause() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("pause")
|
||||
.description("Pause the playing music")
|
||||
.aliases(new String[] { "resume" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
.name("pause")
|
||||
.description("Pause the playing music")
|
||||
.aliases(new String[] { "resume" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandMeta getMeta() {
|
||||
@Override public CommandMeta getMeta() {
|
||||
return this.meta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(MessageReceivedEvent messageEvent, String[] args) {
|
||||
@Override public void execute(MessageReceivedEvent messageEvent, String[] args) {
|
||||
Guild guild = messageEvent.getGuild();
|
||||
MessageChannel messageChannel = messageEvent.getChannel();
|
||||
TrackManager trackManager = TrackManagers.getGuildTrackManager(guild, messageChannel);
|
||||
|
|
|
|||
|
|
@ -10,17 +10,16 @@ public class Ping implements Command {
|
|||
|
||||
public Ping() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("ping")
|
||||
.description("A command to get pinged")
|
||||
.aliases(new String[] { "pong", "pog" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[0])
|
||||
.build();
|
||||
.name("ping")
|
||||
.description("A command to get pinged")
|
||||
.aliases(new String[] { "pong", "pog" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[0])
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandMeta getMeta() {
|
||||
@Override public CommandMeta getMeta() {
|
||||
return this.meta;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,10 @@ import codes.ztereohype.ztereomusic.command.CommandMeta;
|
|||
import codes.ztereohype.ztereomusic.command.permissions.VoiceChecks;
|
||||
import codes.ztereohype.ztereomusic.networking.SpotifyApiHelper;
|
||||
import codes.ztereohype.ztereomusic.networking.YoutubeSearch;
|
||||
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
|
||||
import net.dv8tion.jda.api.entities.*;
|
||||
import net.dv8tion.jda.api.entities.Guild;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import net.dv8tion.jda.api.entities.MessageChannel;
|
||||
import net.dv8tion.jda.api.entities.VoiceChannel;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import net.shadew.util.data.Pair;
|
||||
|
||||
|
|
@ -19,25 +21,25 @@ import java.util.regex.Matcher;
|
|||
import java.util.regex.Pattern;
|
||||
|
||||
public class Play implements Command {
|
||||
private static final Pattern URL_PATTERN = Pattern.compile("^(http|https)://([a-z]+\\.[a-z]+)+/\\S+$", Pattern.CASE_INSENSITIVE);
|
||||
private static final Pattern SPOTIFY_URL_PATTERN = Pattern.compile("^(?:https://open\\.spotify\\.com/(track|playlist)/)(\\S+(?:\\?si=\\S+))$");
|
||||
private static final Pattern URL_PATTERN = Pattern.compile("^(http|https)://([a-z]+\\.[a-z]+)+/\\S+$",
|
||||
Pattern.CASE_INSENSITIVE);
|
||||
private static final Pattern SPOTIFY_URL_PATTERN = Pattern.compile(
|
||||
"^(?:https://open\\.spotify\\.com/(track|playlist)/)(\\S+(?:\\?si=\\S+))$");
|
||||
|
||||
private final CommandMeta meta;
|
||||
|
||||
public Play() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("play")
|
||||
.description("Play music!")
|
||||
.aliases(new String[] { "p" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
.name("play")
|
||||
.description("Play music!")
|
||||
.aliases(new String[] { "p" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.USER_CONNECTED, VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandMeta getMeta() {
|
||||
@Override public CommandMeta getMeta() {
|
||||
return this.meta;
|
||||
}
|
||||
|
||||
|
|
@ -47,14 +49,14 @@ public class Play implements Command {
|
|||
Guild guild = messageEvent.getGuild();
|
||||
VoiceChannel voiceChannel = Objects.requireNonNull(author.getVoiceState()).getChannel();
|
||||
MessageChannel messageChannel = messageEvent.getChannel();
|
||||
AudioPlayerManager playerManager = ZtereoMUSIC.getInstance().getPlayerManager();
|
||||
|
||||
// if there are no args use as play/pause
|
||||
if (args.length == 0) {
|
||||
TrackManager trackManager = TrackManagers.getGuildTrackManager(guild, messageChannel);
|
||||
|
||||
if (trackManager == null || !trackManager.getPlayer().isPaused()) {
|
||||
messageChannel.sendMessage("What should I play? Type the name of the song after the command or use a YouTube link!").queue();
|
||||
messageChannel.sendMessage(
|
||||
"What should I play? Type the name of the song after the command or use a YouTube link!").queue();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -96,6 +98,8 @@ public class Play implements Command {
|
|||
|
||||
TrackManager trackManager = TrackManagers.getOrCreateGuildTrackManager(guild, messageChannel, voiceChannel);
|
||||
|
||||
playerManager.loadItem(identifier, new CustomAudioLoadResultHandler(trackManager, messageChannel));
|
||||
ZtereoMUSIC.getInstance()
|
||||
.getPlayerManager()
|
||||
.loadItem(identifier, new CustomAudioLoadResultHandler(trackManager, messageChannel));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,32 +19,32 @@ public class Queue implements Command {
|
|||
|
||||
public Queue() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("queue")
|
||||
.description("See the queue")
|
||||
.aliases(new String[] { "q" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
.name("queue")
|
||||
.description("See the queue")
|
||||
.aliases(new String[] { "q" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandMeta getMeta() {
|
||||
@Override public CommandMeta getMeta() {
|
||||
return this.meta;
|
||||
}
|
||||
|
||||
public void execute(MessageReceivedEvent messageEvent, String[] args) {
|
||||
Guild guild = messageEvent.getGuild();
|
||||
VoiceChannel voiceChannel = Objects.requireNonNull(Objects.requireNonNull(messageEvent.getMember()).getVoiceState()).getChannel();
|
||||
VoiceChannel voiceChannel = Objects.requireNonNull(Objects.requireNonNull(messageEvent.getMember())
|
||||
.getVoiceState()).getChannel();
|
||||
MessageChannel messageChannel = messageEvent.getChannel();
|
||||
|
||||
TrackManager trackManager = TrackManagers.getOrCreateGuildTrackManager(guild, messageChannel, voiceChannel);
|
||||
|
||||
StringBuilder messageBuilder = new StringBuilder();
|
||||
List<AudioTrack> trackList = trackManager.trackQueue;
|
||||
for (AudioTrack track: trackList) {
|
||||
for (AudioTrack track : trackList) {
|
||||
messageBuilder.append(trackList.indexOf(track) + 1).append(". ");
|
||||
messageBuilder.append(track.getInfo().title);
|
||||
messageBuilder.append(System.getProperty("line.separator"));
|
||||
|
|
|
|||
|
|
@ -19,26 +19,27 @@ public class Remove implements Command {
|
|||
|
||||
public Remove() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("remove")
|
||||
.aliases(new String[] {"delete"})
|
||||
.description("Remove the chosen item.")
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
.name("remove")
|
||||
.aliases(new String[] { "delete" })
|
||||
.description("Remove the chosen item.")
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(MessageReceivedEvent messageEvent, String[] args) {
|
||||
@Override public void execute(MessageReceivedEvent messageEvent, String[] args) {
|
||||
Guild guild = messageEvent.getGuild();
|
||||
MessageChannel messageChannel = messageEvent.getChannel();
|
||||
|
||||
// if there's the wrong amount of arguments send the usage
|
||||
if (args.length != 1) {
|
||||
messageChannel.sendMessage("Usage: `remove [index of song to remove]/first/last`. Use the `queue` command to find the index.").queue();
|
||||
messageChannel.sendMessage(
|
||||
"Usage: `remove [index of song to remove]/first/last`. Use the `queue` command to find the index.")
|
||||
.queue();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -59,11 +60,13 @@ public class Remove implements Command {
|
|||
// if there is an integer assume it's the index
|
||||
if (isNumeric(index)) {
|
||||
parsedIndex = Integer.parseInt(index);
|
||||
// if there is a known string get the index from the map
|
||||
// if there is a known string get the index from the map
|
||||
} else if (indexAliases.containsKey(index.toLowerCase(Locale.ROOT))) {
|
||||
parsedIndex = indexAliases.get(index);
|
||||
} else {
|
||||
messageChannel.sendMessage("Usage: `remove [index of song to remove]/first/last`. Use the `queue` command to find the index.").queue();
|
||||
messageChannel.sendMessage(
|
||||
"Usage: `remove [index of song to remove]/first/last`. Use the `queue` command to find the index.")
|
||||
.queue();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,20 +15,19 @@ public class Skip implements Command {
|
|||
|
||||
public Skip() {
|
||||
this.meta = CommandMeta.builder()
|
||||
.name("skip")
|
||||
.description("Skip the current track!")
|
||||
.aliases(new String[] { "next" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
.name("skip")
|
||||
.description("Skip the current track!")
|
||||
.aliases(new String[] { "next" })
|
||||
.isNsfw(false)
|
||||
.isHidden(false)
|
||||
.checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED,
|
||||
VoiceChecks.BOT_PLAYING,
|
||||
VoiceChecks.USER_CONNECTED,
|
||||
VoiceChecks.SAME_VC_IF_CONNECTED })
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandMeta getMeta() {
|
||||
@Override public CommandMeta getMeta() {
|
||||
return this.meta;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,6 @@ import net.dv8tion.jda.api.entities.VoiceChannel;
|
|||
|
||||
public interface Check {
|
||||
boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager);
|
||||
|
||||
String getErrorCode();
|
||||
}
|
||||
|
|
@ -15,20 +15,20 @@ public enum VoiceChecks {
|
|||
return connectedChannel != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorCode() {
|
||||
@Override public String getErrorCode() {
|
||||
return "I am not playing anything.";
|
||||
}
|
||||
}),
|
||||
|
||||
BOT_PLAYING(new Check() {
|
||||
@Override
|
||||
public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, @Nullable TrackManager trackManager) {
|
||||
public boolean getResult(Member messageAuthor,
|
||||
VoiceChannel connectedChannel,
|
||||
@Nullable TrackManager trackManager) {
|
||||
return trackManager != null && trackManager.getPlayer().getPlayingTrack() != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorCode() {
|
||||
@Override public String getErrorCode() {
|
||||
return "I am not playing anything.";
|
||||
}
|
||||
}),
|
||||
|
|
@ -40,8 +40,7 @@ public enum VoiceChecks {
|
|||
return messageAuthor.getVoiceState().inVoiceChannel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorCode() {
|
||||
@Override public String getErrorCode() {
|
||||
return "You are not connected to a voice channel.";
|
||||
}
|
||||
}),
|
||||
|
|
@ -54,8 +53,7 @@ public enum VoiceChecks {
|
|||
return Objects.equals(messageAuthor.getVoiceState().getChannel(), connectedChannel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorCode() {
|
||||
@Override public String getErrorCode() {
|
||||
return "We are not in the same voice channel.";
|
||||
}
|
||||
}),
|
||||
|
|
@ -67,8 +65,7 @@ public enum VoiceChecks {
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorCode() {
|
||||
@Override public String getErrorCode() {
|
||||
return "You don't have the *DJ role*.";
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue