From f186d6a62642547d1b1bcb928101d57c6c66849c Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Wed, 28 Sep 2022 13:44:45 -0400 Subject: [PATCH 1/3] Fix !tgs not working on Discord --- .../Components/Chat/Providers/DiscordProvider.cs | 5 ++++- 1 file changed, 4 insertions(+), 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 57125c0e1d..5067aac312 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -529,7 +529,10 @@ namespace Tgstation.Server.Host.Components.Chat.Providers lock (mappedChannels) shouldNotAnswer = !mappedChannels.Contains(messageCreateEvent.ChannelID.Value); - var content = NormalizeMentions(messageCreateEvent.Content); + var refreshedMessage = !String.IsNullOrWhiteSpace(messageCreateEvent.Content) + ? messageCreateEvent + : (await channelsClient.GetChannelMessageAsync(messageCreateEvent.ChannelID, messageCreateEvent.ID, cancellationToken)).Entity; + var content = NormalizeMentions(refreshedMessage.Content); var mentionedUs = messageCreateEvent.Mentions.Any(x => x.ID == currentUserId) || (!shouldNotAnswer && content.Split(' ').First().Equals(ChatManager.CommonMention, StringComparison.OrdinalIgnoreCase)); From 0f7aced259918c65f848cc7eae28c1b53a4094a1 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Wed, 28 Sep 2022 13:45:27 -0400 Subject: [PATCH 2/3] Fix channel 0 not mapping for commands on Discord --- .../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 5067aac312..f89d57e9f1 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -527,7 +527,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers var shouldNotAnswer = !pm; if (shouldNotAnswer) lock (mappedChannels) - shouldNotAnswer = !mappedChannels.Contains(messageCreateEvent.ChannelID.Value); + shouldNotAnswer = !mappedChannels.Contains(messageCreateEvent.ChannelID.Value) && !mappedChannels.Contains(0); var refreshedMessage = !String.IsNullOrWhiteSpace(messageCreateEvent.Content) ? messageCreateEvent