This repository has been archived on 2025-03-19. You can view files and clone it, but cannot push or open issues or pull requests.

58 lines
1.8 KiB
Java

package de.gnmyt.autoresponder.entities;
import de.gnmyt.autoresponder.event.chat.ChatMessageReceivedEvent;
import de.gnmyt.autoresponder.http.contexts.ResponderContext;
import de.gnmyt.autoresponder.http.controller.HttpResponseController;
import java.util.function.Consumer;
public class ChatCommand extends Command {
private final String sender;
private final String message;
/**
* Constructor of the {@link ChatCommand}
*
* @param controller The response controller
* @param context The responder context
* @param appPackageName The package name of the responder app
* @param messengerPackageName The package name of the messenger
* @param ruleId The id of the rule
* @param sender The sender of the message
* @param message The message itself
*/
public ChatCommand(HttpResponseController controller, ResponderContext context, String appPackageName, String messengerPackageName, int ruleId, String sender, String message) {
super(controller, context, appPackageName, messengerPackageName, ruleId);
this.sender = sender;
this.message = message;
}
/**
* Waits until a new message has been sent
*
* @param then The action that should be executed after the message has been sent
*/
public void awaitAnswer(Consumer<ChatMessageReceivedEvent> then) {
getResponderContext().LOCKED_CHANNELS.add(new LockedChannel(null, false, getSender(), then));
}
/**
* Gets the sender
*
* @return the sender
*/
public String getSender() {
return sender;
}
/**
* Gets the message
*
* @return the message
*/
public String getMessage() {
return message;
}
}