diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ExecuteCommand.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ExecuteCommand.java index b7f6aa97dfd..0a856b53237 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ExecuteCommand.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ExecuteCommand.java @@ -6,6 +6,7 @@ import net.essentialsx.discord.JDADiscordService; import net.essentialsx.discord.interactions.InteractionCommandImpl; import net.essentialsx.discord.util.DiscordCommandSender; +import net.essentialsx.discord.util.MessageUtil; import org.bukkit.Bukkit; import org.bukkit.command.CommandException; @@ -18,12 +19,12 @@ public ExecuteCommand(JDADiscordService jda) { } @Override - public void onCommand(InteractionEvent event) { + public void onCommand(final InteractionEvent event) { final String command = event.getStringArgument("command"); event.reply(tl("discordCommandExecuteReply", command)); Bukkit.getScheduler().runTask(jda.getPlugin(), () -> { try { - Bukkit.dispatchCommand(new DiscordCommandSender(jda, Bukkit.getConsoleSender(), event::reply).getSender(), command); + Bukkit.dispatchCommand(new DiscordCommandSender(jda, Bukkit.getConsoleSender(), message -> event.reply(MessageUtil.sanitizeDiscordMarkdown(message))).getSender(), command); } catch (CommandException e) { // Check if this is a vanilla command, in which case we have to use a vanilla command sender :( if (e.getMessage().contains("a vanilla command listener") || (e.getCause() != null && e.getCause().getMessage().contains("a vanilla command listener"))) { diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ListCommand.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ListCommand.java index dc68a7f434a..d9b8f402646 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ListCommand.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/ListCommand.java @@ -8,6 +8,7 @@ import net.essentialsx.api.v2.services.discord.InteractionEvent; import net.essentialsx.discord.JDADiscordService; import net.essentialsx.discord.interactions.InteractionCommandImpl; +import net.essentialsx.discord.util.MessageUtil; import java.util.ArrayList; import java.util.List; @@ -46,6 +47,6 @@ public void onCommand(InteractionEvent event) { for (final String str : output) { stringBuilder.append(str).append("\n"); } - event.reply(stringBuilder.substring(0, stringBuilder.length() - 2)); + event.reply(MessageUtil.sanitizeDiscordMarkdown(stringBuilder.substring(0, stringBuilder.length() - 2))); } } diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/MessageCommand.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/MessageCommand.java index 5a7b8e8a3bb..529fef6a8a9 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/MessageCommand.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/commands/MessageCommand.java @@ -9,6 +9,7 @@ import net.essentialsx.discord.JDADiscordService; import net.essentialsx.discord.interactions.InteractionCommandImpl; import net.essentialsx.discord.util.DiscordMessageRecipient; +import net.essentialsx.discord.util.MessageUtil; import org.bukkit.Bukkit; import java.util.concurrent.atomic.AtomicReference; @@ -34,21 +35,21 @@ public void onCommand(InteractionEvent event) { } if (!getHidden && user.isIgnoreMsg()) { - event.reply(tl("msgIgnore", user.getDisplayName())); + event.reply(tl("msgIgnore", MessageUtil.sanitizeDiscordMarkdown(user.getDisplayName()))); return; } if (user.isAfk()) { if (user.getAfkMessage() != null) { - event.reply(tl("userAFKWithMessage", user.getDisplayName(), user.getAfkMessage())); + event.reply(tl("userAFKWithMessage", MessageUtil.sanitizeDiscordMarkdown(user.getDisplayName()), MessageUtil.sanitizeDiscordMarkdown(user.getAfkMessage()))); } else { - event.reply(tl("userAFK", user.getDisplayName())); + event.reply(tl("userAFK", MessageUtil.sanitizeDiscordMarkdown(user.getDisplayName()))); } } final String message = event.getMember().hasRoles(jda.getSettings().getPermittedFormattingRoles()) ? FormatUtil.replaceFormat(event.getStringArgument("message")) : FormatUtil.stripFormat(event.getStringArgument("message")); - event.reply(tl("msgFormat", tl("meSender"), user.getDisplayName(), message)); + event.reply(tl("msgFormat", tl("meSender"), MessageUtil.sanitizeDiscordMarkdown(user.getDisplayName()), MessageUtil.sanitizeDiscordMarkdown(message))); user.sendMessage(tl("msgFormat", event.getMember().getTag(), tl("meRecipient"), message)); // We use an atomic reference here so that java will garbage collect the recipient