diff --git a/src/main/java/com/jagrosh/vortex/commands/CommandExceptionListener.java b/src/main/java/com/jagrosh/vortex/commands/CommandExceptionListener.java index 9b7051a..661002d 100644 --- a/src/main/java/com/jagrosh/vortex/commands/CommandExceptionListener.java +++ b/src/main/java/com/jagrosh/vortex/commands/CommandExceptionListener.java @@ -18,6 +18,7 @@ import com.jagrosh.jdautilities.command.Command; import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandListener; +import com.jagrosh.vortex.utils.FormatUtil; import com.jagrosh.vortex.utils.Usage; import net.dv8tion.jda.core.entities.ChannelType; import org.slf4j.Logger; @@ -36,9 +37,9 @@ public void onCommandException(CommandEvent event, Command command, Throwable throwable) { if (throwable instanceof CommandErrorException) - event.replyError(throwable.getMessage()); + event.replyError(FormatUtil.filterEveryone(throwable.getMessage())); else if (throwable instanceof CommandWarningException) - event.replyWarning(throwable.getMessage()); + event.replyWarning(FormatUtil.filterEveryone(throwable.getMessage())); else log.error("An exception occurred in a command: "+command, throwable); } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/AnticopypastaCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/AnticopypastaCmd.java index aa65ceb..ca87617 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/AnticopypastaCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/AnticopypastaCmd.java @@ -21,6 +21,7 @@ import com.jagrosh.vortex.Vortex; import com.jagrosh.vortex.database.managers.AutomodManager; import com.jagrosh.vortex.database.managers.PunishmentManager; +import com.jagrosh.vortex.utils.FormatUtil; /** * @@ -61,7 +62,7 @@ numstrikes = 0; else { - event.replyError("`"+event.getArgs()+"` is not a valid integer!"); + event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!")); return; } } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/AntieveryoneCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/AntieveryoneCmd.java index 405fb99..0430556 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/AntieveryoneCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/AntieveryoneCmd.java @@ -21,6 +21,7 @@ import com.jagrosh.vortex.Vortex; import com.jagrosh.vortex.database.managers.AutomodManager; import com.jagrosh.vortex.database.managers.PunishmentManager; +import com.jagrosh.vortex.utils.FormatUtil; /** * @@ -61,7 +62,7 @@ numstrikes = 0; else { - event.replyError("`"+event.getArgs()+"` is not a valid integer!"); + event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!")); return; } } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/AntiinviteCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/AntiinviteCmd.java index 2face8c..be3065b 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/AntiinviteCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/AntiinviteCmd.java @@ -21,6 +21,7 @@ import com.jagrosh.vortex.Vortex; import com.jagrosh.vortex.database.managers.AutomodManager; import com.jagrosh.vortex.database.managers.PunishmentManager; +import com.jagrosh.vortex.utils.FormatUtil; /** * @@ -62,7 +63,7 @@ numstrikes = 0; else { - event.replyError("`"+event.getArgs()+"` is not a valid integer!"); + event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!")); return; } } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/AntirefCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/AntirefCmd.java index 755b834..0f02b89 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/AntirefCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/AntirefCmd.java @@ -21,6 +21,7 @@ import com.jagrosh.vortex.Vortex; import com.jagrosh.vortex.database.managers.AutomodManager; import com.jagrosh.vortex.database.managers.PunishmentManager; +import com.jagrosh.vortex.utils.FormatUtil; /** * @@ -61,7 +62,7 @@ numstrikes = 0; else { - event.replyError("`"+event.getArgs()+"` is not a valid integer!"); + event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!")); return; } } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/FilterCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/FilterCmd.java index adc603e..1e3ea3a 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/FilterCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/FilterCmd.java @@ -22,6 +22,7 @@ import com.jagrosh.vortex.Vortex; import com.jagrosh.vortex.automod.Filter; import com.jagrosh.vortex.database.managers.PremiumManager; +import com.jagrosh.vortex.utils.FormatUtil; import net.dv8tion.jda.core.EmbedBuilder; import net.dv8tion.jda.core.Permission; import net.dv8tion.jda.core.entities.MessageEmbed.Field; @@ -113,8 +114,8 @@ Filter filter = Filter.parseFilter(parts[0], strikes, parts[2]); if(vortex.getDatabase().filters.addFilter(event.getGuild(), filter)) { - event.replySuccess("Filter *" + filter.name + "* (`" + filter.strikes + " " + Action.STRIKE.getEmoji() - + "`) successfully created with filtered terms:\n" + filter.printContentEscaped()); + event.replySuccess(FormatUtil.filterEveryone("Filter *" + filter.name + "* (`" + filter.strikes + " " + Action.STRIKE.getEmoji() + + "`) successfully created with filtered terms:\n" + filter.printContentEscaped())); } else { @@ -153,11 +154,11 @@ Filter filter = vortex.getDatabase().filters.deleteFilter(event.getGuild(), event.getArgs()); if(filter == null) { - event.replyError("Filter `" + event.getArgs() + "` could not be found"); + event.replyError(FormatUtil.filterEveryone("Filter `" + event.getArgs() + "` could not be found")); } else { - event.replySuccess("Removed filter `" + filter.name + "`"); + event.replySuccess(FormatUtil.filterEveryone("Removed filter `" + filter.name + "`")); } } } @@ -181,7 +182,7 @@ Field field = vortex.getDatabase().filters.getFiltersDisplay(event.getGuild()); if(field == null) { - event.replyWarning("There are no filters for **" + event.getGuild().getName() + "**"); + event.replyWarning(FormatUtil.filterEveryone("There are no filters for **" + event.getGuild().getName() + "**")); return; } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/IgnoreCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/IgnoreCmd.java index 6d829ed..306bfb8 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/IgnoreCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/IgnoreCmd.java @@ -81,13 +81,13 @@ List roles = FinderUtil.findRoles(event.getArgs(), event.getGuild()); if(roles.isEmpty()) - event.replyError("No roles or text channels found for `"+event.getArgs()+"`"); + event.replyError(FormatUtil.filterEveryone("No roles or text channels found for `"+event.getArgs()+"`")); else if (roles.size()==1) { vortex.getDatabase().ignores.ignore(roles.get(0)); - event.replySuccess("Automod is now ignoring role `"+roles.get(0).getName()+"`"); + event.replySuccess(FormatUtil.filterEveryone("Automod is now ignoring role `"+roles.get(0).getName()+"`")); } else - event.replyWarning(FormatUtil.listOfRoles(roles, event.getArgs())); + event.replyWarning(FormatUtil.filterEveryone(FormatUtil.listOfRoles(roles, event.getArgs()))); } } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/MaxlinesCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/MaxlinesCmd.java index 913633f..a81fcf2 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/MaxlinesCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/MaxlinesCmd.java @@ -20,6 +20,7 @@ import net.dv8tion.jda.core.Permission; import com.jagrosh.vortex.Vortex; import com.jagrosh.vortex.database.managers.PunishmentManager; +import com.jagrosh.vortex.utils.FormatUtil; /** * @@ -60,7 +61,7 @@ maxlines = 0; else { - event.replyError("`"+event.getArgs()+"` is not a valid integer!"); + event.replyError(FormatUtil.filterEveryone("`"+event.getArgs()+"` is not a valid integer!")); return; } } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/ResolvelinksCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/ResolvelinksCmd.java index a7eb91b..aec81e2 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/ResolvelinksCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/ResolvelinksCmd.java @@ -17,7 +17,6 @@ import com.jagrosh.jdautilities.command.Command; import com.jagrosh.jdautilities.command.CommandEvent; -import com.jagrosh.vortex.Constants; import com.jagrosh.vortex.Vortex; import com.jagrosh.vortex.database.managers.PremiumManager; import net.dv8tion.jda.core.Permission; diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/UnignoreCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/UnignoreCmd.java index a41d603..0579796 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/UnignoreCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/UnignoreCmd.java @@ -71,18 +71,18 @@ List roles = FinderUtil.findRoles(event.getArgs(), event.getGuild()); if(roles.isEmpty()) - event.replyError("No roles or text channels found for `"+event.getArgs()+"`"); + event.replyError(FormatUtil.filterEveryone("No roles or text channels found for `"+event.getArgs()+"`")); else if (roles.size()==1) { if(vortex.getDatabase().ignores.unignore(roles.get(0))) event.replySuccess("Automod is no longer ignoring role `"+roles.get(0).getName()+"`"); else - event.replyError("Automod was not ignoring role `"+roles.get(0).getName()+"`" + event.replyError(FormatUtil.filterEveryone("Automod was not ignoring role `"+roles.get(0).getName()+"`" + "\n"+event.getClient().getWarning()+" If this role is still listed when using `"+event.getClient().getPrefix()+"ignore`:" + "\n`[can't interact]` - the role is above "+event.getSelfUser().getName()+"'s highest role; try moving the '"+event.getSelfUser().getName()+"' role higher" - + "\n`[elevated perms]` - the role has one of the following permissions: Kick Members, Ban Members, Manage Server, Manage Messages, Administrator"); + + "\n`[elevated perms]` - the role has one of the following permissions: Kick Members, Ban Members, Manage Server, Manage Messages, Administrator")); } else - event.replyWarning(FormatUtil.listOfRoles(roles, event.getArgs())); + event.replyWarning(FormatUtil.filterEveryone(FormatUtil.listOfRoles(roles, event.getArgs()))); } } diff --git a/src/main/java/com/jagrosh/vortex/commands/automod/WhitelistInvitesCmd.java b/src/main/java/com/jagrosh/vortex/commands/automod/WhitelistInvitesCmd.java index cc19d9e..0c8c5c5 100644 --- a/src/main/java/com/jagrosh/vortex/commands/automod/WhitelistInvitesCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/automod/WhitelistInvitesCmd.java @@ -18,6 +18,7 @@ import com.jagrosh.jdautilities.command.Command; import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.vortex.Vortex; +import com.jagrosh.vortex.utils.FormatUtil; import net.dv8tion.jda.core.Permission; import java.util.ArrayList; @@ -74,8 +75,8 @@ return; } List currentWL = vortex.getDatabase().inviteWhitelist.readWhitelist(event.getGuild()); - event.replySuccess("Whitelisted Guild IDs:\n" + (currentWL.isEmpty() ? "None" : - "`" + currentWL.stream().map(String::valueOf).collect(Collectors.joining("`, `")) + "`")); + event.replySuccess(FormatUtil.filterEveryone("Whitelisted Guild IDs:\n" + (currentWL.isEmpty() ? "None" : + "`" + currentWL.stream().map(String::valueOf).collect(Collectors.joining("`, `")) + "`"))); } private void handleAdd(CommandEvent event, String[] args) diff --git a/src/main/java/com/jagrosh/vortex/commands/general/RoleinfoCmd.java b/src/main/java/com/jagrosh/vortex/commands/general/RoleinfoCmd.java index 054be0c..349e2de 100644 --- a/src/main/java/com/jagrosh/vortex/commands/general/RoleinfoCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/general/RoleinfoCmd.java @@ -63,7 +63,7 @@ } else if(found.size()>1) { - event.replyWarning(FormatUtil.listOfRoles(found, event.getArgs())); + event.replyWarning(FormatUtil.filterEveryone(FormatUtil.listOfRoles(found, event.getArgs()))); return; } else diff --git a/src/main/java/com/jagrosh/vortex/commands/general/UserinfoCmd.java b/src/main/java/com/jagrosh/vortex/commands/general/UserinfoCmd.java index 4eba2c1..9033ed9 100644 --- a/src/main/java/com/jagrosh/vortex/commands/general/UserinfoCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/general/UserinfoCmd.java @@ -70,7 +70,7 @@ } else if(found.size()>1) { - event.replyWarning(FormatUtil.listOfMember(found, event.getArgs())); + event.replyWarning(FormatUtil.filterEveryone(FormatUtil.listOfMember(found, event.getArgs()))); return; } else diff --git a/src/main/java/com/jagrosh/vortex/commands/moderation/CheckCmd.java b/src/main/java/com/jagrosh/vortex/commands/moderation/CheckCmd.java index 5616fcc..dec0402 100644 --- a/src/main/java/com/jagrosh/vortex/commands/moderation/CheckCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/moderation/CheckCmd.java @@ -78,7 +78,7 @@ } catch(Exception ex) { - event.replyError("Could not find a user `"+event.getArgs()+"`"); + event.replyError(FormatUtil.filterEveryone("Could not find a user `"+event.getArgs()+"`")); } } @@ -104,6 +104,6 @@ + Action.TEMPMUTE.getEmoji() + " Mute Time Remaining: " + (minutesMuted <= 0 ? "N/A" : FormatUtil.secondsToTime(minutesMuted * 60)) + "\n" + Action.BAN.getEmoji() + " Banned: **" + (ban==null ? "No**" : "Yes** (`" + ban.getReason() + "`)") + "\n" + Action.TEMPBAN.getEmoji() + " Ban Time Remaining: " + (minutesBanned <= 0 ? "N/A" : FormatUtil.secondsToTime(minutesBanned * 60)); - event.replySuccess(str); + event.replySuccess(FormatUtil.filterEveryone(str)); } } diff --git a/src/main/java/com/jagrosh/vortex/commands/moderation/ReasonCmd.java b/src/main/java/com/jagrosh/vortex/commands/moderation/ReasonCmd.java index 8f96624..c0bc341 100644 --- a/src/main/java/com/jagrosh/vortex/commands/moderation/ReasonCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/moderation/ReasonCmd.java @@ -38,7 +38,6 @@ @Override protected void execute(CommandEvent event) { - int caseNum; String[] parts = event.getArgs().split("\\s+", 2); String str; diff --git a/src/main/java/com/jagrosh/vortex/commands/moderation/VoicemoveCmd.java b/src/main/java/com/jagrosh/vortex/commands/moderation/VoicemoveCmd.java index abb6305..64e03d5 100644 --- a/src/main/java/com/jagrosh/vortex/commands/moderation/VoicemoveCmd.java +++ b/src/main/java/com/jagrosh/vortex/commands/moderation/VoicemoveCmd.java @@ -66,7 +66,7 @@ } if(list.size()>1) { - event.replyWarning(FormatUtil.listOfVoice(list, event.getArgs())); + event.replyWarning(FormatUtil.filterEveryone(FormatUtil.listOfVoice(list, event.getArgs()))); return; } vc = list.get(0); @@ -91,7 +91,7 @@ } catch(Exception e) { - event.replyWarning("I could not connect to **"+vc.getName()+"**"); + event.replyWarning(FormatUtil.filterEveryone("I could not connect to **"+vc.getName()+"**")); return; } vortex.getEventWaiter().waitForEvent(GuildVoiceMoveEvent.class, diff --git a/src/main/java/com/jagrosh/vortex/utils/ArgsUtil.java b/src/main/java/com/jagrosh/vortex/utils/ArgsUtil.java index f8bffe1..787346d 100644 --- a/src/main/java/com/jagrosh/vortex/utils/ArgsUtil.java +++ b/src/main/java/com/jagrosh/vortex/utils/ArgsUtil.java @@ -87,7 +87,7 @@ args = args.substring(mat.group().length()).trim(); if(found) continue; - unresolved.add(mat.group()); + unresolved.add(FormatUtil.filterEveryone(mat.group())); found = true; continue; } diff --git a/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java b/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java index 410b403..0b9401f 100644 --- a/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java +++ b/src/main/java/com/jagrosh/vortex/utils/FormatUtil.java @@ -48,7 +48,8 @@ return input.replace("\u202E","") // RTL override .replace("@everyone","@\u0435veryone") // cyrillic e .replace("@here","@h\u0435re") // cyrillic e - .replace("discord.gg/", "dis\u0441ord.gg/"); // cyrillic c + .replace("discord.gg/", "dis\u0441ord.gg/") // cyrillic c + .replace("@", "\u0DB8"); // failsafe } public static String formatMessage(Message m)