[FEAT] Allow Disabling Status Updates

This commit is contained in:
2023-07-02 16:28:48 +02:00
parent 62ca3ec812
commit e51fdf8599
3 changed files with 23 additions and 20 deletions

View File

@@ -19,7 +19,7 @@ public class BotConfigSettings {
public String botToken = ""; public String botToken = "";
@Path("statusUpdateInterval") @Path("statusUpdateInterval")
@SpecComment("How often the Bot Status will update on Discord (in Seconds)") @SpecComment("How often the Bot Status will update on Discord (in Seconds). Set to 0 to disable")
public int statusUpdateInterval = 30; public int statusUpdateInterval = 30;
@Path("staffRole") @Path("staffRole")

View File

@@ -107,6 +107,7 @@ public class BotController {
clientBuilder.setOwnerId("354707828298088459"); clientBuilder.setOwnerId("354707828298088459");
clientBuilder.setHelpWord("help"); clientBuilder.setHelpWord("help");
clientBuilder.useHelpBuilder(false); clientBuilder.useHelpBuilder(false);
clientBuilder.setActivity(null);
//clientBuilder.forceGuildOnly(750990873311051786L); //clientBuilder.forceGuildOnly(750990873311051786L);
CommandClient commandClient = clientBuilder.build(); CommandClient commandClient = clientBuilder.build();

View File

@@ -28,28 +28,30 @@ public class BotReadyHooks {
* @param event The {@link ReadyEvent} * @param event The {@link ReadyEvent}
*/ */
public static void startActivityUpdates(ReadyEvent event) { public static void startActivityUpdates(ReadyEvent event) {
BotController.taskManager.scheduleAtFixedRate(() -> { if (SDLinkConfig.INSTANCE.botConfig.statusUpdateInterval > 0) {
try { BotController.taskManager.scheduleAtFixedRate(() -> {
if (event.getJDA().getStatus() == JDA.Status.CONNECTED) { try {
Activity act = Activity.of(SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusType, SDLinkConfig.INSTANCE.botConfig.botStatus.botStatus if (event.getJDA().getStatus() == JDA.Status.CONNECTED) {
.replace("%players%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getLeft())) Activity act = Activity.of(SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusType, SDLinkConfig.INSTANCE.botConfig.botStatus.botStatus
.replace("%maxplayers%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getRight()))); .replace("%players%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getLeft()))
.replace("%maxplayers%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getRight())));
if (SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusType == Activity.ActivityType.STREAMING) { if (SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusType == Activity.ActivityType.STREAMING) {
act = Activity.of(SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusType, SDLinkConfig.INSTANCE.botConfig.botStatus.botStatus act = Activity.of(SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusType, SDLinkConfig.INSTANCE.botConfig.botStatus.botStatus
.replace("%players%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getLeft())) .replace("%players%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getLeft()))
.replace("%maxplayers%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getRight())), .replace("%maxplayers%", String.valueOf(SDLinkPlatform.minecraftHelper.getPlayerCounts().getRight())),
SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusStreamingURL); SDLinkConfig.INSTANCE.botConfig.botStatus.botStatusStreamingURL);
}
event.getJDA().getPresence().setActivity(act);
}
} catch (Exception e) {
if (SDLinkConfig.INSTANCE.generalConfig.debugging) {
BotController.INSTANCE.getLogger().info(e.getMessage());
} }
event.getJDA().getPresence().setActivity(act);
} }
} catch (Exception e) { }, SDLinkConfig.INSTANCE.botConfig.statusUpdateInterval, SDLinkConfig.INSTANCE.botConfig.statusUpdateInterval, TimeUnit.SECONDS);
if (SDLinkConfig.INSTANCE.generalConfig.debugging) { }
BotController.INSTANCE.getLogger().info(e.getMessage());
}
}
}, SDLinkConfig.INSTANCE.botConfig.statusUpdateInterval, SDLinkConfig.INSTANCE.botConfig.statusUpdateInterval, TimeUnit.SECONDS);
} }
/** /**