From 974b55fba7c04e69d58690016bdcf4bb4bc3437f Mon Sep 17 00:00:00 2001 From: mathias Date: Sun, 3 Oct 2021 19:04:09 +0200 Subject: [PATCH] Created ResponderContext#sendUsageErrorReply to send an error reply if an error happens --- .../http/contexts/ResponderContext.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java b/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java index d7e9258..9e3eb69 100644 --- a/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java +++ b/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import de.gnmyt.autoresponder.SimpleAutoResponder; +import de.gnmyt.autoresponder.commands.usage.UsageException; import de.gnmyt.autoresponder.event.chat.ChatMessageReceivedEvent; import de.gnmyt.autoresponder.event.group.GroupMessageReceivedEvent; import de.gnmyt.autoresponder.http.controller.HttpResponseController; @@ -81,6 +82,22 @@ public class ResponderContext extends SimpleHttpHandler { } } + /** + * Sends the usage error reply + * + * @param exception Your usage exception created from the command + * @param controller The instance of the {@link HttpResponseController} to reply to the message + */ + public void sendUsageErrorReply(UsageException exception, HttpResponseController controller) { + ObjectNode object = objectMapper.createObjectNode(); + ArrayNode replies = object.withArray("replies"); + + responder.getUsageHandler().handleUsageException(exception).forEach(currentMessage -> + replies.add(mapper.createObjectNode().put("message", currentMessage))); + + controller.text(object.toString()); + } + /** * Sends the "not found"-reply *