mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-16 20:29:08 +00:00
[AB-221] fixing embeds and starboard posts not working correctly for deleted users
This commit is contained in:
@@ -137,7 +137,11 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
|||||||
private CompletableFuture<MessageEmbeddedModel> buildTemplateParameter(Message message, CachedMessage embeddedMessage) {
|
private CompletableFuture<MessageEmbeddedModel> buildTemplateParameter(Message message, CachedMessage embeddedMessage) {
|
||||||
return userService.retrieveUserForId(embeddedMessage.getAuthor().getAuthorId()).thenApply(authorUser ->
|
return userService.retrieveUserForId(embeddedMessage.getAuthor().getAuthorId()).thenApply(authorUser ->
|
||||||
self.loadMessageEmbedModel(message, embeddedMessage, authorUser)
|
self.loadMessageEmbedModel(message, embeddedMessage, authorUser)
|
||||||
);
|
).exceptionally(throwable -> {
|
||||||
|
log.warn("Failed to retrieve author for user {}.", embeddedMessage.getAuthor().getAuthorId(), throwable);
|
||||||
|
self.loadMessageEmbedModel(message, embeddedMessage, null);
|
||||||
|
return null;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|||||||
@@ -147,7 +147,15 @@ public class StarboardServiceBean implements StarboardService {
|
|||||||
|
|
||||||
|
|
||||||
private CompletableFuture<StarboardPostModel> buildStarboardPostModel(CachedMessage message, Integer starCount) {
|
private CompletableFuture<StarboardPostModel> buildStarboardPostModel(CachedMessage message, Integer starCount) {
|
||||||
return userService.retrieveUserForId(message.getAuthor().getAuthorId()).thenApply(user -> {
|
return userService.retrieveUserForId(message.getAuthor().getAuthorId())
|
||||||
|
.thenApply(user -> createStarboardModel(message, starCount, user))
|
||||||
|
.exceptionally(throwable -> {
|
||||||
|
log.warn("Failed to retrieve user for author {} of starboard post.", message.getAuthor().getAuthorId(), throwable);
|
||||||
|
return createStarboardModel(message, starCount, null);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private StarboardPostModel createStarboardModel(CachedMessage message, Integer starCount, net.dv8tion.jda.api.entities.User user) {
|
||||||
Optional<TextChannel> channel = channelService.getTextChannelFromServerOptional(message.getServerId(), message.getChannelId());
|
Optional<TextChannel> channel = channelService.getTextChannelFromServerOptional(message.getServerId(), message.getChannelId());
|
||||||
Optional<Guild> guild = guildService.getGuildByIdOptional(message.getServerId());
|
Optional<Guild> guild = guildService.getGuildByIdOptional(message.getServerId());
|
||||||
String starLevelEmote = getAppropriateEmote(message.getServerId(), starCount);
|
String starLevelEmote = getAppropriateEmote(message.getServerId(), starCount);
|
||||||
@@ -161,7 +169,6 @@ public class StarboardServiceBean implements StarboardService {
|
|||||||
.guild(guild.orElse(null))
|
.guild(guild.orElse(null))
|
||||||
.starLevelEmote(starLevelEmote)
|
.starLevelEmote(starLevelEmote)
|
||||||
.build();
|
.build();
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user