From 9a6254c01fcd7a3c7f0c1dd4bb359465bb7e9426 Mon Sep 17 00:00:00 2001 From: Petal Ladenson Date: Thu, 3 Oct 2024 02:42:26 -0600 Subject: [PATCH] feat(bot): remove double push notifications --- Myriad/Types/Message.cs | 1 + PluralKit.Bot/Proxy/ProxyService.cs | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Myriad/Types/Message.cs b/Myriad/Types/Message.cs index 70013ecc..1b8f723e 100644 --- a/Myriad/Types/Message.cs +++ b/Myriad/Types/Message.cs @@ -15,6 +15,7 @@ public record Message SourceMessageDeleted = 1 << 3, Urgent = 1 << 4, Ephemeral = 1 << 6, + SuppressNotifications = 1 << 12, VoiceMessage = 1 << 13, } diff --git a/PluralKit.Bot/Proxy/ProxyService.cs b/PluralKit.Bot/Proxy/ProxyService.cs index 94e3b2af..aae862ce 100644 --- a/PluralKit.Bot/Proxy/ProxyService.cs +++ b/PluralKit.Bot/Proxy/ProxyService.cs @@ -237,6 +237,10 @@ public class ProxyService var senderPermissions = PermissionExtensions.PermissionsFor(guild, messageChannel, trigger.Author.Id, guildMember); var tts = match.Member.Tts && senderPermissions.HasFlag(PermissionSet.SendTtsMessages); + //We suppress notifications so that people don't get double push notifications. Pings and unreads are not suppressed. + Message.MessageFlags flags = Message.MessageFlags.SuppressNotifications; + flags = trigger.Flags.HasFlag(Message.MessageFlags.VoiceMessage) ? flags | Message.MessageFlags.VoiceMessage : flags; + var proxyMessage = await _webhookExecutor.ExecuteWebhook(new ProxyRequest { GuildId = trigger.GuildId!.Value, @@ -251,7 +255,7 @@ public class ProxyService Embeds = embeds.ToArray(), Stickers = trigger.StickerItems, AllowEveryone = allowEveryone, - Flags = trigger.Flags.HasFlag(Message.MessageFlags.VoiceMessage) ? Message.MessageFlags.VoiceMessage : null, + Flags = flags, Tts = tts, Poll = trigger.Poll, });