Skip to content

Commit 8a930b4

Browse files
committed
Track emoji usage in messages and reactions
1 parent 64906af commit 8a930b4

File tree

1 file changed

+10
-23
lines changed

1 file changed

+10
-23
lines changed

application/src/main/java/org/togetherjava/tjbot/features/analytics/EmojiTrackerListener.java

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,16 @@
88

99
import org.togetherjava.tjbot.features.MessageReceiverAdapter;
1010

11-
import java.util.regex.Pattern;
12-
1311
/**
14-
* Listener that tracks emoji usage across all channels for analytics purposes.
12+
* Listener that tracks custom emoji usage across all channels for analytics purposes.
1513
* <p>
16-
* Counts emojis used in messages and reactions so admins can see which emojis are unused and should
17-
* be removed.
14+
* Counts custom emojis used in messages and reactions so admins can see which emojis are unused and
15+
* should be removed.
1816
* <p>
19-
* Custom emojis are tracked by their Discord ID (e.g. {@code emoji-custom-123456789}) rather than
20-
* by name, since emoji names are not unique and may change over time. Animated custom emojis are
21-
* tracked separately (e.g. {@code emoji-custom-animated-123456789}). Unicode emojis are tracked by
22-
* name (e.g. {@code emoji-unicode-thumbsup}).
17+
* Custom emojis are tracked by their Discord ID (e.g. {@code emoji-custom-123456789}). Animated
18+
* custom emojis are tracked separately (e.g. {@code emoji-custom-animated-123456789}).
2319
*/
2420
public final class EmojiTrackerListener extends MessageReceiverAdapter {
25-
private static final Pattern ALL_CHANNELS = Pattern.compile(".*");
26-
2721
private final Metrics metrics;
2822

2923
/**
@@ -32,14 +26,14 @@ public final class EmojiTrackerListener extends MessageReceiverAdapter {
3226
* @param metrics to track emoji usage events
3327
*/
3428
public EmojiTrackerListener(Metrics metrics) {
35-
super(ALL_CHANNELS);
29+
super();
3630

3731
this.metrics = metrics;
3832
}
3933

4034
@Override
4135
public void onMessageReceived(MessageReceivedEvent event) {
42-
if (event.getAuthor().isBot() || event.isWebhookMessage()) {
36+
if (event.isWebhookMessage()) {
4337
return;
4438
}
4539

@@ -48,19 +42,12 @@ public void onMessageReceived(MessageReceivedEvent event) {
4842

4943
@Override
5044
public void onMessageReactionAdd(MessageReactionAddEvent event) {
51-
if (event.getUser() != null && event.getUser().isBot()) {
45+
EmojiUnion emoji = event.getEmoji();
46+
if (emoji.getType() != Emoji.Type.CUSTOM) {
5247
return;
5348
}
5449

55-
trackEmojiUnion(event.getEmoji());
56-
}
57-
58-
private void trackEmojiUnion(EmojiUnion emoji) {
59-
if (emoji.getType() == Emoji.Type.CUSTOM) {
60-
trackCustomEmoji(emoji.asCustom());
61-
} else {
62-
metrics.count("emoji-unicode-" + emoji.asUnicode().getName());
63-
}
50+
trackCustomEmoji(emoji.asCustom());
6451
}
6552

6653
private void trackCustomEmoji(CustomEmoji emoji) {

0 commit comments

Comments
 (0)