diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs index 57125c0e1d..f89d57e9f1 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -527,9 +527,12 @@ 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 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));