From 33478a8080b18e471768db8a2793ec6c9113603f Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Sat, 8 Apr 2023 18:17:28 -0700 Subject: [PATCH 1/5] Discord replies no longer mention the user. I don't want this clogging up my mentions inbox (which i check for things i forgot to do) every time i do !tgs. and it will once there are 7 bots on tgs 5 and all 7 of them mention me every time I use a command. There is no need to mention or ping the user for a response to a message they sent less than a second ago. The goal of a mention is to alert the user there is a message they might want to see, but in this case, they kinda know, given they just sent the command. --- .../Components/Chat/Providers/DiscordProvider.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs index 084a349152..d5d2c91786 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -224,9 +224,20 @@ namespace Tgstation.Server.Host.Components.Chat.Providers public override async Task SendMessage(Message replyTo, MessageContent message, ulong channelId, CancellationToken cancellationToken) { Optional replyToReference = default; + Optional allowedMentions = default; if (replyTo != null && replyTo is DiscordMessage discordMessage) { replyToReference = discordMessage.MessageReference; + allowedMentions = new AllowedMentions( + //reset settings back to how discord acts if this is not passed (which is different than the default if empty) + Parse: [ + MentionType.Everyone, + MentionType.Roles, + MentionType.Users + ], + //disable reply mentions + MentionRepliedUser = false + ); } var embeds = ConvertEmbed(message.Embed); @@ -239,6 +250,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers message.Text, embeds: embeds, messageReference: replyToReference, + allowedMentions: allowedMentions, ct: cancellationToken); if (!result.IsSuccess) From 3514471d3ccac90a68cca4a633be9939aaa32e7b Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Sun, 9 Apr 2023 12:11:24 -0700 Subject: [PATCH 2/5] Maybe compile --- .../Components/Chat/Providers/DiscordProvider.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs index d5d2c91786..559bd8b050 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -230,11 +230,11 @@ namespace Tgstation.Server.Host.Components.Chat.Providers replyToReference = discordMessage.MessageReference; allowedMentions = new AllowedMentions( //reset settings back to how discord acts if this is not passed (which is different than the default if empty) - Parse: [ + Parse: new[] { MentionType.Everyone, MentionType.Roles, MentionType.Users - ], + }, //disable reply mentions MentionRepliedUser = false ); From 60389bef0e6bc00163b089442359144a729a1145 Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Sun, 9 Apr 2023 12:12:27 -0700 Subject: [PATCH 3/5] wrong named arg syntax --- .../Components/Chat/Providers/DiscordProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs index 559bd8b050..53f94379c4 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -236,7 +236,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers MentionType.Users }, //disable reply mentions - MentionRepliedUser = false + MentionRepliedUser: false ); } From b0752dc076cb4f0ae3e254e5d81864aff648aa4b Mon Sep 17 00:00:00 2001 From: Dominion Date: Mon, 10 Apr 2023 09:38:58 -0400 Subject: [PATCH 4/5] Satisfy linter --- .../Components/Chat/Providers/DiscordProvider.cs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs index 53f94379c4..0b75c8485f 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -228,16 +228,14 @@ namespace Tgstation.Server.Host.Components.Chat.Providers if (replyTo != null && replyTo is DiscordMessage discordMessage) { replyToReference = discordMessage.MessageReference; - allowedMentions = new AllowedMentions( - //reset settings back to how discord acts if this is not passed (which is different than the default if empty) - Parse: new[] { + allowedMentions = new AllowedMentions( + Parse: new[] // reset settings back to how discord acts if this is not passed (which is different than the default if empty) + { MentionType.Everyone, MentionType.Roles, - MentionType.Users + MentionType.Users, }, - //disable reply mentions - MentionRepliedUser: false - ); + MentionRepliedUser: false); // disable reply mentions } var embeds = ConvertEmbed(message.Embed); From 52525741f06d950c67c657c85b703c10cd1da230 Mon Sep 17 00:00:00 2001 From: Dominion Date: Mon, 10 Apr 2023 10:06:32 -0400 Subject: [PATCH 5/5] Syntax cleanup --- .../Components/Chat/Providers/DiscordProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs index 0b75c8485f..dfddd9d326 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -229,7 +229,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers { replyToReference = discordMessage.MessageReference; allowedMentions = new AllowedMentions( - Parse: new[] // reset settings back to how discord acts if this is not passed (which is different than the default if empty) + Parse: new List // reset settings back to how discord acts if this is not passed (which is different than the default if empty) { MentionType.Everyone, MentionType.Roles,