From 1af15650598efe4f6bf6325522de04b37b9bf781 Mon Sep 17 00:00:00 2001 From: int4_t <67065165+RewardedIvan@users.noreply.github.com> Date: Mon, 25 Nov 2024 03:45:40 +0200 Subject: [PATCH] Discord: Add start time placeholder for start message (#5686) Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com> --- .../java/net/essentialsx/discord/DiscordSettings.java | 9 ++++++++- EssentialsDiscord/src/main/resources/config.yml | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index 3327a34b2..72c1ca5b4 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -9,10 +9,12 @@ import net.dv8tion.jda.api.OnlineStatus; import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.Role; import net.essentialsx.api.v2.ChatType; +import net.essentialsx.discord.util.MessageUtil; import org.apache.logging.log4j.Level; import org.bukkit.entity.Player; import java.io.File; +import java.lang.management.ManagementFactory; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; @@ -427,7 +429,12 @@ public class DiscordSettings implements IConf { } public String getStartMessage() { - return config.getString("messages.server-start", ":white_check_mark: The server has started!"); + final MessageFormat format = generateMessageFormat(getFormatString("server-start"), ":white_check_mark: The server has started in {starttimeseconds} seconds!", false, + "starttimeseconds"); + return MessageUtil.formatMessage(format, + // measures time since the JVM started and converts it to seconds + String.format("%.2f", (float)Math.abs(ManagementFactory.getRuntimeMXBean().getStartTime() - System.currentTimeMillis()) / 1000) + ); } public String getStopMessage() { diff --git a/EssentialsDiscord/src/main/resources/config.yml b/EssentialsDiscord/src/main/resources/config.yml index 331be18df..05382ddde 100644 --- a/EssentialsDiscord/src/main/resources/config.yml +++ b/EssentialsDiscord/src/main/resources/config.yml @@ -423,7 +423,8 @@ messages: # ... PlaceholderAPI placeholders are also supported here too! action: ":person_biking: {displayname} *{action}*" # This is the message sent to Discord when the server starts. - server-start: ":white_check_mark: The server has started!" + # - {starttimeseconds}: The amount of seconds it took to start the server (measured from JVM start time). + server-start: ":white_check_mark: The server has started in {starttimeseconds} seconds!" # This is the message sent to Discord when the server stops. server-stop: ":octagonal_sign: The server has stopped!" # This is the message sent to Discord when a player is kicked from the server.