2626 * forum's activity over a specific duration.
2727 * <p>
2828 * Example usage:
29- *
29+ *
3030 * <pre>
3131 * {@code
3232 * /help-thread-stats duration-option: 7 Days
@@ -48,6 +48,15 @@ public class HelpThreadStatsCommand extends SlashCommandAdapter {
4848 private static final String MINIMUM_THREAD_DURATION_IN_SECONDS_ALIAS = "min_sec" ;
4949 private static final String MAXIMUM_THREAD_DURATION_IN_SECONDS_ALIAS = "max_sec" ;
5050
51+ private static final String EMOJI_CHART = "\uD83D \uDCCA " ;
52+ private static final String EMOJI_MEMO = "\uD83D \uDCDD " ;
53+ private static final String EMOJI_SPEECH_BUBBLE = "\uD83D \uDCAC " ;
54+ private static final String EMOJI_LABEL = "\uD83C \uDFF7 \uFE0F " ;
55+ private static final String EMOJI_LIGHTNING = "\u26A1 " ;
56+
57+ private static final String EMBED_BLANK_LINE = "\u200B " ;
58+ private static final String WHITESPACE = " " ;
59+
5160 private final Database database ;
5261
5362 /**
@@ -121,20 +130,20 @@ public void onSlashCommand(SlashCommandInteractionEvent event) {
121130
122131 String peakHourRange = getPeakHour (context , startDate );
123132
124- EmbedBuilder embed =
125- new EmbedBuilder () .setTitle ("📊 Help Thread Stats (Last " + days + " Days)" )
126- .setColor (getStatusColor (totalCreated , ghostThreads ))
127- .setTimestamp (Instant .now ())
128- .setDescription (" \u200B " )
129- .setFooter ("Together Java Community Stats" ,
130- Objects .requireNonNull (event .getGuild ()).getIconUrl ());
133+ EmbedBuilder embed = new EmbedBuilder ()
134+ .setTitle (EMOJI_CHART + " Help Thread Stats (Last " + days + " Days)" )
135+ .setColor (getStatusColor (totalCreated , ghostThreads ))
136+ .setTimestamp (Instant .now ())
137+ .setDescription (EMBED_BLANK_LINE )
138+ .setFooter ("Together Java Community Stats" ,
139+ Objects .requireNonNull (event .getGuild ()).getIconUrl ());
131140
132- embed .addField ("📝 THREAD ACTIVITY" ,
141+ embed .addField (EMOJI_MEMO + WHITESPACE + " THREAD ACTIVITY" ,
133142 "Created: `%d`%nCurrently Open: `%d`%nResponse Rate: %.1f%%%nPeak Hours: `%s`"
134143 .formatted (totalCreated , openThreads , rawResRate , peakHourRange ),
135144 false );
136145
137- embed .addField ("💬 ENGAGEMENT" ,
146+ embed .addField (EMOJI_SPEECH_BUBBLE + WHITESPACE + " ENGAGEMENT" ,
138147 "Avg Messages: `%s`%nAvg Helpers: `%s`%nUnanswered (Ghost): `%d`" .formatted (
139148 formatDouble (Objects
140149 .requireNonNull (statsRecord .get (AVERAGE_MESSAGE_COUNT_ALIAS ))),
@@ -143,12 +152,12 @@ public void onSlashCommand(SlashCommandInteractionEvent event) {
143152 ghostThreads ),
144153 false );
145154
146- embed .addField ("🏷️ TAG ACTIVITY" ,
155+ embed .addField (EMOJI_LABEL + WHITESPACE + " TAG ACTIVITY" ,
147156 "Most Used: `%s`%nMost Active: `%s`%nNeeds Love: `%s`" .formatted (highVolumeTag ,
148157 highActivityTag , lowActivityTag ),
149158 false );
150159
151- embed .addField ("⚡ RESOLUTION SPEED" ,
160+ embed .addField (EMOJI_LIGHTNING + WHITESPACE + " RESOLUTION SPEED" ,
152161 "Average: `%s`%nFastest: `%s`%nSlowest: `%s`" .formatted (
153162 smartFormat (statsRecord .get (AVERAGE_THREAD_DURATION_IN_SECONDS_ALIAS ,
154163 Double .class )),
0 commit comments