diff --git a/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java b/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java index 6ace045c..be9868fd 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java +++ b/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java @@ -3,6 +3,8 @@ package org.dreamexposure.discal.client.announcement; import org.dreamexposure.discal.client.message.AnnouncementMessageFormatter; import org.dreamexposure.discal.client.message.Messages; import org.dreamexposure.discal.core.database.DatabaseManager; +import org.dreamexposure.discal.core.logger.LogFeed; +import org.dreamexposure.discal.core.logger.object.LogObject; import org.dreamexposure.discal.core.object.GuildSettings; import org.dreamexposure.discal.core.object.announcement.Announcement; import org.dreamexposure.discal.core.object.announcement.AnnouncementCreatorResponse; @@ -81,8 +83,13 @@ public class AnnouncementCreator { .flatMap(em -> Messages.sendMessage(Messages.getMessage("Creator.Announcement.Edit.Init", settings), em, e)) .doOnNext(a::setCreatorMessage) - .thenReturn(a); - }).defaultIfEmpty(getAnnouncement(settings.getGuildID())); + .thenReturn(a) + .onErrorResume(err -> { + LogFeed.log(LogObject.forException("Failed to init editor", err, this.getClass())); + + return Mono.empty(); + }); + }); } else { return Mono.justOrEmpty(getAnnouncement(settings.getGuildID())); } diff --git a/client/src/main/java/org/dreamexposure/discal/client/module/command/AnnouncementCommand.java b/client/src/main/java/org/dreamexposure/discal/client/module/command/AnnouncementCommand.java index 3895aee1..30b6fea3 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/module/command/AnnouncementCommand.java +++ b/client/src/main/java/org/dreamexposure/discal/client/module/command/AnnouncementCommand.java @@ -250,7 +250,10 @@ public class AnnouncementCommand implements Command { return AnnouncementUtils.announcementExists(args[1], settings.getGuildID()) .flatMap(exists -> { if (exists) { - return AnnouncementCreator.getCreator().edit(event, args[1], settings); + return AnnouncementCreator.getCreator().edit(event, args[1], settings) + .switchIfEmpty(Messages.sendMessage( + Messages.getMessage("Notification.Error.Unknown", settings), event) + .then(Mono.empty())); } else { return Messages.sendMessage( Messages.getMessage("Creator.Announcement.CannotFind.Announcement", settings), event);