SYMBOL INDEX (644 symbols across 207 files) FILE: DiscordChatExporter.Cli.Tests/Infra/ChannelIds.cs class ChannelIds (line 5) | public static class ChannelIds FILE: DiscordChatExporter.Cli.Tests/Infra/ExportWrapper.cs class ExportWrapper (line 20) | public static class ExportWrapper method ExportWrapper (line 30) | static ExportWrapper() method ExportAsync (line 41) | private static async ValueTask ExportAsync(Snowflake channelId... method ExportAsHtmlAsync (line 66) | public static async ValueTask ExportAsHtmlAsync(Snowfla... method ExportAsJsonAsync (line 69) | public static async ValueTask ExportAsJsonAsync(Snowflake... method ExportAsPlainTextAsync (line 72) | public static async ValueTask ExportAsPlainTextAsync(Snowflake... method ExportAsCsvAsync (line 75) | public static async ValueTask ExportAsCsvAsync(Snowflake chann... method GetMessagesAsHtmlAsync (line 78) | public static async ValueTask> GetMessagesAsHt... method GetMessagesAsJsonAsync (line 82) | public static async ValueTask> GetMessagesA... method GetMessageAsHtmlAsync (line 86) | public static async ValueTask GetMessageAsHtmlAsync( method GetMessageAsJsonAsync (line 109) | public static async ValueTask GetMessageAsJsonAsync( FILE: DiscordChatExporter.Cli.Tests/Infra/Secrets.cs class Secrets (line 7) | internal static class Secrets FILE: DiscordChatExporter.Cli.Tests/Specs/CsvContentSpecs.cs class CsvContentSpecs (line 8) | public class CsvContentSpecs method I_can_export_a_channel_in_the_CSV_format (line 10) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/DateRangeSpecs.cs class DateRangeSpecs (line 17) | public class DateRangeSpecs method I_can_filter_the_export_to_only_include_messages_sent_after_the_specified_date (line 19) | [Fact] method I_can_filter_the_export_to_only_include_messages_sent_before_the_specified_date (line 63) | [Fact] method I_can_filter_the_export_to_only_include_messages_sent_between_the_specified_dates (line 105) | [Fact] method I_can_filter_the_export_to_not_include_any_messages (line 150) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/FilterSpecs.cs class FilterSpecs (line 17) | public class FilterSpecs method I_can_filter_the_export_to_only_include_messages_that_contain_the_specified_text (line 19) | [Fact] method I_can_filter_the_export_to_only_include_messages_that_were_sent_by_the_specified_author (line 44) | [Fact] method I_can_filter_the_export_to_only_include_messages_that_contain_images (line 69) | [Fact] method I_can_filter_the_export_to_only_include_messages_that_have_been_pinned (line 94) | [Fact] method I_can_filter_the_export_to_only_include_messages_that_contain_guild_invites (line 119) | [Fact] method I_can_filter_the_export_to_only_include_messages_that_contain_the_specified_mention (line 144) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlAttachmentSpecs.cs class HtmlAttachmentSpecs (line 12) | public class HtmlAttachmentSpecs method I_can_export_a_channel_that_contains_a_message_with_a_generic_attachment (line 14) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_an_image_attachment (line 33) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_video_attachment (line 52) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_an_audio_attachment (line 74) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlContentSpecs.cs class HtmlContentSpecs (line 15) | public class HtmlContentSpecs method I_can_export_a_channel_in_the_HTML_format (line 17) | [Fact] method I_can_export_a_channel_in_the_HTML_format_in_the_reverse_order (line 53) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs class HtmlEmbedSpecs (line 13) | public class HtmlEmbedSpecs method I_can_export_a_channel_that_contains_a_message_with_a_rich_embed (line 15) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_an_image_embed (line 42) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_an_image_embed_and_the_text_is_hidden_if_it_only_contains_the_image_link (line 63) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_video_embed (line 79) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_GIFV_embed (line 103) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_GIFV_embed_and_the_text_is_hidden_if_it_only_contains_the_video_link (line 122) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_Spotify_track_embed (line 136) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_Twitch_clip_embed (line 152) | [Fact(Skip = "Twitch does not allow embeds from inside local HTML file... method I_can_export_a_channel_that_contains_a_message_with_a_YouTube_video_embed (line 172) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_Twitter_post_embed_that_includes_multiple_images (line 194) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_guild_invite (line 250) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlForwardSpecs.cs class HtmlForwardSpecs (line 11) | public class HtmlForwardSpecs method I_can_export_a_channel_that_contains_a_forwarded_message (line 13) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlGroupingSpecs.cs class HtmlGroupingSpecs (line 15) | public class HtmlGroupingSpecs method I_can_export_a_channel_and_the_messages_are_grouped_according_to_their_author_and_timestamps (line 17) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlMarkdownSpecs.cs class HtmlMarkdownSpecs (line 11) | public class HtmlMarkdownSpecs method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker (line 13) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker_in_the_short_format (line 32) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker_in_the_long_format (line 46) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker_in_the_short_date_format (line 60) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker_in_the_long_date_format (line 74) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker_in_the_full_format (line 93) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker_in_the_full_long_format (line 112) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_timestamp_marker_in_the_relative_format (line 131) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_an_invalid_timestamp_marker (line 150) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlMentionSpecs.cs class HtmlMentionSpecs (line 10) | public class HtmlMentionSpecs method I_can_export_a_channel_that_contains_a_message_with_a_user_mention (line 12) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_text_channel_mention (line 26) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_voice_channel_mention (line 39) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_role_mention (line 52) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_thread_mention (line 65) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlReplySpecs.cs class HtmlReplySpecs (line 10) | public class HtmlReplySpecs method I_can_export_a_channel_that_contains_a_message_that_replies_to_another_message (line 12) | [Fact] method I_can_export_a_channel_that_contains_a_message_that_replies_to_a_deleted_message (line 26) | [Fact] method I_can_export_a_channel_that_contains_a_message_that_replies_to_an_empty_message_with_an_attachment (line 46) | [Fact] method I_can_export_a_channel_that_contains_a_message_that_replies_to_an_interaction (line 66) | [Fact] method I_can_export_a_channel_that_contains_a_message_cross_posted_from_another_guild (line 81) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/HtmlStickerSpecs.cs class HtmlStickerSpecs (line 9) | public class HtmlStickerSpecs method I_can_export_a_channel_that_contains_a_message_with_a_PNG_sticker (line 11) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_Lottie_sticker (line 25) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/JsonAttachmentSpecs.cs class JsonAttachmentSpecs (line 10) | public class JsonAttachmentSpecs method I_can_export_a_channel_that_contains_a_message_with_a_generic_attachment (line 12) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_an_image_attachment (line 39) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_video_attachment (line 66) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_an_audio_attachment (line 98) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/JsonContentSpecs.cs class JsonContentSpecs (line 15) | public class JsonContentSpecs method I_can_export_a_channel_in_the_JSON_format (line 17) | [Fact] method I_can_export_a_channel_in_the_JSON_format_in_the_reverse_order (line 53) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/JsonEmbedSpecs.cs class JsonEmbedSpecs (line 10) | public class JsonEmbedSpecs method I_can_export_a_channel_that_contains_a_message_with_a_rich_embed (line 12) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/JsonEmojiSpecs.cs class JsonEmojiSpecs (line 10) | public class JsonEmojiSpecs method I_can_export_a_channel_that_contains_a_message_with_inline_emoji_and_have_them_listed_separately (line 12) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_custom_inline_emoji_and_have_them_listed_separately (line 50) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/JsonForwardSpecs.cs class JsonForwardSpecs (line 9) | public class JsonForwardSpecs method I_can_export_a_channel_that_contains_a_forwarded_message (line 11) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/JsonMentionSpecs.cs class JsonMentionSpecs (line 10) | public class JsonMentionSpecs method I_can_export_a_channel_that_contains_a_message_with_a_user_mention (line 12) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_text_channel_mention (line 32) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_voice_channel_mention (line 49) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_role_mention (line 66) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_thread_mention (line 79) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/JsonStickerSpecs.cs class JsonStickerSpecs (line 10) | public class JsonStickerSpecs method I_can_export_a_channel_that_contains_a_message_with_a_PNG_sticker (line 12) | [Fact] method I_can_export_a_channel_that_contains_a_message_with_a_Lottie_sticker (line 34) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/PartitioningSpecs.cs class PartitioningSpecs (line 14) | public class PartitioningSpecs method I_can_export_a_channel_with_partitioning_based_on_message_count (line 16) | [Fact] method I_can_export_a_channel_with_partitioning_based_on_file_size (line 37) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/PlainTextContentSpecs.cs class PlainTextContentSpecs (line 8) | public class PlainTextContentSpecs method I_can_export_a_channel_in_the_TXT_format (line 10) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/PlainTextForwardSpecs.cs class PlainTextForwardSpecs (line 9) | public class PlainTextForwardSpecs method I_can_export_a_channel_that_contains_a_forwarded_message (line 11) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Specs/SelfContainedSpecs.cs class SelfContainedSpecs (line 14) | public class SelfContainedSpecs method I_can_export_a_channel_and_download_all_referenced_assets (line 16) | [Fact] FILE: DiscordChatExporter.Cli.Tests/Utils/Extensions/StringExtensions.cs class StringExtensions (line 5) | internal static class StringExtensions method extension (line 7) | extension(string str) FILE: DiscordChatExporter.Cli.Tests/Utils/Html.cs class Html (line 6) | internal static class Html method Parse (line 10) | public static IHtmlDocument Parse(string source) => Parser.ParseDocume... FILE: DiscordChatExporter.Cli.Tests/Utils/TempDir.cs class TempDir (line 7) | internal partial class TempDir(string path) : IDisposable method Dispose (line 11) | public void Dispose() method Create (line 23) | public static TempDir Create() class TempDir (line 21) | internal partial class TempDir method Dispose (line 11) | public void Dispose() method Create (line 23) | public static TempDir Create() FILE: DiscordChatExporter.Cli.Tests/Utils/TempFile.cs class TempFile (line 7) | internal partial class TempFile(string path) : IDisposable method Dispose (line 11) | public void Dispose() method Create (line 23) | public static TempFile Create() class TempFile (line 21) | internal partial class TempFile method Dispose (line 11) | public void Dispose() method Create (line 23) | public static TempFile Create() FILE: DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs class DiscordCommandBase (line 12) | public abstract class DiscordCommandBase : ICommand method ExecuteAsync (line 45) | public virtual ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs class ExportCommandBase (line 25) | public abstract class ExportCommandBase : DiscordCommandBase method ExportAsync (line 152) | protected async ValueTask ExportAsync(IConsole console, IReadOnlyList<... method ExecuteAsync (line 360) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/Converters/ThreadInclusionModeBindingConverter.cs class ThreadInclusionModeBindingConverter (line 7) | internal class ThreadInclusionModeBindingConverter : BindingConverter method Convert (line 8) | public override bool Convert(string? rawValue) FILE: DiscordChatExporter.Cli/Commands/ExportAllCommand.cs class ExportAllCommand (line 16) | [Command("exportall", Description = "Exports all accessible channels.")] method ExecuteAsync (line 35) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/ExportChannelsCommand.cs class ExportChannelsCommand (line 12) | [Command("export", Description = "Exports one or multiple channels.")] method ExecuteAsync (line 24) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/ExportDirectMessagesCommand.cs class ExportDirectMessagesCommand (line 10) | [Command("exportdm", Description = "Exports all direct message channels.")] method ExecuteAsync (line 13) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/ExportGuildCommand.cs class ExportGuildCommand (line 13) | [Command("exportguild", Description = "Exports all channels within the s... method ExecuteAsync (line 22) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/GetChannelsCommand.cs class GetChannelsCommand (line 14) | [Command("channels", Description = "Get the list of channels in a server... method ExecuteAsync (line 30) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/GetDirectChannelsCommand.cs class GetDirectChannelsCommand (line 12) | [Command("dm", Description = "Gets the list of all direct message channe... method ExecuteAsync (line 15) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/GetGuildsCommand.cs class GetGuildsCommand (line 12) | [Command("guilds", Description = "Gets the list of accessible servers.")] method ExecuteAsync (line 15) | public override async ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/GuideCommand.cs class GuideCommand (line 9) | [Command("guide", Description = "Explains how to obtain the token, serve... method ExecuteAsync (line 12) | public ValueTask ExecuteAsync(IConsole console) FILE: DiscordChatExporter.Cli/Commands/Shared/ThreadInclusionMode.cs type ThreadInclusionMode (line 3) | public enum ThreadInclusionMode FILE: DiscordChatExporter.Cli/Program.cs class Program (line 11) | public static class Program method Main (line 14) | [DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(ExportAl... FILE: DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs class ConsoleExtensions (line 8) | internal static class ConsoleExtensions method extension (line 10) | extension(IConsole console) method StartTaskAsync (line 39) | public static async ValueTask StartTaskAsync( FILE: DiscordChatExporter.Core/Discord/Data/Application.cs type Application (line 8) | public partial record Application(Snowflake Id, string Name, Application... type Application (line 15) | public partial record Application FILE: DiscordChatExporter.Core/Discord/Data/ApplicationFlags.cs type ApplicationFlags (line 6) | [Flags] FILE: DiscordChatExporter.Core/Discord/Data/Attachment.cs type Attachment (line 11) | public partial record Attachment( type Attachment (line 47) | public partial record Attachment FILE: DiscordChatExporter.Core/Discord/Data/Channel.cs type Channel (line 11) | public partial record Channel( type Channel (line 62) | public partial record Channel FILE: DiscordChatExporter.Core/Discord/Data/ChannelConnection.cs type ChannelConnection (line 6) | public record ChannelConnection(Channel Channel, IReadOnlyList method GetMemberAvatarUrl (line 53) | public static string GetMemberAvatarUrl( method GetStickerUrl (line 63) | public static string GetStickerUrl(Snowflake stickerId, string format ... FILE: DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs type Embed (line 12) | public partial record Embed( type Embed (line 41) | public partial record Embed FILE: DiscordChatExporter.Core/Discord/Data/Embeds/EmbedAuthor.cs type EmbedAuthor (line 7) | public record EmbedAuthor(string? Name, string? Url, string? IconUrl, st... FILE: DiscordChatExporter.Core/Discord/Data/Embeds/EmbedField.cs type EmbedField (line 7) | public record EmbedField(string Name, string Value, bool IsInline) FILE: DiscordChatExporter.Core/Discord/Data/Embeds/EmbedFooter.cs type EmbedFooter (line 7) | public record EmbedFooter(string Text, string? IconUrl, string? IconProx... FILE: DiscordChatExporter.Core/Discord/Data/Embeds/EmbedImage.cs type EmbedImage (line 7) | public record EmbedImage(string? Url, string? ProxyUrl, int? Width, int?... FILE: DiscordChatExporter.Core/Discord/Data/Embeds/EmbedKind.cs type EmbedKind (line 4) | public enum EmbedKind FILE: DiscordChatExporter.Core/Discord/Data/Embeds/EmbedVideo.cs type EmbedVideo (line 7) | public record EmbedVideo(string? Url, string? ProxyUrl, int? Width, int?... FILE: DiscordChatExporter.Core/Discord/Data/Embeds/SpotifyTrackEmbedProjection.cs type SpotifyTrackEmbedProjection (line 5) | public partial record SpotifyTrackEmbedProjection(string TrackId) type SpotifyTrackEmbedProjection (line 10) | public partial record SpotifyTrackEmbedProjection FILE: DiscordChatExporter.Core/Discord/Data/Embeds/TwitchClipEmbedProjection.cs type TwitchClipEmbedProjection (line 5) | public partial record TwitchClipEmbedProjection(string ClipId) type TwitchClipEmbedProjection (line 10) | public partial record TwitchClipEmbedProjection FILE: DiscordChatExporter.Core/Discord/Data/Embeds/YouTubeVideoEmbedProjection.cs type YouTubeVideoEmbedProjection (line 3) | public partial record YouTubeVideoEmbedProjection(string VideoId) type YouTubeVideoEmbedProjection (line 11) | public partial record YouTubeVideoEmbedProjection FILE: DiscordChatExporter.Core/Discord/Data/Emoji.cs type Emoji (line 10) | public partial record Emoji( type Emoji (line 29) | public partial record Emoji FILE: DiscordChatExporter.Core/Discord/Data/EmojiIndex.cs class EmojiIndex (line 8) | [ExcludeFromCodeCoverage] method GetAllNames (line 8858) | public static IReadOnlyCollection GetAllNames() => _toCodes.Keys; method TryGetCode (line 8860) | public static string? TryGetCode(string name) => _toCodes.GetValueOrDe... method TryGetName (line 8862) | public static string? TryGetName(string code) => _fromCodes.GetValueOr... FILE: DiscordChatExporter.Core/Discord/Data/Guild.cs type Guild (line 9) | public partial record Guild(Snowflake Id, string Name, string IconUrl) :... type Guild (line 14) | public partial record Guild FILE: DiscordChatExporter.Core/Discord/Data/Interaction.cs type Interaction (line 8) | public record Interaction(Snowflake Id, string Name, User User) FILE: DiscordChatExporter.Core/Discord/Data/Invite.cs type Invite (line 9) | public record Invite(string Code, Guild Guild, Channel? Channel) FILE: DiscordChatExporter.Core/Discord/Data/Member.cs type Member (line 11) | public partial record Member( type Member (line 21) | public partial record Member FILE: DiscordChatExporter.Core/Discord/Data/Message.cs type Message (line 13) | public partial record Message( type Message (line 65) | public partial record Message FILE: DiscordChatExporter.Core/Discord/Data/MessageFlags.cs type MessageFlags (line 6) | [Flags] FILE: DiscordChatExporter.Core/Discord/Data/MessageKind.cs type MessageKind (line 4) | public enum MessageKind FILE: DiscordChatExporter.Core/Discord/Data/MessageReference.cs type MessageReference (line 8) | public record MessageReference( FILE: DiscordChatExporter.Core/Discord/Data/MessageReferenceKind.cs type MessageReferenceKind (line 4) | public enum MessageReferenceKind FILE: DiscordChatExporter.Core/Discord/Data/MessageSnapshot.cs type MessageSnapshot (line 11) | public record MessageSnapshot( FILE: DiscordChatExporter.Core/Discord/Data/Reaction.cs type Reaction (line 7) | public record Reaction(Emoji Emoji, int Count) FILE: DiscordChatExporter.Core/Discord/Data/Role.cs type Role (line 10) | public record Role(Snowflake Id, string Name, int Position, Color? Color... FILE: DiscordChatExporter.Core/Discord/Data/Sticker.cs type Sticker (line 10) | public partial record Sticker(Snowflake Id, string Name, StickerFormat F... type Sticker (line 15) | public partial record Sticker FILE: DiscordChatExporter.Core/Discord/Data/StickerFormat.cs type StickerFormat (line 3) | public enum StickerFormat FILE: DiscordChatExporter.Core/Discord/Data/User.cs type User (line 9) | public partial record User( type User (line 30) | public partial record User FILE: DiscordChatExporter.Core/Discord/DiscordClient.cs class DiscordClient (line 21) | public class DiscordClient( method GetResponseAsync (line 29) | private async ValueTask GetResponseAsync( method ResolveTokenKindAsync (line 96) | private async ValueTask ResolveTokenKindAsync( method GetResponseAsync (line 126) | private async ValueTask GetResponseAsync( method GetJsonResponseAsync (line 136) | private async ValueTask GetJsonResponseAsync( method TryGetJsonResponseAsync (line 178) | private async ValueTask TryGetJsonResponseAsync( method GetApplicationAsync (line 189) | public async ValueTask GetApplicationAsync( method EnsureMessageContentIntentAsync (line 197) | private async ValueTask EnsureMessageContentIntentAsync( method TryGetUserAsync (line 214) | public async ValueTask TryGetUserAsync( method GetUserGuildsAsync (line 223) | public async IAsyncEnumerable GetUserGuildsAsync( method GetGuildAsync (line 255) | public async ValueTask GetGuildAsync( method GetGuildChannelsAsync (line 267) | public async IAsyncEnumerable GetGuildChannelsAsync( method GetGuildThreadsAsync (line 314) | public async IAsyncEnumerable GetGuildThreadsAsync( method GetGuildRolesAsync (line 341) | public async IAsyncEnumerable GetGuildRolesAsync( method TryGetGuildMemberAsync (line 354) | public async ValueTask TryGetGuildMemberAsync( method TryGetInviteAsync (line 370) | public async ValueTask TryGetInviteAsync( method GetChannelAsync (line 379) | public async ValueTask GetChannelAsync( method TryGetChannelAsync (line 401) | public async ValueTask TryGetChannelAsync( method GetChannelThreadsAsync (line 427) | public async IAsyncEnumerable GetChannelThreadsAsync( method TryGetFirstMessageAsync (line 598) | private async ValueTask TryGetFirstMessageAsync( method TryGetLastMessageAsync (line 616) | private async ValueTask TryGetLastMessageAsync( method GetMessagesAsync (line 632) | public async IAsyncEnumerable GetMessagesAsync( method GetMessagesInReverseAsync (line 710) | public async IAsyncEnumerable GetMessagesInReverseAsync( method GetMessageReactionsAsync (line 779) | public async IAsyncEnumerable GetMessageReactionsAsync( FILE: DiscordChatExporter.Core/Discord/Dump/DataDump.cs class DataDump (line 12) | public partial class DataDump(IReadOnlyList channels) method Parse (line 19) | public static DataDump Parse(JsonElement json) method LoadAsync (line 39) | public static async ValueTask LoadAsync( class DataDump (line 17) | public partial class DataDump method Parse (line 19) | public static DataDump Parse(JsonElement json) method LoadAsync (line 39) | public static async ValueTask LoadAsync( FILE: DiscordChatExporter.Core/Discord/Dump/DataDumpChannel.cs type DataDumpChannel (line 3) | public record DataDumpChannel(Snowflake Id, string Name); FILE: DiscordChatExporter.Core/Discord/RateLimitPreference.cs type RateLimitPreference (line 5) | [Flags] class RateLimitPreferenceExtensions (line 14) | public static class RateLimitPreferenceExtensions method extension (line 16) | extension(RateLimitPreference rateLimitPreference) FILE: DiscordChatExporter.Core/Discord/Snowflake.cs type Snowflake (line 7) | public readonly partial record struct Snowflake(ulong Value) type Snowflake (line 18) | public partial record struct Snowflake type Snowflake (line 48) | public partial record struct Snowflake : IComparable, ICompar... FILE: DiscordChatExporter.Core/Discord/TokenKind.cs type TokenKind (line 3) | public enum TokenKind FILE: DiscordChatExporter.Core/Exceptions/DiscordChatExporterException.cs class DiscordChatExporterException (line 5) | public class DiscordChatExporterException( FILE: DiscordChatExporter.Core/Exporting/ChannelExporter.cs class ChannelExporter (line 11) | public class ChannelExporter(DiscordClient discord) method ExportChannelAsync (line 13) | public async ValueTask ExportChannelAsync( FILE: DiscordChatExporter.Core/Exporting/CsvMessageWriter.cs class CsvMessageWriter (line 12) | internal partial class CsvMessageWriter(Stream stream, ExportContext con... method FormatMarkdownAsync (line 17) | private async ValueTask FormatMarkdownAsync( method WritePreambleAsync (line 25) | public override async ValueTask WritePreambleAsync( method WriteAttachmentsAsync (line 29) | private async ValueTask WriteAttachmentsAsync( method WriteReactionsAsync (line 48) | private async ValueTask WriteReactionsAsync( method WriteMessageAsync (line 71) | public override async ValueTask WriteMessageAsync( method DisposeAsync (line 115) | public override async ValueTask DisposeAsync() method CsvEncode (line 124) | private static string CsvEncode(string value) class CsvMessageWriter (line 122) | internal partial class CsvMessageWriter method FormatMarkdownAsync (line 17) | private async ValueTask FormatMarkdownAsync( method WritePreambleAsync (line 25) | public override async ValueTask WritePreambleAsync( method WriteAttachmentsAsync (line 29) | private async ValueTask WriteAttachmentsAsync( method WriteReactionsAsync (line 48) | private async ValueTask WriteReactionsAsync( method WriteMessageAsync (line 71) | public override async ValueTask WriteMessageAsync( method DisposeAsync (line 115) | public override async ValueTask DisposeAsync() method CsvEncode (line 124) | private static string CsvEncode(string value) FILE: DiscordChatExporter.Core/Exporting/ExportAssetDownloader.cs class ExportAssetDownloader (line 16) | internal partial class ExportAssetDownloader(string workingDirPath, bool... method DownloadAsync (line 23) | public async ValueTask DownloadAsync( method NormalizeUrl (line 81) | private static string NormalizeUrl(string url) method GetFileNameFromUrl (line 96) | private static string GetFileNameFromUrl(string url, string urlHash) method GetFileNameFromUrl (line 122) | private static string GetFileNameFromUrl(string url) => method GetLegacyFileNameFromUrl (line 133) | private static string GetLegacyFileNameFromUrl(string url) => class ExportAssetDownloader (line 79) | internal partial class ExportAssetDownloader method DownloadAsync (line 23) | public async ValueTask DownloadAsync( method NormalizeUrl (line 81) | private static string NormalizeUrl(string url) method GetFileNameFromUrl (line 96) | private static string GetFileNameFromUrl(string url, string urlHash) method GetFileNameFromUrl (line 122) | private static string GetFileNameFromUrl(string url) => method GetLegacyFileNameFromUrl (line 133) | private static string GetLegacyFileNameFromUrl(string url) => FILE: DiscordChatExporter.Core/Exporting/ExportContext.cs class ExportContext (line 16) | internal class ExportContext(DiscordClient discord, ExportRequest request) method NormalizeDate (line 31) | public DateTimeOffset NormalizeDate(DateTimeOffset instant) => method FormatDate (line 34) | public string FormatDate(DateTimeOffset instant, string format = "g") => method PopulateChannelsAndRolesAsync (line 37) | public async ValueTask PopulateChannelsAndRolesAsync( method PopulateChannelAsync (line 55) | public async ValueTask PopulateChannelAsync( method PopulateMemberAsync (line 70) | private async ValueTask PopulateMemberAsync( method PopulateMemberAsync (line 96) | public async ValueTask PopulateMemberAsync( method PopulateMemberAsync (line 101) | public async ValueTask PopulateMemberAsync( method TryGetMember (line 106) | public Member? TryGetMember(Snowflake id) => _membersById.GetValueOrDe... method TryGetChannel (line 108) | public Channel? TryGetChannel(Snowflake id) => _channelsById.GetValueO... method TryGetRole (line 110) | public Role? TryGetRole(Snowflake id) => _rolesById.GetValueOrDefault(... method GetUserRoles (line 112) | public IReadOnlyList GetUserRoles(Snowflake id) => method TryGetUserColor (line 120) | public Color? TryGetUserColor(Snowflake id) => method ResolveAssetUrlAsync (line 123) | public async ValueTask ResolveAssetUrlAsync( FILE: DiscordChatExporter.Core/Exporting/ExportFormat.cs type ExportFormat (line 5) | public enum ExportFormat class ExportFormatExtensions (line 14) | public static class ExportFormatExtensions method extension (line 16) | extension(ExportFormat format) FILE: DiscordChatExporter.Core/Exporting/ExportRequest.cs class ExportRequest (line 14) | public partial class ExportRequest method ExportRequest (line 50) | public ExportRequest( method GetDefaultOutputFileName (line 96) | public static string GetDefaultOutputFileName( method FormatPath (line 154) | private static string FormatPath( method GetOutputBaseFilePath (line 198) | private static string GetOutputBaseFilePath( class ExportRequest (line 94) | public partial class ExportRequest method ExportRequest (line 50) | public ExportRequest( method GetDefaultOutputFileName (line 96) | public static string GetDefaultOutputFileName( method FormatPath (line 154) | private static string FormatPath( method GetOutputBaseFilePath (line 198) | private static string GetOutputBaseFilePath( FILE: DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionKind.cs type BinaryExpressionKind (line 3) | internal enum BinaryExpressionKind FILE: DiscordChatExporter.Core/Exporting/Filtering/BinaryExpressionMessageFilter.cs class BinaryExpressionMessageFilter (line 6) | internal class BinaryExpressionMessageFilter( method IsMatch (line 12) | public override bool IsMatch(Message message) => FILE: DiscordChatExporter.Core/Exporting/Filtering/ContainsMessageFilter.cs class ContainsMessageFilter (line 7) | internal class ContainsMessageFilter(string text) : MessageFilter method IsMatch (line 15) | private bool IsMatch(string? content) => method IsMatch (line 23) | public override bool IsMatch(Message message) => FILE: DiscordChatExporter.Core/Exporting/Filtering/FromMessageFilter.cs class FromMessageFilter (line 6) | internal class FromMessageFilter(string value) : MessageFilter method IsMatch (line 8) | public override bool IsMatch(Message message) => FILE: DiscordChatExporter.Core/Exporting/Filtering/HasMessageFilter.cs class HasMessageFilter (line 8) | internal class HasMessageFilter(MessageContentMatchKind kind) : MessageF... method IsMatch (line 10) | public override bool IsMatch(Message message) => FILE: DiscordChatExporter.Core/Exporting/Filtering/MentionsMessageFilter.cs class MentionsMessageFilter (line 7) | internal class MentionsMessageFilter(string value) : MessageFilter method IsMatch (line 9) | public override bool IsMatch(Message message) => FILE: DiscordChatExporter.Core/Exporting/Filtering/MessageContentMatchKind.cs type MessageContentMatchKind (line 3) | internal enum MessageContentMatchKind FILE: DiscordChatExporter.Core/Exporting/Filtering/MessageFilter.cs class MessageFilter (line 7) | public abstract partial class MessageFilter method IsMatch (line 9) | public abstract bool IsMatch(Message message); method Parse (line 16) | public static MessageFilter Parse(string value) => FilterGrammar.Filte... class MessageFilter (line 12) | public partial class MessageFilter method IsMatch (line 9) | public abstract bool IsMatch(Message message); method Parse (line 16) | public static MessageFilter Parse(string value) => FilterGrammar.Filte... FILE: DiscordChatExporter.Core/Exporting/Filtering/NegatedMessageFilter.cs class NegatedMessageFilter (line 5) | internal class NegatedMessageFilter(MessageFilter filter) : MessageFilter method IsMatch (line 7) | public override bool IsMatch(Message message) => !filter.IsMatch(messa... FILE: DiscordChatExporter.Core/Exporting/Filtering/NullMessageFilter.cs class NullMessageFilter (line 5) | internal class NullMessageFilter : MessageFilter method IsMatch (line 7) | public override bool IsMatch(Message message) => true; FILE: DiscordChatExporter.Core/Exporting/Filtering/Parsing/FilterGrammar.cs class FilterGrammar (line 7) | internal static class FilterGrammar FILE: DiscordChatExporter.Core/Exporting/Filtering/ReactionMessageFilter.cs class ReactionMessageFilter (line 7) | internal class ReactionMessageFilter(string value) : MessageFilter method IsMatch (line 9) | public override bool IsMatch(Message message) => FILE: DiscordChatExporter.Core/Exporting/HtmlMarkdownVisitor.cs class HtmlMarkdownVisitor (line 14) | internal partial class HtmlMarkdownVisitor( method VisitTextAsync (line 20) | protected override ValueTask VisitTextAsync( method VisitFormattingAsync (line 29) | protected override async ValueTask VisitFormattingAsync( method VisitHeadingAsync (line 88) | protected override async ValueTask VisitHeadingAsync( method VisitListAsync (line 106) | protected override async ValueTask VisitListAsync( method VisitListItemAsync (line 124) | protected override async ValueTask VisitListItemAsync( method VisitInlineCodeBlockAsync (line 142) | protected override ValueTask VisitInlineCodeBlockAsync( method VisitMultiLineCodeBlockAsync (line 159) | protected override ValueTask VisitMultiLineCodeBlockAsync( method VisitLinkAsync (line 180) | protected override async ValueTask VisitLinkAsync( method VisitEmojiAsync (line 207) | protected override async ValueTask VisitEmojiAsync( method VisitMentionAsync (line 227) | protected override async ValueTask VisitMentionAsync( method VisitTimestampAsync (line 315) | protected override ValueTask VisitTimestampAsync( method HtmlEncode (line 343) | private static string HtmlEncode(string text) => WebUtility.HtmlEncode... method FormatAsync (line 345) | public static async ValueTask FormatAsync( class HtmlMarkdownVisitor (line 341) | internal partial class HtmlMarkdownVisitor method VisitTextAsync (line 20) | protected override ValueTask VisitTextAsync( method VisitFormattingAsync (line 29) | protected override async ValueTask VisitFormattingAsync( method VisitHeadingAsync (line 88) | protected override async ValueTask VisitHeadingAsync( method VisitListAsync (line 106) | protected override async ValueTask VisitListAsync( method VisitListItemAsync (line 124) | protected override async ValueTask VisitListItemAsync( method VisitInlineCodeBlockAsync (line 142) | protected override ValueTask VisitInlineCodeBlockAsync( method VisitMultiLineCodeBlockAsync (line 159) | protected override ValueTask VisitMultiLineCodeBlockAsync( method VisitLinkAsync (line 180) | protected override async ValueTask VisitLinkAsync( method VisitEmojiAsync (line 207) | protected override async ValueTask VisitEmojiAsync( method VisitMentionAsync (line 227) | protected override async ValueTask VisitMentionAsync( method VisitTimestampAsync (line 315) | protected override ValueTask VisitTimestampAsync( method HtmlEncode (line 343) | private static string HtmlEncode(string text) => WebUtility.HtmlEncode... method FormatAsync (line 345) | public static async ValueTask FormatAsync( FILE: DiscordChatExporter.Core/Exporting/HtmlMessageExtensions.cs class HtmlMessageExtensions (line 7) | internal static class HtmlMessageExtensions method extension (line 11) | extension(Message message) FILE: DiscordChatExporter.Core/Exporting/HtmlMessageWriter.cs class HtmlMessageWriter (line 12) | internal class HtmlMessageWriter(Stream stream, ExportContext context, s... method CanJoinGroup (line 21) | private bool CanJoinGroup(Message message) method Minify (line 69) | private string Minify(string html) => _minifier.Minify(html, false).Mi... method WritePreambleAsync (line 71) | public override async ValueTask WritePreambleAsync( method WriteMessageGroupAsync (line 84) | private async ValueTask WriteMessageGroupAsync( method WriteMessageAsync (line 100) | public override async ValueTask WriteMessageAsync( method WritePostambleAsync (line 122) | public override async ValueTask WritePostambleAsync( method DisposeAsync (line 141) | public override async ValueTask DisposeAsync() FILE: DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs class JsonMessageWriter (line 17) | internal class JsonMessageWriter(Stream stream, ExportContext context) method FormatMarkdownAsync (line 33) | private async ValueTask FormatMarkdownAsync( method WriteUserAsync (line 41) | private async ValueTask WriteUserAsync( method WriteEmojiAsync (line 79) | private async ValueTask WriteEmojiAsync( method WriteRolesAsync (line 99) | private async ValueTask WriteRolesAsync( method WriteAttachmentAsync (line 122) | private async ValueTask WriteAttachmentAsync( method WriteEmbedAuthorAsync (line 140) | private async ValueTask WriteEmbedAuthorAsync( method WriteEmbedImageAsync (line 167) | private async ValueTask WriteEmbedImageAsync( method WriteEmbedVideoAsync (line 194) | private async ValueTask WriteEmbedVideoAsync( method WriteEmbedFooterAsync (line 221) | private async ValueTask WriteEmbedFooterAsync( method WriteEmbedFieldAsync (line 247) | private async ValueTask WriteEmbedFieldAsync( method WriteEmbedAsync (line 265) | private async ValueTask WriteEmbedAsync( method WriteStickerAsync (line 356) | private async ValueTask WriteStickerAsync( method WritePreambleAsync (line 374) | public override async ValueTask WritePreambleAsync( method WriteMessageAsync (line 432) | public override async ValueTask WriteMessageAsync( method WritePostambleAsync (line 629) | public override async ValueTask WritePostambleAsync( method DisposeAsync (line 643) | public override async ValueTask DisposeAsync() FILE: DiscordChatExporter.Core/Exporting/MessageExporter.cs class MessageExporter (line 9) | internal partial class MessageExporter(ExportContext context) : IAsyncDi... method InitializeWriterAsync (line 16) | private async ValueTask InitializeWriterAsync( method UninitializeWriterAsync (line 46) | private async ValueTask UninitializeWriterAsync(CancellationToken canc... method ExportMessageAsync (line 63) | public async ValueTask ExportMessageAsync( method DisposeAsync (line 73) | public async ValueTask DisposeAsync() method GetPartitionFilePath (line 85) | private static string GetPartitionFilePath(string baseFilePath, int pa... method CreateMessageWriter (line 100) | private static MessageWriter CreateMessageWriter( class MessageExporter (line 83) | internal partial class MessageExporter method InitializeWriterAsync (line 16) | private async ValueTask InitializeWriterAsync( method UninitializeWriterAsync (line 46) | private async ValueTask UninitializeWriterAsync(CancellationToken canc... method ExportMessageAsync (line 63) | public async ValueTask ExportMessageAsync( method DisposeAsync (line 73) | public async ValueTask DisposeAsync() method GetPartitionFilePath (line 85) | private static string GetPartitionFilePath(string baseFilePath, int pa... method CreateMessageWriter (line 100) | private static MessageWriter CreateMessageWriter( FILE: DiscordChatExporter.Core/Exporting/MessageWriter.cs class MessageWriter (line 9) | internal abstract class MessageWriter(Stream stream, ExportContext conte... method WritePreambleAsync (line 19) | public virtual ValueTask WritePreambleAsync(CancellationToken cancella... method WriteMessageAsync (line 22) | public virtual ValueTask WriteMessageAsync( method WritePostambleAsync (line 31) | public virtual ValueTask WritePostambleAsync(CancellationToken cancell... method DisposeAsync (line 34) | public virtual async ValueTask DisposeAsync() => await Stream.DisposeA... FILE: DiscordChatExporter.Core/Exporting/Partitioning/FileSizePartitionLimit.cs class FileSizePartitionLimit (line 3) | internal class FileSizePartitionLimit(long limit) : PartitionLimit method IsReached (line 5) | public override bool IsReached(long messagesWritten, long bytesWritten... FILE: DiscordChatExporter.Core/Exporting/Partitioning/MessageCountPartitionLimit.cs class MessageCountPartitionLimit (line 3) | internal class MessageCountPartitionLimit(long limit) : PartitionLimit method IsReached (line 5) | public override bool IsReached(long messagesWritten, long bytesWritten... FILE: DiscordChatExporter.Core/Exporting/Partitioning/NullPartitionLimit.cs class NullPartitionLimit (line 3) | internal class NullPartitionLimit : PartitionLimit method IsReached (line 5) | public override bool IsReached(long messagesWritten, long bytesWritten... FILE: DiscordChatExporter.Core/Exporting/Partitioning/PartitionLimit.cs class PartitionLimit (line 7) | public abstract partial class PartitionLimit method IsReached (line 9) | public abstract bool IsReached(long messagesWritten, long bytesWritten); method TryParseFileSizeBytes (line 16) | private static long? TryParseFileSizeBytes(string value, IFormatProvid... method TryParse (line 51) | public static PartitionLimit? TryParse(string value, IFormatProvider? ... method Parse (line 63) | public static PartitionLimit Parse(string value, IFormatProvider? form... class PartitionLimit (line 12) | public partial class PartitionLimit method IsReached (line 9) | public abstract bool IsReached(long messagesWritten, long bytesWritten); method TryParseFileSizeBytes (line 16) | private static long? TryParseFileSizeBytes(string value, IFormatProvid... method TryParse (line 51) | public static PartitionLimit? TryParse(string value, IFormatProvider? ... method Parse (line 63) | public static PartitionLimit Parse(string value, IFormatProvider? form... FILE: DiscordChatExporter.Core/Exporting/PlainTextMarkdownVisitor.cs class PlainTextMarkdownVisitor (line 10) | internal partial class PlainTextMarkdownVisitor(ExportContext context, S... method VisitTextAsync (line 13) | protected override ValueTask VisitTextAsync( method VisitEmojiAsync (line 22) | protected override ValueTask VisitEmojiAsync( method VisitMentionAsync (line 32) | protected override async ValueTask VisitMentionAsync( method VisitTimestampAsync (line 84) | protected override ValueTask VisitTimestampAsync( method FormatAsync (line 101) | public static async ValueTask FormatAsync( class PlainTextMarkdownVisitor (line 99) | internal partial class PlainTextMarkdownVisitor method VisitTextAsync (line 13) | protected override ValueTask VisitTextAsync( method VisitEmojiAsync (line 22) | protected override ValueTask VisitEmojiAsync( method VisitMentionAsync (line 32) | protected override async ValueTask VisitMentionAsync( method VisitTimestampAsync (line 84) | protected override ValueTask VisitTimestampAsync( method FormatAsync (line 101) | public static async ValueTask FormatAsync( FILE: DiscordChatExporter.Core/Exporting/PlainTextMessageExtensions.cs class PlainTextMessageExtensions (line 8) | internal static class PlainTextMessageExtensions method extension (line 10) | extension(Message message) FILE: DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs class PlainTextMessageWriter (line 13) | internal class PlainTextMessageWriter(Stream stream, ExportContext context) method FormatMarkdownAsync (line 18) | private async ValueTask FormatMarkdownAsync( method WriteMessageHeaderAsync (line 26) | private async ValueTask WriteMessageHeaderAsync(Message message) method WriteAttachmentsAsync (line 39) | private async ValueTask WriteAttachmentsAsync( method WriteEmbedsAsync (line 61) | private async ValueTask WriteEmbedsAsync( method WriteStickersAsync (line 145) | private async ValueTask WriteStickersAsync( method WriteReactionsAsync (line 167) | private async ValueTask WriteReactionsAsync( method WritePreambleAsync (line 197) | public override async ValueTask WritePreambleAsync( method WriteForwardedMessageAsync (line 228) | private async ValueTask WriteForwardedMessageAsync( method WriteMessageAsync (line 253) | public override async ValueTask WriteMessageAsync( method WritePostambleAsync (line 292) | public override async ValueTask WritePostambleAsync( method DisposeAsync (line 301) | public override async ValueTask DisposeAsync() FILE: DiscordChatExporter.Core/Markdown/EmojiNode.cs type EmojiNode (line 6) | internal record EmojiNode( FILE: DiscordChatExporter.Core/Markdown/FormattingKind.cs type FormattingKind (line 3) | internal enum FormattingKind FILE: DiscordChatExporter.Core/Markdown/FormattingNode.cs type FormattingNode (line 5) | internal record FormattingNode(FormattingKind Kind, IReadOnlyList Child... FILE: DiscordChatExporter.Core/Markdown/IContainerNode.cs type IContainerNode (line 5) | internal interface IContainerNode FILE: DiscordChatExporter.Core/Markdown/InlineCodeBlockNode.cs type InlineCodeBlockNode (line 3) | internal record InlineCodeBlockNode(string Code) : MarkdownNode; FILE: DiscordChatExporter.Core/Markdown/LinkNode.cs type LinkNode (line 6) | internal record LinkNode(string Url, IReadOnlyList Children) FILE: DiscordChatExporter.Core/Markdown/ListItemNode.cs type ListItemNode (line 5) | internal record ListItemNode(IReadOnlyList Children) : Mar... FILE: DiscordChatExporter.Core/Markdown/ListNode.cs type ListNode (line 5) | internal record ListNode(IReadOnlyList Items) : MarkdownNode; FILE: DiscordChatExporter.Core/Markdown/MarkdownNode.cs type MarkdownNode (line 3) | internal abstract record MarkdownNode; FILE: DiscordChatExporter.Core/Markdown/MentionKind.cs type MentionKind (line 3) | internal enum MentionKind FILE: DiscordChatExporter.Core/Markdown/MentionNode.cs type MentionNode (line 6) | internal record MentionNode(Snowflake? TargetId, MentionKind Kind) : Mar... FILE: DiscordChatExporter.Core/Markdown/MultiLineCodeBlockNode.cs type MultiLineCodeBlockNode (line 3) | internal record MultiLineCodeBlockNode(string Language, string Code) : M... FILE: DiscordChatExporter.Core/Markdown/Parsing/AggregateMatcher.cs class AggregateMatcher (line 5) | internal class AggregateMatcher( method TryMatch (line 9) | public ParsedMatch? TryMatch(TContext context, StringSegment s... FILE: DiscordChatExporter.Core/Markdown/Parsing/IMatcher.cs type IMatcher (line 6) | internal interface IMatcher method TryMatch (line 8) | ParsedMatch? TryMatch(TContext context, StringSegment segment); class MatcherExtensions (line 11) | internal static class MatcherExtensions method MatchAll (line 13) | public static IEnumerable> MatchAll Parse( method Extract (line 452) | private static void Extract( method Extract (line 468) | public static IReadOnlyList Extract(string markdown) method ExtractLinks (line 477) | public static IReadOnlyList ExtractLinks(string markdown) => method ExtractEmojis (line 480) | public static IReadOnlyList ExtractEmojis(string markdown) => method Parse (line 483) | private static IReadOnlyList Parse( method Parse (line 488) | public static IReadOnlyList Parse(string markdown) => method ParseMinimal (line 491) | private static IReadOnlyList ParseMinimal( method ParseMinimal (line 496) | public static IReadOnlyList ParseMinimal(string markdown... class MarkdownParser (line 450) | internal static partial class MarkdownParser method Parse (line 426) | private static IReadOnlyList Parse( method Extract (line 452) | private static void Extract( method Extract (line 468) | public static IReadOnlyList Extract(string markdown) method ExtractLinks (line 477) | public static IReadOnlyList ExtractLinks(string markdown) => method ExtractEmojis (line 480) | public static IReadOnlyList ExtractEmojis(string markdown) => method Parse (line 483) | private static IReadOnlyList Parse( method Parse (line 488) | public static IReadOnlyList Parse(string markdown) => method ParseMinimal (line 491) | private static IReadOnlyList ParseMinimal( method ParseMinimal (line 496) | public static IReadOnlyList ParseMinimal(string markdown... FILE: DiscordChatExporter.Core/Markdown/Parsing/MarkdownVisitor.cs class MarkdownVisitor (line 8) | internal abstract class MarkdownVisitor method VisitTextAsync (line 10) | protected virtual ValueTask VisitTextAsync( method VisitFormattingAsync (line 15) | protected virtual async ValueTask VisitFormattingAsync( method VisitHeadingAsync (line 20) | protected virtual async ValueTask VisitHeadingAsync( method VisitListAsync (line 25) | protected virtual async ValueTask VisitListAsync( method VisitListItemAsync (line 30) | protected virtual async ValueTask VisitListItemAsync( method VisitInlineCodeBlockAsync (line 35) | protected virtual ValueTask VisitInlineCodeBlockAsync( method VisitMultiLineCodeBlockAsync (line 40) | protected virtual ValueTask VisitMultiLineCodeBlockAsync( method VisitLinkAsync (line 45) | protected virtual async ValueTask VisitLinkAsync( method VisitEmojiAsync (line 50) | protected virtual ValueTask VisitEmojiAsync( method VisitMentionAsync (line 55) | protected virtual ValueTask VisitMentionAsync( method VisitTimestampAsync (line 60) | protected virtual ValueTask VisitTimestampAsync( method VisitAsync (line 65) | public async ValueTask VisitAsync( method VisitAsync (line 139) | public async ValueTask VisitAsync( FILE: DiscordChatExporter.Core/Markdown/Parsing/ParsedMatch.cs class ParsedMatch (line 3) | internal class ParsedMatch(StringSegment segment, T value) FILE: DiscordChatExporter.Core/Markdown/Parsing/RegexMatcher.cs class RegexMatcher (line 6) | internal class RegexMatcher( method TryMatch (line 11) | public ParsedMatch? TryMatch(TContext context, StringSegment s... FILE: DiscordChatExporter.Core/Markdown/Parsing/StringMatcher.cs class StringMatcher (line 5) | internal class StringMatcher( method StringMatcher (line 11) | public StringMatcher(string needle, Func? TryMatch(TContext context, StringSegment s... FILE: DiscordChatExporter.Core/Markdown/Parsing/StringSegment.cs type StringSegment (line 5) | internal readonly record struct StringSegment(string Source, int StartIn... FILE: DiscordChatExporter.Core/Markdown/TextNode.cs type TextNode (line 3) | internal record TextNode(string Text) : MarkdownNode; FILE: DiscordChatExporter.Core/Markdown/TimestampNode.cs type TimestampNode (line 6) | internal record TimestampNode(DateTimeOffset? Instant, string? Format) :... FILE: DiscordChatExporter.Core/Utils/Docker.cs class Docker (line 5) | public static class Docker FILE: DiscordChatExporter.Core/Utils/Extensions/AsyncCollectionExtensions.cs class AsyncCollectionExtensions (line 7) | public static class AsyncCollectionExtensions method CollectAsync (line 11) | private async ValueTask> CollectAsync() method GetAwaiter (line 21) | public ValueTaskAwaiter> GetAwaiter() => FILE: DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs class CollectionExtensions (line 5) | public static class CollectionExtensions method ToSingletonEnumerable (line 9) | public IEnumerable ToSingletonEnumerable() FILE: DiscordChatExporter.Core/Utils/Extensions/ColorExtensions.cs class ColorExtensions (line 5) | public static class ColorExtensions method extension (line 7) | extension(Color color) FILE: DiscordChatExporter.Core/Utils/Extensions/ExceptionExtensions.cs class ExceptionExtensions (line 6) | public static class ExceptionExtensions method extension (line 8) | extension(Exception exception) FILE: DiscordChatExporter.Core/Utils/Extensions/GenericExtensions.cs class GenericExtensions (line 6) | public static class GenericExtensions method Pipe (line 10) | public TOut Pipe(Func transform) => transform(input); FILE: DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs class HttpExtensions (line 5) | public static class HttpExtensions method extension (line 7) | extension(HttpHeaders headers) FILE: DiscordChatExporter.Core/Utils/Extensions/PathExtensions.cs class PathExtensions (line 7) | public static class PathExtensions method extension (line 28) | extension(Path) FILE: DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs class StringExtensions (line 5) | public static class StringExtensions method extension (line 7) | extension(string str) method extension (line 29) | extension(StringBuilder builder) FILE: DiscordChatExporter.Core/Utils/Extensions/SuperpowerExtensions.cs class SuperpowerExtensions (line 8) | public static class SuperpowerExtensions method Token (line 12) | public TextParser Token() => method Log (line 17) | [ExcludeFromCodeCoverage] FILE: DiscordChatExporter.Core/Utils/Extensions/TimeSpanExtensions.cs class TimeSpanExtensions (line 5) | public static class TimeSpanExtensions method extension (line 7) | extension(TimeSpan value) FILE: DiscordChatExporter.Core/Utils/Http.cs class Http (line 14) | public static class Http method IsRetryableStatusCode (line 18) | private static bool IsRetryableStatusCode(HttpStatusCode statusCode) => method IsRetryableException (line 25) | private static bool IsRetryableException(Exception exception) => FILE: DiscordChatExporter.Core/Utils/Url.cs class Url (line 7) | public static class Url method EncodeFilePath (line 9) | public static string EncodeFilePath(string filePath) FILE: DiscordChatExporter.Core/Utils/UrlBuilder.cs class UrlBuilder (line 9) | public class UrlBuilder method SetPath (line 17) | public UrlBuilder SetPath(string path) method SetQueryParameter (line 23) | public UrlBuilder SetQueryParameter(string key, string? value, bool ig... method Build (line 35) | public string Build() FILE: DiscordChatExporter.Gui/App.axaml.cs class App (line 21) | public class App : Application, IDisposable method App (line 31) | public App() method Initialize (line 78) | public override void Initialize() method InitializeTheme (line 85) | private void InitializeTheme() method OnFrameworkInitializationCompleted (line 100) | public override void OnFrameworkInitializationCompleted() method Application_OnActualThemeVariantChanged (line 130) | private void Application_OnActualThemeVariantChanged(object? sender, E... method Dispose (line 134) | public void Dispose() FILE: DiscordChatExporter.Gui/Converters/ChannelToHierarchicalNameStringConverter.cs class ChannelToHierarchicalNameStringConverter (line 8) | public class ChannelToHierarchicalNameStringConverter : IValueConverter method Convert (line 12) | public object? Convert( method ConvertBack (line 19) | public object ConvertBack( FILE: DiscordChatExporter.Gui/Converters/ExportFormatToStringConverter.cs class ExportFormatToStringConverter (line 8) | public class ExportFormatToStringConverter : IValueConverter method Convert (line 12) | public object? Convert( method ConvertBack (line 19) | public object ConvertBack( FILE: DiscordChatExporter.Gui/Converters/LocaleToDisplayNameStringConverter.cs class LocaleToDisplayNameStringConverter (line 7) | public class LocaleToDisplayNameStringConverter : IValueConverter method Convert (line 11) | public object Convert(object? value, Type targetType, object? paramete... method ConvertBack (line 16) | public object ConvertBack( FILE: DiscordChatExporter.Gui/Converters/MarkdownToInlinesConverter.cs class MarkdownToInlinesConverter (line 16) | public class MarkdownToInlinesConverter : IValueConverter method ProcessInline (line 24) | private static void ProcessInline( method Convert (line 99) | public object? Convert(object? value, Type targetType, object? paramet... method ConvertBack (line 162) | public object? ConvertBack( FILE: DiscordChatExporter.Gui/Converters/RateLimitPreferenceToStringConverter.cs class RateLimitPreferenceToStringConverter (line 8) | public class RateLimitPreferenceToStringConverter : IValueConverter method Convert (line 12) | public object? Convert( method ConvertBack (line 22) | public object ConvertBack( FILE: DiscordChatExporter.Gui/Converters/SnowflakeToTimestampStringConverter.cs class SnowflakeToTimestampStringConverter (line 8) | public class SnowflakeToTimestampStringConverter : IValueConverter method Convert (line 12) | public object? Convert( method ConvertBack (line 19) | public object ConvertBack( FILE: DiscordChatExporter.Gui/Framework/DialogManager.cs class DialogManager (line 14) | public class DialogManager : IDisposable method ShowDialogAsync (line 18) | public async Task ShowDialogAsync(DialogViewModelBase dialog) method PromptSaveFilePathAsync (line 54) | public async Task PromptSaveFilePathAsync( method PromptDirectoryPathAsync (line 75) | public async Task PromptDirectoryPathAsync(string defaultDirP... method Dispose (line 98) | public void Dispose() => _dialogLock.Dispose(); FILE: DiscordChatExporter.Gui/Framework/DialogViewModelBase.cs class DialogViewModelBase (line 7) | public abstract partial class DialogViewModelBase : ViewModelBase method Close (line 16) | [RelayCommand] method WaitForCloseAsync (line 23) | public async Task WaitForCloseAsync() => await _closeTcs.Task; FILE: DiscordChatExporter.Gui/Framework/SnackbarManager.cs class SnackbarManager (line 8) | public class SnackbarManager method Notify (line 12) | public void Notify(string message, TimeSpan? duration = null) => method Notify (line 19) | public void Notify( FILE: DiscordChatExporter.Gui/Framework/ThemeVariant.cs type ThemeVariant (line 3) | public enum ThemeVariant FILE: DiscordChatExporter.Gui/Framework/UserControl.cs class UserControl (line 6) | public class UserControl : UserControl FILE: DiscordChatExporter.Gui/Framework/ViewManager.cs class ViewManager (line 12) | public partial class ViewManager method TryCreateView (line 14) | private Control? TryCreateView(ViewModelBase viewModel) => method TryBindView (line 25) | public Control? TryBindView(ViewModelBase viewModel) method Match (line 39) | bool IDataTemplate.Match(object? data) => data is ViewModelBase; method Build (line 41) | Control? ITemplate.Build(object? data) => class ViewManager (line 37) | public partial class ViewManager : IDataTemplate method TryCreateView (line 14) | private Control? TryCreateView(ViewModelBase viewModel) => method TryBindView (line 25) | public Control? TryBindView(ViewModelBase viewModel) method Match (line 39) | bool IDataTemplate.Match(object? data) => data is ViewModelBase; method Build (line 41) | Control? ITemplate.Build(object? data) => FILE: DiscordChatExporter.Gui/Framework/ViewModelBase.cs class ViewModelBase (line 6) | public abstract class ViewModelBase : ObservableObject, IDisposable method OnAllPropertiesChanged (line 10) | protected void OnAllPropertiesChanged() => OnPropertyChanged(string.Em... method Dispose (line 12) | protected virtual void Dispose(bool disposing) { } method Dispose (line 14) | public void Dispose() FILE: DiscordChatExporter.Gui/Framework/ViewModelManager.cs class ViewModelManager (line 11) | public class ViewModelManager(IServiceProvider services) method CreateMainViewModel (line 13) | public MainViewModel CreateMainViewModel() => services.GetRequiredServ... method CreateDashboardViewModel (line 15) | public DashboardViewModel CreateDashboardViewModel() => method CreateExportSetupViewModel (line 18) | public ExportSetupViewModel CreateExportSetupViewModel( method CreateMessageBoxViewModel (line 31) | public MessageBoxViewModel CreateMessageBoxViewModel( method CreateMessageBoxViewModel (line 48) | public MessageBoxViewModel CreateMessageBoxViewModel(string title, str... method CreateSettingsViewModel (line 51) | public SettingsViewModel CreateSettingsViewModel() => FILE: DiscordChatExporter.Gui/Framework/Window.cs class Window (line 6) | public class Window : Window FILE: DiscordChatExporter.Gui/Localization/Language.cs type Language (line 3) | public enum Language FILE: DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs class LocalizationManager (line 5) | public partial class LocalizationManager FILE: DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs class LocalizationManager (line 5) | public partial class LocalizationManager FILE: DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs class LocalizationManager (line 5) | public partial class LocalizationManager FILE: DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs class LocalizationManager (line 5) | public partial class LocalizationManager FILE: DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs class LocalizationManager (line 5) | public partial class LocalizationManager FILE: DiscordChatExporter.Gui/Localization/LocalizationManager.cs class LocalizationManager (line 11) | public partial class LocalizationManager : ObservableObject, IDisposable method LocalizationManager (line 15) | public LocalizationManager(SettingsService settingsService) method Get (line 40) | private string Get([CallerMemberName] string? key = null) method Dispose (line 75) | public void Dispose() => _eventRoot.Dispose(); class LocalizationManager (line 78) | public partial class LocalizationManager method LocalizationManager (line 15) | public LocalizationManager(SettingsService settingsService) method Get (line 40) | private string Get([CallerMemberName] string? key = null) method Dispose (line 75) | public void Dispose() => _eventRoot.Dispose(); FILE: DiscordChatExporter.Gui/Models/ThreadInclusionMode.cs type ThreadInclusionMode (line 3) | public enum ThreadInclusionMode FILE: DiscordChatExporter.Gui/Program.cs class Program (line 8) | public static class Program method BuildAvaloniaApp (line 26) | public static AppBuilder BuildAvaloniaApp() => method Main (line 29) | [STAThread] FILE: DiscordChatExporter.Gui/Services/SettingsService.TokenEncryptionConverter.cs class SettingsService (line 10) | public partial class SettingsService class TokenEncryptionConverter (line 12) | private class TokenEncryptionConverter : JsonConverter method Read (line 26) | public override string? Read( method Write (line 72) | public override void Write( FILE: DiscordChatExporter.Gui/Services/SettingsService.cs class SettingsService (line 12) | [ObservableObject] method Save (line 75) | public override void Save() class SettingsService (line 88) | public partial class SettingsService method Save (line 75) | public override void Save() FILE: DiscordChatExporter.Gui/Services/UpdateService.cs class UpdateService (line 10) | public class UpdateService(SettingsService settingsService) : IDisposable method CheckForUpdatesAsync (line 31) | public async ValueTask CheckForUpdatesAsync() method PrepareUpdateAsync (line 43) | public async ValueTask PrepareUpdateAsync(Version version) method FinalizeUpdate (line 66) | public void FinalizeUpdate(bool needRestart) method Dispose (line 92) | public void Dispose() => _updateManager?.Dispose(); FILE: DiscordChatExporter.Gui/StartOptions.cs class StartOptions (line 6) | public partial class StartOptions class StartOptions (line 11) | public partial class StartOptions FILE: DiscordChatExporter.Gui/Utils/Disposable.cs class Disposable (line 5) | internal class Disposable(Action dispose) : IDisposable method Create (line 7) | public static IDisposable Create(Action dispose) => new Disposable(dis... method Dispose (line 9) | public void Dispose() => dispose(); FILE: DiscordChatExporter.Gui/Utils/DisposableCollector.cs class DisposableCollector (line 7) | internal class DisposableCollector : IDisposable method Add (line 12) | public void Add(IDisposable item) method Dispose (line 20) | public void Dispose() FILE: DiscordChatExporter.Gui/Utils/Extensions/AvaloniaExtensions.cs class AvaloniaExtensions (line 7) | internal static class AvaloniaExtensions method extension (line 9) | extension(IApplicationLifetime lifetime) FILE: DiscordChatExporter.Gui/Utils/Extensions/DisposableExtensions.cs class DisposableExtensions (line 7) | internal static class DisposableExtensions method extension (line 9) | extension(IEnumerable disposables) FILE: DiscordChatExporter.Gui/Utils/Extensions/EnvironmentExtensions.cs class EnvironmentExtensions (line 6) | internal static class EnvironmentExtensions method extension (line 8) | extension(Environment) FILE: DiscordChatExporter.Gui/Utils/Extensions/MarkdigExtensions.cs class MarkdigExtensions (line 6) | internal static class MarkdigExtensions method extension (line 8) | extension(Inline inline) FILE: DiscordChatExporter.Gui/Utils/Extensions/NotifyPropertyChangedExtensions.cs class NotifyPropertyChangedExtensions (line 8) | internal static class NotifyPropertyChangedExtensions method WatchProperty (line 13) | public IDisposable WatchProperty( method WatchAllProperties (line 42) | public IDisposable WatchAllProperties(Action callback, bool watchIniti... FILE: DiscordChatExporter.Gui/Utils/Extensions/ProcessExtensions.cs class ProcessExtensions (line 5) | internal static class ProcessExtensions method extension (line 7) | extension(Process) FILE: DiscordChatExporter.Gui/Utils/Internationalization.cs class Internationalization (line 5) | internal static class Internationalization FILE: DiscordChatExporter.Gui/Utils/NativeMethods.cs class NativeMethods (line 5) | internal static class NativeMethods class Windows (line 7) | public static class Windows method MessageBox (line 9) | [DllImport("user32.dll", SetLastError = true)] FILE: DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs class DashboardViewModel (line 26) | public partial class DashboardViewModel : ViewModelBase method DashboardViewModel (line 38) | public DashboardViewModel( method Initialize (line 99) | [RelayCommand] method ShowSettingsAsync (line 106) | [RelayCommand] method CanPullGuilds (line 110) | private bool CanPullGuilds() => !IsBusy && !string.IsNullOrWhiteSpace(... method PullGuildsAsync (line 112) | [RelayCommand(CanExecute = nameof(CanPullGuilds))] method CanPullChannels (line 159) | private bool CanPullChannels() => !IsBusy && _discord is not null && S... method PullChannelsAsync (line 161) | [RelayCommand(CanExecute = nameof(CanPullChannels))] method CanExport (line 226) | private bool CanExport() => method ExportAsync (line 229) | [RelayCommand(CanExecute = nameof(CanExport))] method Dispose (line 331) | protected override void Dispose(bool disposing) FILE: DiscordChatExporter.Gui/ViewModels/Dialogs/ExportSetupViewModel.cs class ExportSetupViewModel (line 20) | public partial class ExportSetupViewModel( method Initialize (line 105) | [RelayCommand] method ShowOutputPathPromptAsync (line 131) | [RelayCommand] method ShowAssetsDirPathPromptAsync (line 167) | [RelayCommand] method ConfirmAsync (line 175) | [RelayCommand] FILE: DiscordChatExporter.Gui/ViewModels/Dialogs/MessageBoxViewModel.cs class MessageBoxViewModel (line 6) | public partial class MessageBoxViewModel : DialogViewModelBase FILE: DiscordChatExporter.Gui/ViewModels/Dialogs/SettingsViewModel.cs class SettingsViewModel (line 14) | public class SettingsViewModel : DialogViewModelBase method SettingsViewModel (line 20) | public SettingsViewModel( method Dispose (line 136) | protected override void Dispose(bool disposing) FILE: DiscordChatExporter.Gui/ViewModels/MainViewModel.cs class MainViewModel (line 14) | public partial class MainViewModel( method ShowUkraineSupportMessageAsync (line 27) | private async Task ShowUkraineSupportMessageAsync() method ShowDevelopmentBuildMessageAsync (line 47) | private async Task ShowDevelopmentBuildMessageAsync() method CheckForUpdatesAsync (line 67) | private async Task CheckForUpdatesAsync() method InitializeAsync (line 103) | [RelayCommand] method Dispose (line 111) | protected override void Dispose(bool disposing) FILE: DiscordChatExporter.Gui/Views/Components/DashboardView.axaml.cs class DashboardView (line 11) | public partial class DashboardView : UserControl method DashboardView (line 13) | public DashboardView() => InitializeComponent(); method UserControl_OnLoaded (line 15) | private void UserControl_OnLoaded(object? sender, RoutedEventArgs args) method AvailableGuildsListBox_OnSelectionChanged (line 21) | private void AvailableGuildsListBox_OnSelectionChanged( method AvailableChannelsTreeView_OnSelectionChanged (line 26) | private void AvailableChannelsTreeView_OnSelectionChanged( method ChannelGrid_OnDoubleTapped (line 41) | private void ChannelGrid_OnDoubleTapped(object? sender, TappedEventArg... FILE: DiscordChatExporter.Gui/Views/Controls/HyperLink.axaml.cs class HyperLink (line 10) | public partial class HyperLink : UserControl method HyperLink (line 27) | public HyperLink() => InitializeComponent(); method TextBlock_OnPointerReleased (line 53) | private void TextBlock_OnPointerReleased(object? sender, PointerReleas... FILE: DiscordChatExporter.Gui/Views/Dialogs/ExportSetupView.axaml.cs class ExportSetupView (line 7) | public partial class ExportSetupView : UserControl method ExportSetupView (line 9) | public ExportSetupView() => InitializeComponent(); method UserControl_OnLoaded (line 11) | private void UserControl_OnLoaded(object? sender, RoutedEventArgs args... FILE: DiscordChatExporter.Gui/Views/Dialogs/MessageBoxView.axaml.cs class MessageBoxView (line 6) | public partial class MessageBoxView : UserControl method MessageBoxView (line 8) | public MessageBoxView() => InitializeComponent(); FILE: DiscordChatExporter.Gui/Views/Dialogs/SettingsView.axaml.cs class SettingsView (line 6) | public partial class SettingsView : UserControl method SettingsView (line 8) | public SettingsView() => InitializeComponent(); FILE: DiscordChatExporter.Gui/Views/MainView.axaml.cs class MainView (line 7) | public partial class MainView : Window method MainView (line 9) | public MainView() => InitializeComponent(); method DialogHost_OnLoaded (line 11) | private void DialogHost_OnLoaded(object? sender, RoutedEventArgs args) =>