diff --git a/src/main/java/com/jagrosh/vortex/Action.java b/src/main/java/com/jagrosh/vortex/Action.java index ea324b9..73b371e 100644 --- a/src/main/java/com/jagrosh/vortex/Action.java +++ b/src/main/java/com/jagrosh/vortex/Action.java @@ -21,6 +21,7 @@ */ public enum Action { + SILENTBAN("banned", "\uD83D\uDD28", 16), // 🔨 NORAIDMODE("", "\uD83D\uDD13", 15), // 🔓 PARDON( "pardoned", "\uD83C\uDFF3", 14), // 🏳 RAIDMODE( "", "\uD83D\uDD12", 13), // 🔒 diff --git a/src/main/java/com/jagrosh/vortex/automod/StrikeHandler.java b/src/main/java/com/jagrosh/vortex/automod/StrikeHandler.java index 25602a4..713a338 100644 --- a/src/main/java/com/jagrosh/vortex/automod/StrikeHandler.java +++ b/src/main/java/com/jagrosh/vortex/automod/StrikeHandler.java @@ -93,6 +93,13 @@ vortex.getDatabase().tempbans.clearBan(moderator.getGuild(), target.getIdLong()); return; } + if(punishments.stream().anyMatch(p -> p.action==Action.SILENTBAN) && canBan) + { + OtherUtil.safeDM(target, dmmsg + punish(Action.SILENTBAN, moderator.getGuild()), isMember, + () -> moderator.getGuild().ban(target, 0, notimeaudit).queue()); + vortex.getDatabase().tempbans.clearBan(moderator.getGuild(), target.getIdLong()); + return; + } int muteDuration = 0; int banDuration = 0; for(Punishment p: punishments) diff --git a/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java b/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java index 0c8d675..3efb817 100644 --- a/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/settings/PunishmentCmd.java @@ -127,6 +127,12 @@ successMessage = "Users will now be `softbanned` upon reaching `"+numstrikes+"` strikes."; break; } + case "silentban": + { + vortex.getDatabase().actions.setAction(event.getGuild(), numstrikes, Action.SILENTBAN); + successMessage = "Users will now be `silentbanned` upon reaching `"+numstrikes+"` strikes."; + break; + } case "tempban": case "temp-ban": case "ban":