From 427c6021ac2dca4a76fbcbe553130f992a3305e1 Mon Sep 17 00:00:00 2001
From: tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
Date: Sat, 25 Jul 2026 20:28:26 +0300
Subject: [PATCH] Fix grammar
---
.docs/Docker.md | 2 +-
.docs/Scheduling-Linux.md | 4 ++--
.docs/Scheduling-MacOS.md | 4 ++--
.docs/Scheduling-Windows.md | 4 ++--
.docs/Using-the-CLI.md | 8 ++++----
.docs/Using-the-GUI.md | 16 ++++++++--------
.../Commands/Base/DiscordCommandBase.cs | 2 +-
.../Commands/Base/ExportCommandBase.cs | 2 +-
.../Discord/Data/Embeds/Embed.cs | 2 +-
DiscordChatExporter.Core/Discord/Data/Emoji.cs | 4 ++--
.../Exporting/ExportRequest.cs | 2 +-
DiscordChatExporter.Core/Markdown/EmojiNode.cs | 4 ++--
DiscordChatExporter.Core/Markdown/LinkNode.cs | 2 +-
.../Markdown/Parsing/MarkdownParser.cs | 4 ++--
.../Framework/DialogManager.cs | 2 +-
.../Localization/LocalizationManager.English.cs | 6 +++---
DiscordChatExporter.Gui/PublishMacOSBundle.csx | 4 ++--
17 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/.docs/Docker.md b/.docs/Docker.md
index fa4870cf..b2534ac6 100644
--- a/.docs/Docker.md
+++ b/.docs/Docker.md
@@ -16,7 +16,7 @@ $ docker pull tyrrrz/discordchatexporter:stable
Note the `:stable` tag. DiscordChatExporter images are tagged according to the following patterns:
- `stable` — latest stable version release. This tag is updated with each release of a new project version. Recommended for personal use.
-- `x.y.z` (e.g. `2.30.1`) — specific stable version release. This tag is pushed when the corresponding version is released and never updated thereafter. Recommended for use in automation scenarios.
+- `x.y.z` (e.g., `2.30.1`) — specific stable version release. This tag is pushed when the corresponding version is released and never updated thereafter. Recommended for use in automation scenarios.
- `latest` — latest (potentially unstable) build. This tag is updated with each new commit to the `prime` branch. Not recommended, unless you want to test a new feature that has not been released in a stable version yet.
You can see all available tags [here](https://hub.docker.com/r/tyrrrz/discordchatexporter/tags?ordering=name).
diff --git a/.docs/Scheduling-Linux.md b/.docs/Scheduling-Linux.md
index 7534d2e6..49fe7b4b 100644
--- a/.docs/Scheduling-Linux.md
+++ b/.docs/Scheduling-Linux.md
@@ -64,9 +64,9 @@ exit 0
- `tokenhere` with your [Token](Token-and-IDs.md).
- `channelhere` with a [Channel ID](Token-and-IDs.md).
-- `dceFOLDERpathhere` with DCE's **directory path** (e.g. `/path/to/folder`, NOT `/path/to/folder/DiscordChatExporter.dll`).
+- `dceFOLDERpathhere` with DCE's **directory path** (e.g., `/path/to/folder`, NOT `/path/to/folder/DiscordChatExporter.dll`).
- `filenamehere` with the exported channel's filename, without spaces.
-- `dirhere` with the export directory (e.g. /home/user/Documents/Discord\ Exports).
+- `dirhere` with the export directory (e.g., /home/user/Documents/Discord\ Exports).
- `formathere` with one of the available export formats.
> **Note**:
diff --git a/.docs/Scheduling-MacOS.md b/.docs/Scheduling-MacOS.md
index 78e362a9..83b7df70 100644
--- a/.docs/Scheduling-MacOS.md
+++ b/.docs/Scheduling-MacOS.md
@@ -68,9 +68,9 @@ exit 0
- `tokenhere` with your [Token](Token-and-IDs.md)
- `channelhere` with a [Channel ID](Token-and-IDs.md)
-- `dceFOLDERpathhere` with DCE's **directory's path** (e.g. `/Users/user/Desktop/DiscordChatExporterFolder`, NOT `/Users/user/Desktop/DiscordChatExporterFolder/DiscordChatExporter.DLL`)
+- `dceFOLDERpathhere` with DCE's **directory's path** (e.g., `/Users/user/Desktop/DiscordChatExporterFolder`, NOT `/Users/user/Desktop/DiscordChatExporterFolder/DiscordChatExporter.DLL`)
- `filenamehere` with the exported channel's filename, without spaces
-- `dirhere` with the directory you want the files to be saved at (e.g. `/Users/user/Documents/Discord\ Exports`)
+- `dirhere` with the directory you want the files to be saved at (e.g., `/Users/user/Documents/Discord\ Exports`)
- `formathere` with one of the available export formats
To quickly get file or folder paths, select the file/folder, then hit Command+I (⌘I) and copy what's after `Where:`.
diff --git a/.docs/Scheduling-Windows.md b/.docs/Scheduling-Windows.md
index f8729c3d..37cb9bb3 100644
--- a/.docs/Scheduling-Windows.md
+++ b/.docs/Scheduling-Windows.md
@@ -33,9 +33,9 @@ exit
- `tokenhere` with your [Token](Token-and-IDs.md)
- `channelhere` with a [Channel ID](Token-and-IDs.md)
-- `exefolderhere` with the .exe **directory's path** (e.g. C:\Users\User\Desktop\DiscordChatExporter)
+- `exefolderhere` with the .exe **directory's path** (e.g., C:\Users\User\Desktop\DiscordChatExporter)
- `filenamehere` with a filename without spaces
-- `dirhere` with the export directory (e.g. C:\Users\User\Documents\Exports)
+- `dirhere` with the export directory (e.g., C:\Users\User\Documents\Exports)
- `formathere` with one of the available export formats
Make sure not to delete the quotes (")
diff --git a/.docs/Using-the-CLI.md b/.docs/Using-the-CLI.md
index 36de6c95..582fe5cd 100644
--- a/.docs/Using-the-CLI.md
+++ b/.docs/Using-the-CLI.md
@@ -77,7 +77,7 @@ format is `HtmlDark`.
#### Changing the output filename
-You can change the filename by using `-o name.ext`. e.g. for the `HTML` format:
+You can change the filename by using `-o name.ext`. e.g., for the `HTML` format:
```console
./DiscordChatExporter.Cli export -t "mfa.Ifrn" -c 53555 -o myserver.html
@@ -186,21 +186,21 @@ locales. The default locale is `en-US`.
#### Date ranges
**Messages sent before a date**
-Use `--before` to export messages sent before the provided date. E.g. messages sent before September 18th, 2019:
+Use `--before` to export messages sent before the provided date. e.g., messages sent before September 18th, 2019:
```console
./DiscordChatExporter.Cli export -t "mfa.Ifrn" -c 53555 --before 2019-09-18
```
**Messages sent after a date**
-Use `--after` to export messages sent after the provided date. E.g. messages sent after September 17th, 2019 11:34 PM:
+Use `--after` to export messages sent after the provided date. e.g., messages sent after September 17th, 2019 11:34 PM:
```console
./DiscordChatExporter.Cli export -t "mfa.Ifrn" -c 53555 --after "2019-09-17 23:34"
```
**Messages sent in a date range**
-Use `--before` and `--after` to export messages sent during the provided date range. E.g. messages sent between
+Use `--before` and `--after` to export messages sent during the provided date range. e.g., messages sent between
September 17th, 2019 11:34 PM and September 18th:
```console
diff --git a/.docs/Using-the-GUI.md b/.docs/Using-the-GUI.md
index a206b2fe..f034148b 100644
--- a/.docs/Using-the-GUI.md
+++ b/.docs/Using-the-GUI.md
@@ -12,7 +12,7 @@
After extracting the `.zip`, run `DiscordChatExporter.exe` **(Windows)**, or `DiscordChatExporter` **(Linux)**.
-If you're using **macOS**, you'll need to manually grant permission for the app to run.
+If you're using **macOS**, you'll need to manually grant permission for the app to run.
If you skip these steps, the "DiscordChatExporter is damaged and can’t be opened" error will be shown.
1. Open Terminal.app. You can search for it in Spotlight (press ⌘ + Space and type "Terminal").
@@ -56,10 +56,11 @@ In this screen you can customize the following:
- **Export format** - HTML (Dark), HTML (Light), TXT, CSV and JSON
- **Date range (after/before)** (Optional) - If set, only messages sent in the provided date range will be exported. Only one value (either after or before) is required if you want to use this option.
+
> **Note**:
> Please note that the time defaults to **12:00 AM** (midnight/00:00). This means that if you choose to export between Sep 17th and Sep 18th, messages from Sep 18th won't be exported.
-- **Partition limit** (Optional) - Split output into partitions, each limited to this number of messages (e.g. 100) or file size (e.g. 10mb). For example, a channel with 36 messages set to be partitioned every 10 messages will output 4 files.
+- **Partition limit** (Optional) - Split output into partitions, each limited to this number of messages (e.g., 100) or file size (e.g., 10mb). For example, a channel with 36 messages set to be partitioned every 10 messages will output 4 files.
- **Message Filter** (Optional) - Special notation for filtering the messages that get included in the export. See [Message filters](Message-filters.md) for more info.
@@ -77,29 +78,28 @@ In this screen you can customize the following:
## Settings
- **Auto-update** - Perform automatic updates on every launch.
-Default: Enabled
+ Default: Enabled
> **Note**:
> Keep this option enabled to receive the latest features and bug fixes!
- **Dark mode** - Use darker colors in the UI (User Interface).
-Default: Disabled
+ Default: Disabled
- **Persist token** - Persist last used token between sessions.
-Default: Enabled
+ Default: Enabled
- **Show threads** - Controls whether threads are shown in the channel list.
-Default: none
+ Default: none
- **Locale** - Customize how dates are formatted in the exported files.
- **Date format** - Customize how dates are formatted in the exported files in the settings menu ().
- **Parallel limit** - The number of channels that will be exported at the same time.
-Default: 1
+ Default: 1
> **Note**:
> Try to keep this number low so that your account doesn't get flagged.
- **Normalize to UTC** - Convert all dates to UTC before exporting.
-
diff --git a/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs b/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs
index b7546a41..3d2c417e 100644
--- a/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs
+++ b/DiscordChatExporter.Cli/Commands/Base/DiscordCommandBase.cs
@@ -30,7 +30,7 @@ public abstract class DiscordCommandBase : ICommand
[CommandOption(
"respect-rate-limits",
Description = "Whether to respect advisory rate limits. "
- + "If disabled, only hard rate limits (i.e. 429 responses) will be respected."
+ + "If disabled, only hard rate limits (i.e., 429 responses) will be respected."
)]
public bool ShouldRespectRateLimits { get; set; } = true;
diff --git a/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs b/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs
index 57b4ee49..f4a44d35 100644
--- a/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs
+++ b/DiscordChatExporter.Cli/Commands/Base/ExportCommandBase.cs
@@ -59,7 +59,7 @@ public abstract class ExportCommandBase : DiscordCommandBase
"partition",
'p',
Description = "Split the output into partitions, each limited to the specified "
- + "number of messages (e.g. '100') or file size (e.g. '10mb')."
+ + "number of messages (e.g., '100') or file size (e.g., '10mb')."
)]
public PartitionLimit PartitionLimit { get; set; } = PartitionLimit.Null;
diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs
index b9a29e83..50df5163 100644
--- a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs
+++ b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs
@@ -72,7 +72,7 @@ public partial record Embed
// Under the Discord API model, embeds can only have at most one image.
// Because of that, embeds that are rendered with multiple images on the client
- // (e.g. tweet embeds), are exposed from the API as multiple separate embeds.
+ // (e.g., tweet embeds), are exposed from the API as multiple separate embeds.
// Our embed model is consistent with the user-facing side of Discord, so images
// are stored as an array. The API will only ever return one image, but we deal
// with this by merging related embeds at the end of the message parsing process.
diff --git a/DiscordChatExporter.Core/Discord/Data/Emoji.cs b/DiscordChatExporter.Core/Discord/Data/Emoji.cs
index 1d8ae44a..fc75d952 100644
--- a/DiscordChatExporter.Core/Discord/Data/Emoji.cs
+++ b/DiscordChatExporter.Core/Discord/Data/Emoji.cs
@@ -10,14 +10,14 @@ namespace DiscordChatExporter.Core.Discord.Data;
public partial record Emoji(
// Only present on custom emoji
Snowflake? Id,
- // Name of a custom emoji (e.g. LUL) or actual representation of a standard emoji (e.g. 🙂)
+ // Name of a custom emoji (e.g., LUL) or actual representation of a standard emoji (e.g., 🙂)
string Name,
bool IsAnimated
)
{
public bool IsCustomEmoji { get; } = Id is not null;
- // Name of a custom emoji (e.g. LUL) or name of a standard emoji (e.g. slight_smile)
+ // Name of a custom emoji (e.g., LUL) or name of a standard emoji (e.g., slight_smile)
public string Code { get; } = Id is not null ? Name : EmojiIndex.TryGetCode(Name) ?? Name;
public string ImageUrl { get; } =
diff --git a/DiscordChatExporter.Core/Exporting/ExportRequest.cs b/DiscordChatExporter.Core/Exporting/ExportRequest.cs
index 1285b246..82468bd4 100644
--- a/DiscordChatExporter.Core/Exporting/ExportRequest.cs
+++ b/DiscordChatExporter.Core/Exporting/ExportRequest.cs
@@ -208,7 +208,7 @@ public partial class ExportRequest
// Determine whether the output path refers to a directory or a file.
// The extension-based heuristic is evaluated on the original, unsubstituted path,
- // because the value of a template token (e.g. a guild or channel name) may contain
+ // because the value of a template token (e.g., a guild or channel name) may contain
// a period that would otherwise be mistaken for a file extension, incorrectly causing
// a directory path to be treated as a file.
// https://github.com/Tyrrrz/DiscordChatExporter/issues/1502
diff --git a/DiscordChatExporter.Core/Markdown/EmojiNode.cs b/DiscordChatExporter.Core/Markdown/EmojiNode.cs
index 53bc0676..e75f6ebc 100644
--- a/DiscordChatExporter.Core/Markdown/EmojiNode.cs
+++ b/DiscordChatExporter.Core/Markdown/EmojiNode.cs
@@ -6,7 +6,7 @@ namespace DiscordChatExporter.Core.Markdown;
internal record EmojiNode(
// Only present on custom emoji
Snowflake? Id,
- // Name of a custom emoji (e.g. LUL) or actual representation of a standard emoji (e.g. 🙂)
+ // Name of a custom emoji (e.g., LUL) or actual representation of a standard emoji (e.g., 🙂)
string Name,
bool IsAnimated
) : MarkdownNode
@@ -20,7 +20,7 @@ internal record EmojiNode(
public bool IsCustomEmoji => _emoji.IsCustomEmoji;
- // Name of a custom emoji (e.g. LUL) or name of a standard emoji (e.g. slight_smile)
+ // Name of a custom emoji (e.g., LUL) or name of a standard emoji (e.g., slight_smile)
public string Code => _emoji.Code;
public string ImageUrl => _emoji.ImageUrl;
diff --git a/DiscordChatExporter.Core/Markdown/LinkNode.cs b/DiscordChatExporter.Core/Markdown/LinkNode.cs
index 47a5cd2c..066d688e 100644
--- a/DiscordChatExporter.Core/Markdown/LinkNode.cs
+++ b/DiscordChatExporter.Core/Markdown/LinkNode.cs
@@ -2,7 +2,7 @@ using System.Collections.Generic;
namespace DiscordChatExporter.Core.Markdown;
-// Named links can contain child nodes (e.g. [**bold URL**](https://test.com))
+// Named links can contain child nodes (e.g., [**bold URL**](https://test.com))
internal record LinkNode(string Url, IReadOnlyList Children)
: MarkdownNode,
IContainerNode
diff --git a/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs b/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs
index bdd74693..d6cac952 100644
--- a/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs
+++ b/DiscordChatExporter.Core/Markdown/Parsing/MarkdownParser.cs
@@ -209,7 +209,7 @@ internal static partial class MarkdownParser
new RegexMatcher(
new Regex(
// Build a pattern from all known emoji, sorted longest-first so that compound
- // emoji (e.g. sequences with ZWJ or skin-tone modifiers) are matched before
+ // emoji (e.g., sequences with ZWJ or skin-tone modifiers) are matched before
// their individual components.
"("
+ string.Join(
@@ -408,7 +408,7 @@ internal static partial class MarkdownParser
TimestampNodeMatcher
);
- // Minimal set of matchers for non-multimedia formats (e.g. plain text)
+ // Minimal set of matchers for non-multimedia formats (e.g., plain text)
private static readonly IMatcher MinimalNodeMatcher =
new AggregateMatcher(
// Mentions
diff --git a/DiscordChatExporter.Gui/Framework/DialogManager.cs b/DiscordChatExporter.Gui/Framework/DialogManager.cs
index b3a1714e..d31a219a 100644
--- a/DiscordChatExporter.Gui/Framework/DialogManager.cs
+++ b/DiscordChatExporter.Gui/Framework/DialogManager.cs
@@ -40,7 +40,7 @@ public class DialogManager : IDisposable
);
// Yield to allow DialogHost to fully reset its state before
- // another dialog is shown (e.g. when dialogs are shown sequentially).
+ // another dialog is shown (e.g., when dialogs are shown sequentially).
await Task.Yield();
return dialog.DialogResult;
diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs
index d85ea435..aa76b1ea 100644
--- a/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs
+++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs
@@ -58,7 +58,7 @@ public partial class LocalizationManager
""",
[nameof(RateLimitPreferenceLabel)] = "Rate limit preference",
[nameof(RateLimitPreferenceTooltip)] =
- "Whether to respect advisory rate limits. If disabled, only hard rate limits (i.e. 429 responses) will be respected.",
+ "Whether to respect advisory rate limits. If disabled, only hard rate limits (i.e., 429 responses) will be respected.",
[nameof(ShowThreadsLabel)] = "Show threads",
[nameof(ShowThreadsTooltip)] = "Which types of threads to show in the channel list",
[nameof(LocaleLabel)] = "Locale",
@@ -102,10 +102,10 @@ public partial class LocalizationManager
[nameof(BeforeTimeTooltip)] = "Only include messages sent before this time",
[nameof(PartitionLimitLabel)] = "Partition limit",
[nameof(PartitionLimitTooltip)] =
- "Split the output into partitions, each limited to the specified number of messages (e.g. '100') or file size (e.g. '10mb')",
+ "Split the output into partitions, each limited to the specified number of messages (e.g., '100') or file size (e.g., '10mb')",
[nameof(MessageFilterLabel)] = "Message filter",
[nameof(MessageFilterTooltip)] =
- "Only include messages that satisfy this filter (e.g. 'from:foo#1234' or 'has:image'). See the documentation for more info.",
+ "Only include messages that satisfy this filter (e.g., 'from:foo#1234' or 'has:image'). See the documentation for more info.",
[nameof(ReverseMessageOrderLabel)] = "Reverse messages",
[nameof(ReverseMessageOrderTooltip)] =
"Export messages in reverse chronological order (newest first)",
diff --git a/DiscordChatExporter.Gui/PublishMacOSBundle.csx b/DiscordChatExporter.Gui/PublishMacOSBundle.csx
index 46b0e426..38e834e9 100755
--- a/DiscordChatExporter.Gui/PublishMacOSBundle.csx
+++ b/DiscordChatExporter.Gui/PublishMacOSBundle.csx
@@ -21,10 +21,10 @@ public partial class PublishMacOSBundleCommand : ICommand
[CommandOption("icons-file", Description = "Path to the .icns icons file.")]
public required string IconsFilePath { get; set; }
- [CommandOption("full-version", Description = "Full version string (e.g. '1.2.3.4').")]
+ [CommandOption("full-version", Description = "Full version string (e.g., '1.2.3.4').")]
public required string FullVersion { get; set; }
- [CommandOption("short-version", Description = "Short version string (e.g. '1.2.3').")]
+ [CommandOption("short-version", Description = "Short version string (e.g., '1.2.3').")]
public required string ShortVersion { get; set; }
public async ValueTask ExecuteAsync(IConsole console)