Skip to content

Commit 0f5ac63

Browse files
Approach for fetching users
1 parent 756c829 commit 0f5ac63

File tree

3 files changed

+48
-2
lines changed

3 files changed

+48
-2
lines changed

bot/src/main/java/de/chojo/gamejam/Bot.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import de.chojo.gamejam.data.GuildData;
1818
import de.chojo.gamejam.data.JamData;
1919
import de.chojo.gamejam.data.TeamData;
20+
import de.chojo.gamejam.listener.ReadyStateChangeListener;
2021
import de.chojo.gamejam.util.LogNotify;
2122
import de.chojo.jdautil.command.SimpleCommand;
2223
import de.chojo.jdautil.command.dispatching.CommandHub;
@@ -30,6 +31,7 @@
3031
import de.chojo.sqlutil.updater.SqlType;
3132
import de.chojo.sqlutil.updater.SqlUpdater;
3233
import de.chojo.sqlutil.wrapper.QueryBuilderConfig;
34+
import net.dv8tion.jda.api.hooks.AnnotatedEventManager;
3335
import net.dv8tion.jda.api.requests.GatewayIntent;
3436
import net.dv8tion.jda.api.requests.RestAction;
3537
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
@@ -106,6 +108,8 @@ public void start() throws IOException, SQLException, LoginException {
106108

107109
initBot();
108110

111+
shardManager.addEventListener(new ReadyStateChangeListener(shardManager));
112+
109113
buildLocale();
110114

111115
buildCommands();
@@ -142,7 +146,8 @@ private void initBot() throws LoginException {
142146
GatewayIntent.GUILD_MEMBERS,
143147
GatewayIntent.DIRECT_MESSAGES,
144148
GatewayIntent.GUILD_MESSAGES)
145-
.setMemberCachePolicy(MemberCachePolicy.DEFAULT)
149+
.setMemberCachePolicy(MemberCachePolicy.ALL)
150+
.setEventManagerProvider(id -> new AnnotatedEventManager())
146151
.build();
147152
RestAction.setDefaultFailure(throwable -> log.error("Unhandled exception occured: ", throwable));
148153
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* SPDX-License-Identifier: AGPL-3.0-only
3+
*
4+
* Copyright (C) 2022 DevCord Team and Contributor
5+
*/
6+
7+
package de.chojo.gamejam.listener;
8+
9+
import net.dv8tion.jda.api.entities.Activity;
10+
import net.dv8tion.jda.api.entities.Guild;
11+
import net.dv8tion.jda.api.events.ReadyEvent;
12+
import net.dv8tion.jda.api.events.ShutdownEvent;
13+
import net.dv8tion.jda.api.hooks.SubscribeEvent;
14+
import net.dv8tion.jda.api.sharding.ShardManager;
15+
import org.slf4j.Logger;
16+
import org.slf4j.LoggerFactory;
17+
18+
public class ReadyStateChangeListener {
19+
20+
private final ShardManager shardManager;
21+
private static final Logger log = LoggerFactory.getLogger(ReadyStateChangeListener.class);
22+
23+
public ReadyStateChangeListener(ShardManager shardManager) {
24+
this.shardManager = shardManager;
25+
}
26+
27+
@SubscribeEvent
28+
public void finishedLoading(ReadyEvent readyEvent){
29+
log.warn("Available Guilds: {}",readyEvent.getGuildAvailableCount());
30+
shardManager.setActivity(Activity.playing("Plugin-Jam-Bot"));
31+
for (Guild guild : shardManager.getGuilds()) {
32+
guild.loadMembers(member -> {
33+
log.warn("Loaded member \"{}\" of guild \"{}\"", member.getEffectiveName(), guild.getName());
34+
});
35+
}
36+
}
37+
38+
@SubscribeEvent
39+
public void shutdown(ShutdownEvent shutdownEvent){
40+
shardManager.setActivity(null);
41+
}
42+
}

docker/kubernetes/kustomization.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ kind: Kustomization
22
apiVersion: kustomize.config.k8s.io/v1beta1
33

44
resources:
5-
- namespace.yaml
65
- ingress.yaml
76
- database.yaml
87
- game-jam-bot.yaml

0 commit comments

Comments
 (0)