From f318ac21e883c42d360c70aac15710ab1bdfda7e Mon Sep 17 00:00:00 2001 From: Tom <57322153+CyZeTLC@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:46:15 +0200 Subject: [PATCH 1/3] Added error messages for the PlayCommand --- .../commands/music/PlayCommand.java | 3 ++- .../service/audio/PlayerHandler.java | 21 +++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java index f8f221b..93c8b6d 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java @@ -57,7 +57,8 @@ public void onCommand(User user, SlashCommandInteractionEvent event, TextChannel .loadAndPlay(Commentarii.getInstance().getLogHandler().getLogChannelOfGuild(event.getGuild().getIdLong()), link, (AudioTrack track) -> this.sendEmbed(Embed.getEmbed(Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_play.title"), Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_play.content", track.getInfo().title, track.getInfo().author), Color.GREEN)), - (playlist) -> this.sendEmbed(Embed.getEmbed(Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.title"), Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.content", playlist.getName(), playlist.getTracks().size()+""), Color.GREEN))); + (playlist) -> this.sendEmbed(Embed.getEmbed(Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.title"), Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.content", playlist.getName(), playlist.getTracks().size()+""), Color.GREEN)), + (message) -> this.sendEmbed(Embed.getEmbed(Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_failed.title"), message, Color.RED))); } else { this.sendMessage(Commentarii.getInstance().getMessageHandler().getMessageForGuild(event.getGuild().getIdLong(), "commentarii.command.play.not_in_channel")); } diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java index c72f6ff..eb25c55 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java @@ -51,12 +51,21 @@ public GuildMusicHandler getMusicManager(Guild guild) { } /** - * It loads the track from the URL, and then queues it to be played + * This function loads and plays audio tracks or playlists in a Discord channel and provides callbacks for success or + * failure. * - * @param channel The channel to send the message to. - * @param trackUrl The URL of the track to load. + * @param channel The Discord text channel where the music will be played. + * @param trackUrl The URL of the audio track or playlist to be loaded and played. + * @param callback The callback parameter is a Consumer functional interface that accepts an AudioTrack object as input + * and performs some operation on it. It is used to handle the loaded AudioTrack object after it has been successfully + * loaded by the audio player manager. + * @param clb The parameter "clb" is a Consumer that accepts an AudioPlaylist object as input and performs some action + * with it. It is used as a callback function when an audio playlist is successfully loaded. + * @param failed The "failed" parameter is a Consumer that accepts a String as input. It is used to handle the case + * where loading the audio track or playlist fails, and the String input is the error message explaining why the + * loading failed. */ - public void loadAndPlay(TextChannel channel, String trackUrl, Consumer callback, Consumer clb) { + public void loadAndPlay(TextChannel channel, String trackUrl, Consumer callback, Consumer clb, Consumer failed) { final GuildMusicHandler musicHandler = this.getMusicManager(channel.getGuild()); this.audioPlayerManager.loadItemOrdered(musicHandler, trackUrl, new AudioLoadResultHandler() { @@ -92,12 +101,12 @@ public void playlistLoaded(AudioPlaylist playlist) { @Override public void noMatches() { - // + failed.accept(Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_no_matches")); } @Override public void loadFailed(FriendlyException exception) { - // + failed.accept(exception.getMessage()); } }); } From 661585d23fc9b03a29503ba5574abd12a7d676c4 Mon Sep 17 00:00:00 2001 From: Tom <57322153+CyZeTLC@users.noreply.github.com> Date: Sun, 14 Jul 2024 20:47:56 +0200 Subject: [PATCH 2/3] Updated project to jda version 5.0.0 --- Commentarii-Core/pom.xml | 4 +- .../eu/cyzetlc/commentarii/Commentarii.java | 4 +- .../commands/ApplyChannelCommand.java | 4 +- .../commentarii/commands/ApplyCommand.java | 2 +- .../commands/BroadcastCommand.java | 2 +- .../commentarii/commands/GuildCommand.java | 2 +- .../commentarii/commands/InfoCommand.java | 2 +- .../commentarii/commands/LanguageCommand.java | 2 +- .../commands/LogChannelCommand.java | 4 +- .../commentarii/commands/PingCommand.java | 5 +- .../commentarii/commands/ResendCommand.java | 2 +- .../commands/SetupVerifyCommand.java | 2 +- .../commentarii/commands/ViewLogCommand.java | 2 +- .../commands/music/PlayCommand.java | 20 ++--- .../commands/music/SkipCommand.java | 6 +- .../commands/music/StopCommand.java | 9 +- .../commentarii/listener/LogListener.java | 7 +- .../commentarii/modals/ApplyModal.java | 2 +- .../service/apply/ApplyHandler.java | 2 +- .../service/audio/AudioPlayerSendHandler.java | 7 +- .../service/audio/PlayerHandler.java | 84 ++++++++++--------- .../service/audio/TrackScheduler.java | 1 + .../service/button/ButtonHandler.java | 2 +- .../commentarii/service/command/Command.java | 2 +- .../commentarii/service/log/LogHandler.java | 2 +- .../commentarii/service/modal/Modal.java | 13 +-- .../service/verify/VerifyHandler.java | 2 +- 27 files changed, 98 insertions(+), 98 deletions(-) diff --git a/Commentarii-Core/pom.xml b/Commentarii-Core/pom.xml index 9c2f6d9..80da2c5 100644 --- a/Commentarii-Core/pom.xml +++ b/Commentarii-Core/pom.xml @@ -54,7 +54,7 @@ net.dv8tion JDA - 5.0.0-alpha.17 + 5.0.0 @@ -112,7 +112,7 @@ com.google.guava guava - 31.1-jre + 32.0.0-android diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/Commentarii.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/Commentarii.java index e3d5fa3..9b2ebea 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/Commentarii.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/Commentarii.java @@ -21,7 +21,7 @@ import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.events.ReadyEvent; +import net.dv8tion.jda.api.events.session.ReadyEvent; import net.dv8tion.jda.api.requests.GatewayIntent; import net.dv8tion.jda.api.utils.cache.CacheFlag; import org.slf4j.Logger; @@ -88,7 +88,7 @@ private Commentarii() throws LoginException, InterruptedException, IOException { this.buildListeners(); this.buildCommands(); - new LogListener().onReady(new ReadyEvent(this.jda, 0)); + new LogListener().onReady(new ReadyEvent(this.jda)); } /** diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyChannelCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyChannelCommand.java index 794dba4..1534b78 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyChannelCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyChannelCommand.java @@ -5,8 +5,8 @@ import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.GuildChannel; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyCommand.java index 6f3f21b..3e4a8c2 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ApplyCommand.java @@ -5,7 +5,7 @@ import eu.cyzetlc.commentarii.service.command.Command; import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; @CommandSpecification( diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/BroadcastCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/BroadcastCommand.java index c1cc212..c21c46d 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/BroadcastCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/BroadcastCommand.java @@ -6,7 +6,7 @@ import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/GuildCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/GuildCommand.java index cdafcee..7031ac7 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/GuildCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/GuildCommand.java @@ -5,7 +5,7 @@ import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import java.awt.*; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/InfoCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/InfoCommand.java index 915ef8d..6b14ab9 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/InfoCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/InfoCommand.java @@ -7,7 +7,7 @@ import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import java.awt.*; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LanguageCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LanguageCommand.java index fd51a1d..7d88736 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LanguageCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LanguageCommand.java @@ -5,7 +5,7 @@ import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LogChannelCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LogChannelCommand.java index 433ee73..0e38eeb 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LogChannelCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/LogChannelCommand.java @@ -5,8 +5,8 @@ import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.GuildChannel; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/PingCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/PingCommand.java index 60e00ff..f72aa1c 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/PingCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/PingCommand.java @@ -1,12 +1,10 @@ package eu.cyzetlc.commentarii.commands; -import eu.cyzetlc.commentarii.buttons.InviteMeButton; -import eu.cyzetlc.commentarii.buttons.VisiteWebsiteButton; import eu.cyzetlc.commentarii.service.command.Command; import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import java.awt.*; @@ -15,7 +13,6 @@ import java.time.Duration; import java.time.Instant; import java.time.LocalDateTime; -import java.util.List; @CommandSpecification( command = "ping", diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ResendCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ResendCommand.java index 041e379..44e7f48 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ResendCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ResendCommand.java @@ -6,7 +6,7 @@ import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import java.awt.*; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/SetupVerifyCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/SetupVerifyCommand.java index 1e0afa6..9936568 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/SetupVerifyCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/SetupVerifyCommand.java @@ -6,7 +6,7 @@ import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ViewLogCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ViewLogCommand.java index f45199b..aa5cf6d 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ViewLogCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/ViewLogCommand.java @@ -4,7 +4,7 @@ import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java index 93c8b6d..904931a 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/PlayCommand.java @@ -2,30 +2,23 @@ import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import eu.cyzetlc.commentarii.Commentarii; -import eu.cyzetlc.commentarii.buttons.InviteMeButton; -import eu.cyzetlc.commentarii.buttons.VisiteWebsiteButton; +import eu.cyzetlc.commentarii.service.audio.GuildMusicHandler; import eu.cyzetlc.commentarii.service.audio.PlayerHandler; import eu.cyzetlc.commentarii.service.command.Command; import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import eu.cyzetlc.commentarii.service.log.LogHandler; import net.dv8tion.jda.api.audio.SpeakingMode; -import net.dv8tion.jda.api.entities.AudioChannel; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.managers.AudioManager; import java.awt.*; -import java.io.IOException; -import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; -import java.net.URL; -import java.time.LocalDateTime; -import java.util.List; @CommandSpecification( command = "play", @@ -44,6 +37,13 @@ public void onCommand(User user, SlashCommandInteractionEvent event, TextChannel AudioChannel connectedChannel = event.getMember().getVoiceState().getChannel(); if (connectedChannel != null) { AudioManager audioManager = event.getGuild().getAudioManager(); + + audioManager.closeAudioConnection(); + + final GuildMusicHandler musicHandler = PlayerHandler.getInstance().getMusicManager(audioManager.getGuild()); + musicHandler.scheduler.player.stopTrack(); + musicHandler.scheduler.queue.clear(); + audioManager.openAudioConnection(connectedChannel); audioManager.setSpeakingMode(SpeakingMode.VOICE); diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/SkipCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/SkipCommand.java index 8adf0d8..cb6a0a5 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/SkipCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/SkipCommand.java @@ -8,14 +8,12 @@ import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; import net.dv8tion.jda.api.audio.SpeakingMode; -import net.dv8tion.jda.api.entities.AudioChannel; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.managers.AudioManager; import java.awt.*; -import java.net.URI; -import java.net.URISyntaxException; @CommandSpecification( command = "skip", diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/StopCommand.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/StopCommand.java index b202f58..50c7f5f 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/StopCommand.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/commands/music/StopCommand.java @@ -1,6 +1,5 @@ package eu.cyzetlc.commentarii.commands.music; -import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import eu.cyzetlc.commentarii.Commentarii; import eu.cyzetlc.commentarii.service.audio.GuildMusicHandler; import eu.cyzetlc.commentarii.service.audio.PlayerHandler; @@ -8,9 +7,8 @@ import eu.cyzetlc.commentarii.service.command.annotation.CommandSpecification; import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.entities.User; -import net.dv8tion.jda.api.audio.SpeakingMode; -import net.dv8tion.jda.api.entities.AudioChannel; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.managers.AudioManager; @@ -27,8 +25,7 @@ public void onCommand(User user, SlashCommandInteractionEvent event, TextChannel AudioChannel connectedChannel = event.getMember().getVoiceState().getChannel(); if (connectedChannel != null) { AudioManager audioManager = event.getGuild().getAudioManager(); - audioManager.openAudioConnection(connectedChannel); - audioManager.setSpeakingMode(SpeakingMode.VOICE); + audioManager.closeAudioConnection(); final GuildMusicHandler musicHandler = PlayerHandler.getInstance().getMusicManager(audioManager.getGuild()); musicHandler.scheduler.player.stopTrack(); diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java index 6e63d8d..090776f 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java @@ -1,15 +1,11 @@ package eu.cyzetlc.commentarii.listener; import eu.cyzetlc.commentarii.Commentarii; -import eu.cyzetlc.commentarii.service.audio.PlayerHandler; import eu.cyzetlc.commentarii.service.log.LogHandler; import lombok.Getter; -import net.dv8tion.jda.api.audio.SpeakingMode; -import net.dv8tion.jda.api.entities.AudioChannel; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Invite; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.events.ReadyEvent; import net.dv8tion.jda.api.events.channel.ChannelCreateEvent; import net.dv8tion.jda.api.events.channel.ChannelDeleteEvent; import net.dv8tion.jda.api.events.channel.update.*; @@ -20,10 +16,9 @@ import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleRemoveEvent; import net.dv8tion.jda.api.events.guild.member.update.GuildMemberUpdateNicknameEvent; import net.dv8tion.jda.api.events.guild.update.GuildUpdateNameEvent; -import net.dv8tion.jda.api.events.guild.voice.GuildVoiceJoinEvent; import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent; +import net.dv8tion.jda.api.events.session.ReadyEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; -import net.dv8tion.jda.api.managers.AudioManager; import org.jetbrains.annotations.NotNull; import java.util.LinkedHashMap; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/modals/ApplyModal.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/modals/ApplyModal.java index c3e4e5f..81f1447 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/modals/ApplyModal.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/modals/ApplyModal.java @@ -4,7 +4,7 @@ import eu.cyzetlc.commentarii.service.entities.Embed; import eu.cyzetlc.commentarii.service.modal.Modal; import eu.cyzetlc.commentarii.service.modal.annotation.ModalSpecification; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.interactions.components.ActionRow; import net.dv8tion.jda.api.interactions.components.text.TextInput; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/apply/ApplyHandler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/apply/ApplyHandler.java index 7fe208c..b81378e 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/apply/ApplyHandler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/apply/ApplyHandler.java @@ -3,7 +3,7 @@ import eu.cyzetlc.commentarii.Commentarii; import lombok.Getter; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import javax.sql.rowset.CachedRowSet; import java.sql.SQLException; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/AudioPlayerSendHandler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/AudioPlayerSendHandler.java index 0f30b5b..4f56bf9 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/AudioPlayerSendHandler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/AudioPlayerSendHandler.java @@ -27,7 +27,12 @@ public AudioPlayerSendHandler(AudioPlayer audioPlayer) { @Override // Checking if the audio player can provide audio. public boolean canProvide() { - return this.audioPlayer.provide(this.frame); + try { + return this.audioPlayer.provide(this.frame); + } catch (Exception e) { + + } + return false; } @Nullable diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java index eb25c55..d4dfd9c 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/PlayerHandler.java @@ -10,7 +10,7 @@ import eu.cyzetlc.commentarii.Commentarii; import eu.cyzetlc.commentarii.service.log.LogHandler; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import java.util.HashMap; import java.util.List; @@ -66,49 +66,53 @@ public GuildMusicHandler getMusicManager(Guild guild) { * loading failed. */ public void loadAndPlay(TextChannel channel, String trackUrl, Consumer callback, Consumer clb, Consumer failed) { - final GuildMusicHandler musicHandler = this.getMusicManager(channel.getGuild()); - - this.audioPlayerManager.loadItemOrdered(musicHandler, trackUrl, new AudioLoadResultHandler() { - @Override - public void trackLoaded(AudioTrack track) { - musicHandler.scheduler.queue(track); - - callback.accept(track); - Commentarii.getInstance().getLogHandler().log( - Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_play.title"), - Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_play.content", track.getInfo().title, track.getInfo().author), - LogHandler.LogLevel.INFO, - channel.getGuild().getIdLong() - ); - } - - @Override - public void playlistLoaded(AudioPlaylist playlist) { - final List tracks = playlist.getTracks(); - - clb.accept(playlist); - Commentarii.getInstance().getLogHandler().log( - Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.title"), - Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.content", playlist.getName(), playlist.getTracks().size()+""), - LogHandler.LogLevel.INFO, - channel.getGuild().getIdLong() - ); - - for (final AudioTrack track : tracks) { + if (channel != null) { + final GuildMusicHandler musicHandler = this.getMusicManager(channel.getGuild()); + + this.audioPlayerManager.loadItemOrdered(musicHandler, trackUrl, new AudioLoadResultHandler() { + @Override + public void trackLoaded(AudioTrack track) { musicHandler.scheduler.queue(track); + + callback.accept(track); + Commentarii.getInstance().getLogHandler().log( + Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_play.title"), + Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_play.content", track.getInfo().title, track.getInfo().author), + LogHandler.LogLevel.INFO, + channel.getGuild().getIdLong() + ); } - } - @Override - public void noMatches() { - failed.accept(Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_no_matches")); - } + @Override + public void playlistLoaded(AudioPlaylist playlist) { + final List tracks = playlist.getTracks(); + + clb.accept(playlist); + Commentarii.getInstance().getLogHandler().log( + Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.title"), + Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_playlist_play.content", playlist.getName(), playlist.getTracks().size()+""), + LogHandler.LogLevel.INFO, + channel.getGuild().getIdLong() + ); + + for (final AudioTrack track : tracks) { + musicHandler.scheduler.queue(track); + } + } - @Override - public void loadFailed(FriendlyException exception) { - failed.accept(exception.getMessage()); - } - }); + @Override + public void noMatches() { + failed.accept(Commentarii.getInstance().getMessageHandler().getMessageForGuild(channel.getGuild().getIdLong(), "commentarii.log.music_no_matches")); + } + + @Override + public void loadFailed(FriendlyException exception) { + failed.accept(exception.getMessage()); + } + }); + } else { + failed.accept("Channel not found!"); + } } /** diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/TrackScheduler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/TrackScheduler.java index 4b615c8..5fb12da 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/TrackScheduler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/audio/TrackScheduler.java @@ -2,6 +2,7 @@ import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; import com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter; +import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/button/ButtonHandler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/button/ButtonHandler.java index 9cc7cde..3ea3836 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/button/ButtonHandler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/button/ButtonHandler.java @@ -5,7 +5,7 @@ import eu.cyzetlc.commentarii.service.entities.Embed; import lombok.Getter; import net.dv8tion.jda.api.entities.Message; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import java.util.LinkedHashMap; import java.util.LinkedList; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/command/Command.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/command/Command.java index 200bcf2..cfd1ebe 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/command/Command.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/command/Command.java @@ -9,7 +9,7 @@ import lombok.Getter; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.MessageEmbed; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.Commands; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/log/LogHandler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/log/LogHandler.java index eb5c6da..19ceb9d 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/log/LogHandler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/log/LogHandler.java @@ -4,7 +4,7 @@ import eu.cyzetlc.commentarii.service.entities.Embed; import lombok.Getter; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/modal/Modal.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/modal/Modal.java index eb3215f..983203e 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/modal/Modal.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/modal/Modal.java @@ -5,18 +5,21 @@ import net.dv8tion.jda.api.interactions.components.ActionRow; import net.dv8tion.jda.api.interactions.components.buttons.Button; +import java.util.Arrays; + public abstract class Modal implements IModal { @Getter - private net.dv8tion.jda.api.interactions.components.Modal modal; + private net.dv8tion.jda.api.interactions.modals.Modal modal; @Override + @Deprecated public void create(Class clazz, ActionRow... rows) { - if (clazz.isAnnotationPresent(ModalSpecification.class)) { + /*if (clazz.isAnnotationPresent(ModalSpecification.class)) { ModalSpecification spec = clazz.getAnnotation(ModalSpecification.class); - this.modal = net.dv8tion.jda.api.interactions.components.Modal.create( + this.modal = net.dv8tion.jda.api.interactions.modals.Modal.create( spec.id(), spec.title() - ).addActionRows(rows).build(); - } + ).addActionRow(Arrays.asList(rows)).build(); + }*/ } @Override diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/verify/VerifyHandler.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/verify/VerifyHandler.java index ef7540f..41dbc23 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/verify/VerifyHandler.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/service/verify/VerifyHandler.java @@ -6,7 +6,7 @@ import lombok.Getter; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import javax.sql.rowset.CachedRowSet; import java.awt.*; From 04aca2fb2081664304abb7b3a527678f5dff7428 Mon Sep 17 00:00:00 2001 From: Tom <57322153+CyZeTLC@users.noreply.github.com> Date: Fri, 30 Aug 2024 23:52:33 +0200 Subject: [PATCH 3/3] Removed start message for the moment --- .../java/eu/cyzetlc/commentarii/listener/LogListener.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java index 090776f..d1f838a 100644 --- a/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java +++ b/Commentarii-Core/src/main/java/eu/cyzetlc/commentarii/listener/LogListener.java @@ -34,12 +34,12 @@ public void onReady(@NotNull ReadyEvent event) { Commentarii.getInstance().getCommandHandler().updateCommands(Commentarii.getInstance().getJda().getGuilds().get(0)); for (Guild guild : Commentarii.getInstance().getJda().getGuilds()) { - Commentarii.getInstance().getLogHandler().log( + /*Commentarii.getInstance().getLogHandler().log( Commentarii.getInstance().getMessageHandler().getMessageForGuild(guild.getIdLong(), "commentarii.log.started.title"), Commentarii.getInstance().getMessageHandler().getMessageForGuild(guild.getIdLong(), "commentarii.log.started.content", String.valueOf(Commentarii.getStated()/1000)), LogHandler.LogLevel.INFO, guild.getIdLong() - ); + );*/ } }