diff --git a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/service/MessageServiceBean.java b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/service/MessageServiceBean.java index 64aba5d62..130867ede 100644 --- a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/service/MessageServiceBean.java +++ b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/service/MessageServiceBean.java @@ -126,14 +126,20 @@ public class MessageServiceBean implements MessageService { .collect(Collectors.groupingBy(ServerChannelMessage::getServerId)); serverMessages.forEach((serverId, channelMessagesNonGrouped) -> { Guild guild = guildService.getGuildById(serverId); - Map> channelMessages = channelMessagesNonGrouped - .stream() - .collect(Collectors.groupingBy(ServerChannelMessage::getChannelId)); - channelMessages.forEach((channelId, serverChannelMessages) -> { - MessageChannel channel = guild.getTextChannelById(channelId); - serverChannelMessages.forEach(serverChannelMessage -> - messageFutures.add(channelService.retrieveMessageInChannel(channel, serverChannelMessage.getMessageId()))); - }); + // in case the gild is not available anymore, this would cause the job to fail + if(guild != null) { + Map> channelMessages = channelMessagesNonGrouped + .stream() + .collect(Collectors.groupingBy(ServerChannelMessage::getChannelId)); + channelMessages.forEach((channelId, serverChannelMessages) -> { + MessageChannel channel = guild.getTextChannelById(channelId); + // in case the channel was deleted, this would cause the job to fail + if(channel != null) { + serverChannelMessages.forEach(serverChannelMessage -> + messageFutures.add(channelService.retrieveMessageInChannel(channel, serverChannelMessage.getMessageId()))); + } + }); + } }); return messageFutures; }