From c055ac84c6bbd92a3717e5b5a855a797f4383b5f Mon Sep 17 00:00:00 2001 From: anthorob Date: Wed, 21 May 2025 16:30:43 +0000 Subject: [PATCH] Fix music player --- .gitlab-ci.yml | 18 +++++++++++++++++- Dockerfile | 4 ++-- pom.xml | 2 +- .../netneutrality/core/tasks/TaskManager.java | 2 +- .../netneutrality/hooks/EventsHandler.java | 2 +- .../bobert/netneutrality/utils/MusicUtils.java | 17 ++++++++++++++++- 6 files changed, 38 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b347068..b7d293a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,6 +27,7 @@ stages: - compile - test - package + - docker-build compile: stage: compile @@ -66,4 +67,19 @@ package: - if: '$CI_COMMIT_TAG' - if: '$CI_COMMIT_BRANCH == "main"' when: manual - - when: never \ No newline at end of file + - when: never + +docker-build: + stage: docker-build + image: quay.io/buildah/stable + script: + - buildah bud -f Dockerfile -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG . + - echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" + - buildah push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + - | + if [ "$CI_COMMIT_BRANCH" = "main" ]; then + buildah tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG $CI_REGISTRY_IMAGE:latest + buildah push $CI_REGISTRY_IMAGE:latest + fi + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main"' \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ac54396..474994c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:21.0.6_7-jdk-alpine AS build +FROM docker.io/library/eclipse-temurin:21.0.6_7-jdk-alpine AS build COPY .mvn/ .mvn COPY mvnw pom.xml ./ @@ -9,7 +9,7 @@ RUN ["chmod", "+x", "./mvnw"] RUN ./mvnw install -FROM eclipse-temurin:21.0.6_7-jre-alpine +FROM docker.io/library/eclipse-temurin:21.0.6_7-jre-alpine RUN apk add netcat-openbsd RUN apk add curl diff --git a/pom.xml b/pom.xml index c1cedab..1e24129 100644 --- a/pom.xml +++ b/pom.xml @@ -146,7 +146,7 @@ dev.lavalink.youtube v2 - 1.13.0 + 1.13.2 diff --git a/src/main/java/me/bobert/netneutrality/core/tasks/TaskManager.java b/src/main/java/me/bobert/netneutrality/core/tasks/TaskManager.java index 52d7a0f..99e2b54 100644 --- a/src/main/java/me/bobert/netneutrality/core/tasks/TaskManager.java +++ b/src/main/java/me/bobert/netneutrality/core/tasks/TaskManager.java @@ -271,7 +271,7 @@ public class TaskManager { } private void deleteInteraction(String taskId, Deletable deletable) { - logger.debug("Deleting interaction: {}", deletable); + logger.debug("Deleting interaction: {}", taskId); CommandContext context = deletableTasksContext.get(taskId); if (context != null) { diff --git a/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java b/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java index e749e54..6680c4a 100644 --- a/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java +++ b/src/main/java/me/bobert/netneutrality/hooks/EventsHandler.java @@ -49,7 +49,7 @@ import java.util.function.Function; public class EventsHandler implements EventListener { private static final Map, Function> listeners = new ConcurrentHashMap<>(); private static final Logger logger = LoggerFactory.getLogger(EventsHandler.class); - private final ExecutorService executorService = ThreadManager.getExecutor("events-handler"); + private static final ExecutorService executorService = ThreadManager.getExecutor("events-handler"); static { addListener(MessageReceivedEvent.class, event -> { diff --git a/src/main/java/me/bobert/netneutrality/utils/MusicUtils.java b/src/main/java/me/bobert/netneutrality/utils/MusicUtils.java index 7dac00a..dfbea90 100644 --- a/src/main/java/me/bobert/netneutrality/utils/MusicUtils.java +++ b/src/main/java/me/bobert/netneutrality/utils/MusicUtils.java @@ -14,9 +14,15 @@ import net.dv8tion.jda.api.entities.GuildVoiceState; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.Objects; public class MusicUtils { + private static final Logger logger = LogManager.getLogger(MusicUtils.class); + public static boolean connect(Context context) { return connect(context, false); } @@ -75,16 +81,25 @@ public class MusicUtils { } public static AudioChannel getVoiceChannel(Context context) { - GuildVoiceState memberVoiceState = context.getGuildUser().getVoiceState(); + Member member = context.getGuildUser(); + logger.debug("User: {}", member); + + GuildVoiceState memberVoiceState = member.getVoiceState(); if (memberVoiceState == null) { throw new ContextException("Voice state is null", context, null); } + logger.debug("channel: {}", memberVoiceState.getChannel()); if (!memberVoiceState.inAudioChannel()) { + logger.debug("inAudioChannel() is false"); return null; } + if (memberVoiceState.getChannel() != null) { + logger.debug(memberVoiceState.getChannel().getId()); + } + return memberVoiceState.getChannel(); }