mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-11-28 05:35:44 +01:00
Added #askConfirmation(User, String, Runnable) in ConfirmableCommand
This can allow the command to give a bit more context about the confirmation request. ConfirmableCommand#askConfirmation(User, Runnable) can still be used.
This commit is contained in:
parent
5ad363ca11
commit
e5cc56b919
@ -48,11 +48,12 @@ public abstract class ConfirmableCommand extends CompositeCommand {
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells user to confirm command by retyping
|
||||
* @param user - user
|
||||
* @param confirmed - runnable to be executed if confirmed
|
||||
* Tells user to confirm command by retyping it.
|
||||
* @param user User to ask confirmation to.
|
||||
* @param message Optional message to send to the user to give them a bit more context. It must already be translated.
|
||||
* @param confirmed Runnable to be executed if successfully confirmed.
|
||||
*/
|
||||
public void askConfirmation(User user, Runnable confirmed) {
|
||||
public void askConfirmation(User user, String message, Runnable confirmed) {
|
||||
// Check for pending confirmations
|
||||
if (toBeConfirmed.containsKey(user)) {
|
||||
if (toBeConfirmed.get(user).getTopLabel().equals(getTopLabel()) && toBeConfirmed.get(user).getLabel().equalsIgnoreCase(getLabel())) {
|
||||
@ -65,6 +66,10 @@ public abstract class ConfirmableCommand extends CompositeCommand {
|
||||
user.sendMessage("commands.confirmation.previous-request-cancelled");
|
||||
}
|
||||
}
|
||||
// Send user the context message if it is not empty
|
||||
if (!message.trim().isEmpty()) {
|
||||
user.sendRawMessage(message);
|
||||
}
|
||||
// Tell user that they need to confirm
|
||||
user.sendMessage("commands.confirmation.confirm", "[seconds]", String.valueOf(getSettings().getConfirmationTime()));
|
||||
// Set up a cancellation task
|
||||
@ -77,6 +82,15 @@ public abstract class ConfirmableCommand extends CompositeCommand {
|
||||
toBeConfirmed.put(user, new Confirmer(getTopLabel(), getLabel(), confirmed, task));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells user to confirm command by retyping it.
|
||||
* @param user User to ask confirmation to.
|
||||
* @param confirmed Runnable to be executed if successfully confirmed.
|
||||
*/
|
||||
public void askConfirmation(User user, Runnable confirmed) {
|
||||
askConfirmation(user, "", confirmed);
|
||||
}
|
||||
|
||||
private class Confirmer {
|
||||
private final String topLabel;
|
||||
private final String label;
|
||||
|
Loading…
Reference in New Issue
Block a user