From e78c5bc5aeedc3923dc9f194769626d8a0770c3e Mon Sep 17 00:00:00 2001 From: duncte123 Date: Wed, 7 Feb 2024 14:09:38 +0100 Subject: [PATCH] Update lavalink protocol --- settings.gradle.kts | 2 +- .../me/duncte123/testbot/JDAListener.java | 25 +++++++++++-------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 8e395fa..3805624 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -20,7 +20,7 @@ fun VersionCatalogBuilder.versionRefs() { version("dokka", "1.9.10") version("grgit", "5.2.0") version("maven-publish", "0.25.3") - version("lavalink", "4.0.1") + version("lavalink", "4.0.3") version("logger", "2.0.7") } diff --git a/testbot/src/main/java/me/duncte123/testbot/JDAListener.java b/testbot/src/main/java/me/duncte123/testbot/JDAListener.java index adc0554..50193f1 100644 --- a/testbot/src/main/java/me/duncte123/testbot/JDAListener.java +++ b/testbot/src/main/java/me/duncte123/testbot/JDAListener.java @@ -59,12 +59,18 @@ public void onReady(@NotNull ReadyEvent event) { @Override public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent event) { + Guild guild = event.getGuild(); + + if (guild == null) { + return; + } + switch (event.getFullCommandName()) { case "join": joinHelper(event); break; case "stop": - this.client.getLink(event.getGuild().getIdLong()) + this.client.getLink(guild.getIdLong()) .updatePlayer( (update) -> update.setTrack(null).setPaused(false) ) @@ -73,11 +79,11 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even }); break; case "leave": - event.getJDA().getDirectAudioController().disconnect(event.getGuild()); + event.getJDA().getDirectAudioController().disconnect(guild); event.reply("Leaving your channel!").queue(); break; case "now-playing": { - final var link = this.client.getLink(event.getGuild().getIdLong()); + final var link = this.client.getLink(guild.getIdLong()); final var player = link.getCachedPlayer(); if (player == null) { @@ -95,16 +101,17 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even final var trackInfo = track.getInfo(); event.reply( - "Currently playing: %s\nDuration: %s/%s".formatted( + "Currently playing: %s\nDuration: %s/%s\nRequester: <@%s>".formatted( trackInfo.getTitle(), player.getPosition(), - trackInfo.getLength() + trackInfo.getLength(), + track.getUserData(MyUserData.class).requester() ) ).queue(); break; } case "pause": - this.client.getLink(event.getGuild().getIdLong()) + this.client.getLink(guild.getIdLong()) .getPlayer() .flatMap((player) -> player.setPaused(!player.getPaused())) .subscribe((player) -> { @@ -112,7 +119,6 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even }); break; case "karaoke on": { - final Guild guild = event.getGuild(); final long guildId = guild.getIdLong(); final Link link = this.client.getLink(guildId); @@ -129,7 +135,6 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even break; } case "karaoke off": { - final Guild guild = event.getGuild(); final long guildId = guild.getIdLong(); final Link link = this.client.getLink(guildId); @@ -144,8 +149,6 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even break; } case "play": { - final Guild guild = event.getGuild(); - // We are already connected, go ahead and play if (guild.getSelfMember().getVoiceState().inAudioChannel()) { event.deferReply(false).queue(); @@ -163,7 +166,7 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even break; } case "custom-request": { - final Link link = this.client.getLink(event.getGuild().getIdLong()); + final Link link = this.client.getLink(guild.getIdLong()); link.getNode().customRequest( (builder) -> builder.get().path("/version").header("Accept", "text/plain")