diff options
| -rw-r--r-- | .gitignore | 7 | ||||
| -rw-r--r-- | pom.xml | 17 | ||||
| -rw-r--r-- | src/main/java/Main.java | 3 | ||||
| -rw-r--r-- | src/main/java/audio/Music.java | 47 | ||||
| -rw-r--r-- | src/main/java/audio/TrackScheduler.java | 4 | ||||
| -rw-r--r-- | src/main/java/commands/CommandManager.java | 6 |
6 files changed, 35 insertions, 49 deletions
@@ -1,2 +1,5 @@ - -*.xml +data +settings +target +.idea +settings/config.json @@ -40,13 +40,12 @@ <dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
- <version>1.15.3</version>
+ <version>1.15.4</version>
</dependency>
-
<dependency>
<groupId>com.github.walkyst</groupId>
<artifactId>lavaplayer-fork</artifactId>
- <version>1.3.98.4</version>
+ <version>1.4.0</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
@@ -56,12 +55,12 @@ <dependency>
<groupId>se.michaelthelin.spotify</groupId>
<artifactId>spotify-web-api-java</artifactId>
- <version>7.2.2</version>
+ <version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
- <version>20150729</version>
+ <version>20230227</version>
</dependency>
</dependencies>
@@ -94,6 +93,14 @@ </execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>10</source>
+ <target>10</target>
+ </configuration>
+ </plugin>
</plugins>
<resources>
<resource>
diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 8154037..4fe9473 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,13 +3,10 @@ import net.dv8tion.jda.api.events.ReadyEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
-import utility.StatusHandler;
import java.io.FileReader;
public class Main extends ListenerAdapter {
- public static StatusHandler statusHandler;
-
public static void main( String[] args)
diff --git a/src/main/java/audio/Music.java b/src/main/java/audio/Music.java index afca6f2..3f1b97b 100644 --- a/src/main/java/audio/Music.java +++ b/src/main/java/audio/Music.java @@ -14,7 +14,7 @@ import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.MessageBuilder;
-import net.dv8tion.jda.api.entities.Activity;
+
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.entities.VoiceChannel;
@@ -26,8 +26,6 @@ import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.interactions.components.selections.SelectOption;
import net.dv8tion.jda.api.interactions.components.selections.SelectionMenu;
import net.dv8tion.jda.api.managers.AudioManager;
-import org.jetbrains.annotations.NotNull;
-import se.michaelthelin.spotify.model_objects.specification.PlaylistTrack;
import utility.*;
import javax.security.auth.login.LoginException;
import java.awt.*;
@@ -41,6 +39,7 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue;
+
public class Music extends ListenerAdapter {
public static JDA jda;
public static JDABuilder jdabuilder;
@@ -94,7 +93,7 @@ public class Music extends ListenerAdapter { URL url = new URL(link);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
- File f = new File(fileName);
+ File f = new File("data//"+fileName);
if(!f.exists()){ //if file doesn't exist, create it
f.createNewFile();
}else{//if file exists, delete it
@@ -122,7 +121,7 @@ public class Music extends ListenerAdapter { try {
s = new Scanner(new File("data//"+fileName));
} catch (FileNotFoundException e) {
- e.printStackTrace();
+ System.out.println("File Creation was unsuccessful. Can't access local playlist");
}
while (true){
assert s != null;
@@ -131,8 +130,8 @@ public class Music extends ListenerAdapter { }
s.close();
}
- public void queueTrackFromLoadedList(SlashCommandEvent event, int songsToQueue,String fileName,String url){
- fillLoadedPlaylist(url,fileName);
+ public void queueTrackFromLoadedList(SlashCommandEvent event, int songsToQueue,String url){
+ fillLoadedPlaylist(url,"songdb.txt");
Collections.shuffle(currentlyLoadedPlaylist);
for (int i = 0;i<songsToQueue;i++){
loadAndPlay((TextChannel) event.getChannel(), currentlyLoadedPlaylist.get(i),false);
@@ -141,14 +140,14 @@ public class Music extends ListenerAdapter { @Override
public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
- String[] command = event.getMessage().getContentRaw().split(" ", 2);
-
- if((append+"holoadd").equals(command[0])){
- event.getChannel().sendMessage("The url has been successfully added to the database").queue();
- }
-
+ String msg = event.getMessage().getContentRaw();
+ //TODO: Add voice recognition for commands?
super.onGuildMessageReceived(event);
}
+
+
+
+
public void showQueueMenu(SlashCommandEvent event, String param, String instruction){
Guild guild = event.getGuild();
GuildMusicManager mng = getGuildAudioPlayer(guild);
@@ -249,24 +248,6 @@ public class Music extends ListenerAdapter { }
}
- //TODO: Finish the feature of showing spotify menu
- public void showSpotifyMenu(String playlistID, SlashCommandEvent event){
- PlaylistTrack[] tracks = spotifyAPI.getPlaylist_Sync(playlistID);
- ArrayList<PlaylistTrack[]> trackPages = new ArrayList<PlaylistTrack[]>();
- int chunk = 25; // chunk size to divide
- for(int i=0;i<tracks.length;i+=chunk){
- System.out.println(Arrays.toString(Arrays.copyOfRange(tracks, i, Math.min(tracks.length,i+chunk))));
- trackPages.add(Arrays.copyOfRange(tracks, i, Math.min(tracks.length,i+chunk)));
- }
- for(int i = 0;i < trackPages.size();i++){
- for(int j = 0; j < trackPages.get(i).length; j++){
- // SelectOption option = SelectOption.of(trackPages.get(i)[j].getTrack().getName(),param+" "+track.getInfo().title);
- //trackMenuOptions.add(option);
-
- }
- }
- }
-
public void setVolume(SlashCommandEvent event, String command){
Guild guild = event.getGuild();
assert guild != null;
@@ -494,7 +475,7 @@ public class Music extends ListenerAdapter { }
- public void loadAndPlay(final @NotNull TextChannel channel, final String trackUrl, boolean returnMessage) {
+ public void loadAndPlay(final TextChannel channel, final String trackUrl, boolean returnMessage) {
GuildMusicManager musicManager = getGuildAudioPlayer(channel.getGuild());
playerManager.loadItemOrdered(musicManager, trackUrl, new AudioLoadResultHandler() {
@Override
@@ -531,6 +512,7 @@ public class Music extends ListenerAdapter { if(returnMessage) {
channel.sendMessage("Could not play: " + exception.getMessage()).queue();
System.out.println(exception);
+ exception.printStackTrace();
}
}
});
@@ -551,6 +533,7 @@ public class Music extends ListenerAdapter { }
private static void connectToFirstVoiceChannel(AudioManager audioManager) {
+ System.out.println("Connecting to voice channel");
if (!audioManager.isConnected() && !audioManager.isAttemptingToConnect()) {
for (VoiceChannel voiceChannel : audioManager.getGuild().getVoiceChannels()) {
audioManager.openAudioConnection(voiceChannel);
diff --git a/src/main/java/audio/TrackScheduler.java b/src/main/java/audio/TrackScheduler.java index 02329c8..cbf4742 100644 --- a/src/main/java/audio/TrackScheduler.java +++ b/src/main/java/audio/TrackScheduler.java @@ -52,13 +52,9 @@ public class TrackScheduler extends AudioEventAdapter { public void nextTrack() {
player.startTrack(queue.poll(), false);
jda.getPresence().setActivity(Activity.playing(player.getPlayingTrack().getInfo().title));
-
-
}
- //TODO: FIGURE OUT HOW TO CHANGE THE STATUS AT THIS PART
@Override
public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
- // Only start the next track if the end reason is suitable for it (FINISHED or LOAD_FAILED)
jda.getPresence().setActivity(null);
if (endReason.mayStartNext) {
jda.getPresence().setActivity(Activity.playing(track.getInfo().title));
diff --git a/src/main/java/commands/CommandManager.java b/src/main/java/commands/CommandManager.java index b8f4596..0dccf7a 100644 --- a/src/main/java/commands/CommandManager.java +++ b/src/main/java/commands/CommandManager.java @@ -8,13 +8,13 @@ import java.util.Objects; public class CommandManager extends ListenerAdapter {
Music music;
- String vTuberSongDatabase = "https://pinapelz.github.io/vTuberDiscordBot/hololiveMusic.txt";
+ String songDatabase = "https://pinapelz.github.io/vTuberDiscordBot/forsen.txt";
public CommandManager(Music music){
this.music = music;
}
@Override
public void onSlashCommand(SlashCommandEvent event) {
- String command = event.getName(); //test
+ String command = event.getName();
switch (command) {
case "play":
music.playMusic(event);
@@ -29,7 +29,7 @@ public class CommandManager extends ListenerAdapter { break;
case "vtmusic":
event.deferReply().queue();
- music.queueTrackFromLoadedList(event, Integer.parseInt(Objects.requireNonNull(event.getOption("number")).getAsString()), "VTubermusic.txt",vTuberSongDatabase);
+ music.queueTrackFromLoadedList(event, Integer.parseInt(Objects.requireNonNull(event.getOption("number")).getAsString()), songDatabase);
event.getHook().sendMessage("Queued up " + Integer.parseInt(Objects.requireNonNull(event.getOption("number")).getAsString()) + " songs!").queue();
break;
case "showqueue":
|
