2 Commits

Author SHA1 Message Date
41491890f5 Fixed a bug where custom emojis wouldn't be displayed properly
All checks were successful
Deploy API / deploy (ubuntu-latest, 2.44.0) (push) Successful in 1m9s
2024-12-19 02:15:08 -05:00
01923bb039 Fix a bug where requests would rely on the metrics server being online, and error if it wasn't which would prevent the request from being processed 2024-12-19 02:14:52 -05:00
3 changed files with 15 additions and 3 deletions

View File

@ -105,7 +105,6 @@
<scope>compile</scope>
</dependency>
<!-- Error Reporting & Metrics -->
<dependency>
<groupId>io.sentry</groupId>

View File

@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NonNull;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
import net.dv8tion.jda.api.entities.emoji.EmojiUnion;
import java.util.List;
@ -38,7 +39,13 @@ public class CustomStatus {
continue;
}
EmojiUnion emoji = activity.getEmoji();
return new CustomStatus(activity.getName(), emoji == null ? null : emoji.asUnicode().getFormatted());
String emojiString = null;
if (emoji instanceof CustomEmoji customEmoji) {
emojiString = customEmoji.getImageUrl();
} else if (emoji != null) {
emojiString = emoji.asUnicode().getFormatted();
}
return new CustomStatus(activity.getName(), emojiString);
}
return null;
}

View File

@ -2,6 +2,7 @@ package me.braydon.tether.service;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import io.questdb.cutlass.line.LineSenderException;
import jakarta.annotation.PostConstruct;
import kong.unirest.core.HttpResponse;
import kong.unirest.core.HttpStatus;
@ -130,7 +131,12 @@ public final class DiscordService extends ListenerAdapter {
long before = System.currentTimeMillis();
cachedUser = new CachedDiscordUser(getUser(snowflake, member != null), System.currentTimeMillis());
if (metricsEnabled) {
UserLookupTimingsMetric.track(System.currentTimeMillis() - before);
try {
UserLookupTimingsMetric.track(System.currentTimeMillis() - before);
} catch (LineSenderException | IllegalStateException ignored) {
// This can happen due to no metrics server being
// available, we can safely ignore it and continue
}
}
cachedUsers.put(snowflake, cachedUser);
}