aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/commands/CommandManager.java
blob: b8f459654f34ec6b0ed6755c907b1b122b953f64 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package commands;

import audio.Music;
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;

import java.util.Objects;

public class CommandManager extends ListenerAdapter {
    Music music;
    String vTuberSongDatabase = "https://pinapelz.github.io/vTuberDiscordBot/hololiveMusic.txt";
    public CommandManager(Music music){
        this.music = music;
    }
    @Override
    public void onSlashCommand(SlashCommandEvent event) {
        String command = event.getName(); //test
        switch (command) {
            case "play":
                music.playMusic(event);
                break;
            case "leave":
                Objects.requireNonNull(event.getGuild()).getAudioManager().setSendingHandler(null);
                event.getGuild().getAudioManager().closeAudioConnection();
                event.reply("OtsuRose! See you later!").queue();
                break;
            case "queue-recursive":
                music.recursiveQueue(event, event.getOption("url").getAsString(), Integer.parseInt(event.getOption("amount").getAsString()));
                break;
            case "vtmusic":
                event.deferReply().queue();
                music.queueTrackFromLoadedList(event, Integer.parseInt(Objects.requireNonNull(event.getOption("number")).getAsString()), "VTubermusic.txt",vTuberSongDatabase);
                event.getHook().sendMessage("Queued up " + Integer.parseInt(Objects.requireNonNull(event.getOption("number")).getAsString()) + " songs!").queue();
                break;
            case "showqueue":
                music.showQueue(event);
                break;
            case "skip":
                music.skipTrack(event);

                break;
            case "pause":
                music.pausePlayer(event);

                break;
            case "controls":
                music.showControls(event);

                break;
            case "shuffle":
                music.shuffleQueue(event);

                break;
            case "nowplaying":
                music.showNowPlaying(event);

                break;
            case "stop":
                music.stopPlayer(event);

                break;
            case "volume":
                music.setVolume(event, Objects.requireNonNull(event.getOption("volume")).getAsString());
                break;
            case "remove":
                music.showQueueMenu(event, "remove-queue", "Select a track to remove below");

                break;
            case "inspect":
                music.showQueueMenu(event, "inspect-queue", "Select a track to inspect below");
                break;
        }
        super.onSlashCommand(event);
    }

}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage