From 2fe84d4629a7f0ad8832c03127d43aa2d6dd4994 Mon Sep 17 00:00:00 2001 From: William Beemer <37132465+MrBubbles06@users.noreply.github.com> Date: Sat, 20 Jan 2024 15:22:31 -0800 Subject: [PATCH] added support for non-webhook messages to be sent with the @silent flag --- .../java/net/essentialsx/discord/JDADiscordService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/JDADiscordService.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/JDADiscordService.java index 4883cb634..0bac4e94a 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/JDADiscordService.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/JDADiscordService.java @@ -136,9 +136,14 @@ public class JDADiscordService implements DiscordService, IEssentialsModule { public void sendMessage(DiscordMessageEvent event, String message, boolean groupMentions) { final TextChannel channel = getChannel(event.getType().getKey(), true); + final boolean isSilentMessage = message.startsWith("@silent"); + + if (isSilentMessage) message = message.replace("@silent", ""); + final String strippedContent = FormatUtil.stripFormat(message); final String webhookChannelId = typeToChannelId.get(event.getType()); + if (webhookChannelId != null) { final WrappedWebhookClient client = channelIdToWebhook.get(webhookChannelId); if (client != null) { @@ -153,8 +158,10 @@ public class JDADiscordService implements DiscordService, IEssentialsModule { logger.warning(tl("discordNoSendPermission", channel.getName())); return; } + channel.sendMessage(strippedContent) .setAllowedMentions(groupMentions ? null : DiscordUtil.NO_GROUP_MENTIONS) + .setSuppressedNotifications(isSilentMessage) .queue(); }