From 2865f05fff095b2250b7d43d41bd2863afe081d8 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Wed, 19 Aug 2026 14:09:39 +0200 Subject: [PATCH] fix: MemberCachePolicy.ALL only when GUILD_MEMBERS intent enabled Auxiliary music/radio bots don't enable GUILD_MEMBERS, so JDA checkIntents threw 'Cannot use MemberCachePolicy.ALL without GatewayIntent.GUILD_MEMBERS' and the whole cluster crashed at startup. Apply member cache + chunking only for the main bot; aux bots keep MemberCachePolicy.NONE / ChunkingFilter.NONE (also saves memory). --- src/main/java/creator/loki/core/JdaFactory.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/creator/loki/core/JdaFactory.java b/src/main/java/creator/loki/core/JdaFactory.java index 4e268a0..1624b1b 100644 --- a/src/main/java/creator/loki/core/JdaFactory.java +++ b/src/main/java/creator/loki/core/JdaFactory.java @@ -16,13 +16,14 @@ public final class JdaFactory { public static JDABuilder createBuilder( final String token, final String activity, final GatewayIntent... intents) { + boolean members = List.of(intents).contains(GatewayIntent.GUILD_MEMBERS); return JDABuilder.createDefault(token) .setStatus(OnlineStatus.ONLINE) .setActivity(Activity.playing(activity)) .enableIntents(List.of(intents)) .enableCache(CacheFlag.VOICE_STATE) - .setMemberCachePolicy(MemberCachePolicy.ALL) - .setChunkingFilter(ChunkingFilter.ALL); + .setMemberCachePolicy(members ? MemberCachePolicy.ALL : MemberCachePolicy.NONE) + .setChunkingFilter(members ? ChunkingFilter.ALL : ChunkingFilter.NONE); } public static JDA awaitJda(final JDA jda) {