added support for non-webhook messages to be sent with the @silent flag

This commit is contained in:
William Beemer 2024-01-20 15:22:31 -08:00
parent fbfd7e9871
commit 2fe84d4629
1 changed files with 7 additions and 0 deletions

View File

@ -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();
}