This commit is contained in:
Tyrrrz
2025-12-03 23:37:17 +02:00
parent a91337ccac
commit 8bbb8fa5ee
2 changed files with 43 additions and 34 deletions

View File

@@ -8,14 +8,20 @@ internal static class HtmlMessageExtensions
{ {
// Message content is hidden if it's a link to an embedded media // Message content is hidden if it's a link to an embedded media
// https://github.com/Tyrrrz/DiscordChatExporter/issues/682 // https://github.com/Tyrrrz/DiscordChatExporter/issues/682
public static bool IsContentHidden(this Message message) extension(Message message)
{ {
if (message.Embeds.Count != 1) public bool IsContentHidden()
return false; {
if (message.Embeds.Count != 1)
return false;
var embed = message.Embeds[0]; var embed = message.Embeds[0];
return string.Equals(message.Content.Trim(), embed.Url, StringComparison.OrdinalIgnoreCase) return string.Equals(
&& embed.Kind is EmbedKind.Image or EmbedKind.Gifv; message.Content.Trim(),
embed.Url,
StringComparison.OrdinalIgnoreCase
) && embed.Kind is EmbedKind.Image or EmbedKind.Gifv;
}
} }
} }

View File

@@ -7,37 +7,40 @@ namespace DiscordChatExporter.Core.Exporting;
internal static class PlainTextMessageExtensions internal static class PlainTextMessageExtensions
{ {
public static string GetFallbackContent(this Message message) => extension(Message message)
message.Kind switch {
{ public string GetFallbackContent() =>
MessageKind.RecipientAdd => message.MentionedUsers.Any() message.Kind switch
? $"Added {message.MentionedUsers.First().DisplayName} to the group." {
: "Added a recipient.", MessageKind.RecipientAdd => message.MentionedUsers.Any()
? $"Added {message.MentionedUsers.First().DisplayName} to the group."
: "Added a recipient.",
MessageKind.RecipientRemove => message.MentionedUsers.Any() MessageKind.RecipientRemove => message.MentionedUsers.Any()
? message.Author.Id == message.MentionedUsers.First().Id ? message.Author.Id == message.MentionedUsers.First().Id
? "Left the group." ? "Left the group."
: $"Removed {message.MentionedUsers.First().DisplayName} from the group." : $"Removed {message.MentionedUsers.First().DisplayName} from the group."
: "Removed a recipient.", : "Removed a recipient.",
MessageKind.Call => MessageKind.Call =>
$"Started a call that lasted { $"Started a call that lasted {
message message
.CallEndedTimestamp? .CallEndedTimestamp?
.Pipe(t => t - message.Timestamp) .Pipe(t => t - message.Timestamp)
.Pipe(t => t.TotalMinutes) .Pipe(t => t.TotalMinutes)
.ToString("n0", CultureInfo.InvariantCulture) ?? "0" .ToString("n0", CultureInfo.InvariantCulture) ?? "0"
} minutes.", } minutes.",
MessageKind.ChannelNameChange => !string.IsNullOrWhiteSpace(message.Content) MessageKind.ChannelNameChange => !string.IsNullOrWhiteSpace(message.Content)
? $"Changed the channel name: {message.Content}" ? $"Changed the channel name: {message.Content}"
: "Changed the channel name.", : "Changed the channel name.",
MessageKind.ChannelIconChange => "Changed the channel icon.", MessageKind.ChannelIconChange => "Changed the channel icon.",
MessageKind.ChannelPinnedMessage => "Pinned a message.", MessageKind.ChannelPinnedMessage => "Pinned a message.",
MessageKind.ThreadCreated => "Started a thread.", MessageKind.ThreadCreated => "Started a thread.",
MessageKind.GuildMemberJoin => "Joined the server.", MessageKind.GuildMemberJoin => "Joined the server.",
_ => message.Content, _ => message.Content,
}; };
}
} }