From 03d0ed6c43491554a5a5a41e7bfd848c13dc37e2 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Mon, 13 Jul 2026 11:23:12 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20null-guard=20queueRepository=20in=20Guil?= =?UTF-8?q?dMusicManager=20=E2=80=94=20radio=20passes=20null,=20was=20NPE'?= =?UTF-8?q?ing=20in=20constructor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RadioManager creates GuildMusicManager with null queueRepository (radio has no queue persistence). Constructor called loadQueueAsync() which dereferenced null, throwing NPE after voice connect — bot joined voice but track never loaded. --- .../creator/loki/feature/music/manage/GuildMusicManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/creator/loki/feature/music/manage/GuildMusicManager.java b/src/main/java/creator/loki/feature/music/manage/GuildMusicManager.java index d1d918f..00bd1ea 100644 --- a/src/main/java/creator/loki/feature/music/manage/GuildMusicManager.java +++ b/src/main/java/creator/loki/feature/music/manage/GuildMusicManager.java @@ -100,6 +100,7 @@ public class GuildMusicManager { } private void loadQueueAsync() { + if (queueRepository == null) return; var saved = queueRepository.loadQueue(String.valueOf(guildId)); if (saved.isEmpty()) return; var client = lavalinkManager.getClient(); @@ -136,6 +137,7 @@ public class GuildMusicManager { } void saveQueue() { + if (queueRepository == null) return; var current = scheduler.getCurrentTrack(); var tracks = new ArrayList<>(scheduler.getQueue()); var queueTracks = new ArrayList();