Reformatted the ResponderContext
This commit is contained in:
parent
8f719cec41
commit
ec96f7f860
@ -35,14 +35,32 @@ public class ResponderContext extends SimpleHttpHandler {
|
|||||||
JsonNode query = rootNode.get("query");
|
JsonNode query = rootNode.get("query");
|
||||||
|
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
triggerEvent(rootNode.get("appPackageName").asText(), rootNode.get("messengerPackageName").asText(),
|
run(rootNode.get("appPackageName").asText(), rootNode.get("messengerPackageName").asText(),
|
||||||
query.get("sender").asText(), query.get("message").asText(), query.get("isGroup").asBoolean(),
|
query.get("sender").asText(), query.get("message").asText(), query.get("isGroup").asBoolean(),
|
||||||
query.get("groupParticipant").asText(), query.get("ruleId").asInt(), controller);
|
query.get("groupParticipant").asText(), query.get("ruleId").asInt(), controller);
|
||||||
|
|
||||||
if (!controller.isResponseSent()) sendNotFoundReply(query, controller);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs the context with all variables
|
||||||
|
*
|
||||||
|
* @param appPackageName The package name of the responder app
|
||||||
|
* @param messengerPackageName The package name of your whatsapp instance
|
||||||
|
* @param sender The sender of the message
|
||||||
|
* @param message The message itself
|
||||||
|
* @param isGroup <code>true</code> if the provided message has been sent in a group, otherwise <code>false</code>
|
||||||
|
* @param groupParticipant (Optional) The group participant
|
||||||
|
* @param ruleId The id of the rule that has been executed
|
||||||
|
* @param controller The response controller of the executed request
|
||||||
|
*/
|
||||||
|
public void run(String appPackageName, String messengerPackageName, String sender, String message, boolean isGroup,
|
||||||
|
String groupParticipant, int ruleId, HttpResponseController controller) {
|
||||||
|
|
||||||
|
triggerEvent(appPackageName, messengerPackageName, sender, message, isGroup, groupParticipant, ruleId, controller);
|
||||||
|
|
||||||
|
if (!controller.isResponseSent()) sendNotFoundReply(isGroup ? groupParticipant : sender, message, controller);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Triggers the correct event
|
* Triggers the correct event
|
||||||
*
|
*
|
||||||
@ -68,16 +86,16 @@ public class ResponderContext extends SimpleHttpHandler {
|
|||||||
/**
|
/**
|
||||||
* Sends the "not found"-reply
|
* Sends the "not found"-reply
|
||||||
*
|
*
|
||||||
* @param query The query that the responder sent
|
* @param sender The sender of the message
|
||||||
|
* @param message The message itself
|
||||||
* @param controller The response controller from the request
|
* @param controller The response controller from the request
|
||||||
*/
|
*/
|
||||||
public void sendNotFoundReply(JsonNode query, HttpResponseController controller) {
|
public void sendNotFoundReply(String sender, String message, HttpResponseController controller) {
|
||||||
ObjectNode object = objectMapper.createObjectNode();
|
ObjectNode object = objectMapper.createObjectNode();
|
||||||
ArrayNode replies = object.withArray("replies");
|
ArrayNode replies = object.withArray("replies");
|
||||||
|
|
||||||
responder.getNotFoundHandler().handleRequest(query.get("isGroup").asBoolean() ? query.get("groupParticipant").asText()
|
responder.getNotFoundHandler().handleRequest(sender, message).forEach(currentMessage ->
|
||||||
: query.get("sender").asText(), query.get("message").asText()).forEach(message ->
|
replies.add(mapper.createObjectNode().put("message", currentMessage)));
|
||||||
replies.add(mapper.createObjectNode().put("message", message)));
|
|
||||||
|
|
||||||
controller.text(object.toString());
|
controller.text(object.toString());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user