mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-18 04:50:38 +00:00
[AB-xxx] make ban reason mandatory
This commit is contained in:
@@ -40,8 +40,7 @@ public class Ban extends AbstractConditionableCommand {
|
|||||||
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
|
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
|
||||||
List<Object> parameters = commandContext.getParameters().getParameters();
|
List<Object> parameters = commandContext.getParameters().getParameters();
|
||||||
User user = (User) parameters.get(0);
|
User user = (User) parameters.get(0);
|
||||||
String defaultReason = templateService.renderSimpleTemplate(BAN_DEFAULT_REASON_TEMPLATE, commandContext.getGuild().getIdLong());
|
String reason = (String) parameters.get(1);
|
||||||
String reason = parameters.size() == 2 ? (String) parameters.get(1) : defaultReason;
|
|
||||||
|
|
||||||
return banService.banUser(user, reason, commandContext.getAuthor(), commandContext.getMessage())
|
return banService.banUser(user, reason, commandContext.getAuthor(), commandContext.getMessage())
|
||||||
.thenApply(aVoid -> CommandResult.fromSuccess());
|
.thenApply(aVoid -> CommandResult.fromSuccess());
|
||||||
@@ -51,7 +50,7 @@ public class Ban extends AbstractConditionableCommand {
|
|||||||
public CommandConfiguration getConfiguration() {
|
public CommandConfiguration getConfiguration() {
|
||||||
List<Parameter> parameters = new ArrayList<>();
|
List<Parameter> parameters = new ArrayList<>();
|
||||||
parameters.add(Parameter.builder().name("user").templated(true).type(User.class).build());
|
parameters.add(Parameter.builder().name("user").templated(true).type(User.class).build());
|
||||||
parameters.add(Parameter.builder().name("reason").templated(true).type(String.class).optional(true).remainder(true).build());
|
parameters.add(Parameter.builder().name("reason").templated(true).type(String.class).remainder(true).build());
|
||||||
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
HelpInfo helpInfo = HelpInfo.builder().templated(true).hasExample(true).build();
|
||||||
List<EffectConfig> effectConfig = Arrays.asList(EffectConfig.builder().position(0).effectKey(BAN_EFFECT_KEY).build());
|
List<EffectConfig> effectConfig = Arrays.asList(EffectConfig.builder().position(0).effectKey(BAN_EFFECT_KEY).build());
|
||||||
return CommandConfiguration.builder()
|
return CommandConfiguration.builder()
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ Feature key: `moderation`
|
|||||||
|
|
||||||
==== Commands
|
==== Commands
|
||||||
Ban a member::
|
Ban a member::
|
||||||
* Usage: `ban <member> [reason]`
|
* Usage: `ban <member> <reason>`
|
||||||
* Description:
|
* Description:
|
||||||
Bans the given `member` with the given optional `reason`. This sends a logging message to the `banLog` post target.
|
Bans the given `member` with the given optional `reason`. This sends a logging message to the `banLog` post target.
|
||||||
Banning this way does not delete old messages of the member on the server. If the `reason` is not provided, a default reason is used.
|
Banning this way does not delete old messages of the member on the server.
|
||||||
It is also possible to ban users via ID, if they are not part of the server anymore.
|
It is also possible to ban users via ID, if they are not part of the server anymore.
|
||||||
* Example: `ban @Member bad` in order to ban `Member` with the reason `bad` (the @Member is a user mention)
|
* Example: `ban @Member bad` in order to ban `Member` with the reason `bad` (the @Member is a user mention)
|
||||||
* Required bot permission: `BAN_MEMBERS`
|
* Required bot permission: `BAN_MEMBERS`
|
||||||
|
|||||||
Reference in New Issue
Block a user