From bac28a1c4de0efe6c495f2141b02d57d0891c4a6 Mon Sep 17 00:00:00 2001 From: "Yukai (Donald) Shan" Date: Sat, 10 Dec 2022 17:01:00 -0800 Subject: Add files via upload --- src/main/java/commands/UIPusher.java | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/main/java/commands/UIPusher.java (limited to 'src/main/java/commands/UIPusher.java') diff --git a/src/main/java/commands/UIPusher.java b/src/main/java/commands/UIPusher.java new file mode 100644 index 0000000..6ebe61a --- /dev/null +++ b/src/main/java/commands/UIPusher.java @@ -0,0 +1,64 @@ +package commands; + +import audio.GuildMusicManager; +import com.sedmelluq.discord.lavaplayer.track.AudioTrack; +import net.dv8tion.jda.api.entities.Emoji; +import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.events.interaction.SlashCommandEvent; +import net.dv8tion.jda.api.interactions.components.Button; +import net.dv8tion.jda.api.interactions.components.selections.SelectOption; +import net.dv8tion.jda.api.interactions.components.selections.SelectionMenu; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; +import java.util.Queue; + +public class UIPusher { + + public void showControls(SlashCommandEvent event){ + event.reply("Controls for the player:") + .addActionRow( + Button.primary("action-volumedown", Emoji.fromUnicode("U+1F509")), + Button.primary("action-skip", Emoji.fromUnicode("U+23E9")), + Button.primary("action-pause", Emoji.fromUnicode("U+23EF")), + Button.primary("action-stop", Emoji.fromUnicode("U+23F9")), + Button.primary("action-volumeup", Emoji.fromUnicode("U+1F50A")) + ) + .queue(); + } + public void showQueueMenu(SlashCommandEvent event, String param, String instruction,GuildMusicManager musicManager){ + Queue queue = musicManager.scheduler.queue; + List trackMenuOptions = new ArrayList(); + synchronized (queue) + { + if (queue.isEmpty()) + { + event.reply("The queue is currently empty!").queue(); + } + else + { + int trackCount = 0; + for (AudioTrack track : queue) + { + if (trackCount != 25) + { + SelectOption option = SelectOption.of(track.getInfo().title,param+" "+track.getInfo().title); + trackMenuOptions.add(option); + trackCount++; + } + } + SelectionMenu menu = SelectionMenu.create("menu:class") + .setPlaceholder("-Select a track-") // shows the placeholder indicating what this menu is for + .setRequiredRange(1,1)// only one can be selected + .addOptions(trackMenuOptions) + .build(); + event.reply(instruction) + .setEphemeral(true) + .addActionRow(menu) + .queue(); + + } + } + } +} -- cgit v1.2.3