diff --git a/GUI,-CLI-and-Formats-explained.md b/GUI,-CLI-and-Formats-explained.md
index cf669bf..7c2767d 100644
--- a/GUI,-CLI-and-Formats-explained.md
+++ b/GUI,-CLI-and-Formats-explained.md
@@ -1,11 +1,11 @@
# Getting started
-Welcome to the getting started page!
-Here you'll learn how to use every **DiscordChatExporter** (DCE for short) feature.
+Welcome to the getting started page!
+Here you'll learn how to use every **DiscordChatExporter** (DCE for short) feature.
For other things you can do with DCE, check out the [Guides](https://github.com/Tyrrrz/DiscordChatExporter/wiki#guides) section.
-If you still have unanswered questions after reading this page or if you have encountered a problem, please check our [FAQ & Troubleshooting](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Troubleshooting) section.
+If you still have unanswered questions after reading this page or if you have encountered a problem, please visit our [FAQ & Troubleshooting](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Troubleshooting) section.
> The information presented in this page is valid for **all** platforms.
@@ -22,15 +22,15 @@ If you still have unanswered questions after reading this page or if you have en
# GUI or CLI? ↴
-
+
**DCE** has two different versions:
-* **Graphical User Interface** (**GUI**) - it's the preferred version for newcomers as it provides ease of use.
-You can get it by [downloading](https://github.com/Tyrrrz/DiscordChatExporter/releases/latest) the `DiscordChatExporter.zip` file.
-* **Command Line Interface** (**CLI**) - offers greater flexibility and more features for advanced users, such as export scheduling, ID lists, and more specific date ranges.
+* **Graphical User Interface** (**GUI**) - it's the preferred version for newcomers as it provides ease of use.
+You can get it by [downloading](https://github.com/Tyrrrz/DiscordChatExporter/releases/latest) the `DiscordChatExporter.zip` file.
+* **Command Line Interface** (**CLI**) - offers greater flexibility and more features for advanced users, such as export scheduling, ID lists, and more specific date ranges.
You can get it by [downloading](https://github.com/Tyrrrz/DiscordChatExporter/releases/latest) the `DiscordChatExporter.CLI.zip` file.
-If you're not comfortable with **Windows'** Command Line (cmd), please choose the GUI.
-[**macOS**](https://github.com/Tyrrrz/DiscordChatExporter/wiki/macOS-usage-instructions), [**Linux**](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Linux-usage-instructions) and [**Docker**](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Docker-usage-instructions) users can only use the CLI version.
+If you're not comfortable with **Windows'** Command Line (cmd), please choose the GUI.
+[**macOS**](https://github.com/Tyrrrz/DiscordChatExporter/wiki/macOS-usage-instructions), [**Linux**](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Linux-usage-instructions) and [**Docker**](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Docker-usage-instructions) users can only use the CLI version.
**(Skip to [Using the CLI](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#using-the-cli-) or [File Formats](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#file-formats-))**
# Using the GUI ↴
@@ -43,36 +43,43 @@ Special thanks to [TroubleChute](https://www.youtube.com/channel/UCkih2oVTbXPEpV
### Text Guide ↴
**1.** After extracting the `.zip`, open `DiscordChatExporter.exe`
-**2.** Please refer to the on-screen instructions to get your token, then paste your token in the upper text box and hit ENTER or click the arrow (→).
+**2.** Please refer to the on-screen instructions to get your token, then paste your token in the upper text box and hit ENTER or click the arrow (→).
**NEVER SHARE YOUR TOKEN**. A token gives full access to an account, treat it like a password.
-
+
-**3.** DCE will display your Direct Messages and a sidebar with your server list. Select the channel you would like to export, then click the  button to continue.
-> 💡 Tip: You can export multiple channels at once by holding `CTRL` or `SHIFT` while selecting.
-> Double-click a channel to export it without needing to click the  button.
+**3.** DCE will display your Direct Messages and a sidebar with your server list. Select the channel you would like to export, then click the  button to continue.
+> 💡 Tip: You can export multiple channels at once by holding `CTRL` or `SHIFT` while selecting.
+> You can also double-click a channel to export it without clicking the  button.
-
+
**4.** In this screen you can customize the following:
* **Export format** - HTML (Dark), HTML (Light), TXT, CSV and JSON
-* **Date range (from/to)** (Optional) - Only exports messages sent in the provided date range. Only one value (from/to) is required if you want to use this option.
- > Please notice 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 the 18th won't be exported.
+
+Click the menu button (
) to see more options:
+
+* **Date range (from/to)** (Optional) - If set, only messages sent in the provided date range will be exported. Only one value (either from or to) is required if you want to use this option.
+ > 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 the 18th won't be exported.
* **Partitioning** (Optional) - Splits files after a given number of messages. For example, a channel with 36 messages set to be partitioned every 10 messages will output 4 files.
+* **Download media** (Optional) - If this option is set, the export will include additional files such as user avatars, attached files, images, etc.
+Only files which are referenced by the export are downloaded, which means that, for example, user avatars will not be downloaded when using the plain text (TXT) export format.
+A folder containing the media will be created among the exported chat. They must be kept together.
**5.** Click `EXPORT` to export.
-
+
-**Date formats**
-You can customize how dates are formatted in the exported files in the settings menu ().
-* The default one is `17-Sep-19 11:34 PM` - `dd-MMM-yy hh:mm tt`
-* To change it to `09-17-19 11:34 PM` use `MM-dd-yy hh:mm tt`
-* To change it to `17-09-2019 23:34` use `dd-MM-yyyy HH:mm`
-* To change it to `2019-09-17 23:34:05.6534` use `yyyy-MM-dd HH:mm:ss.ffff`
-* To change it to UTC `2019-09-18 04:34:05Z` use `u`
-* To display the time zone, add `K`. E.g. to change it to `17-Sep-19 11:34 PM (UTC-05:00)` use `dd-MMM-yy hh:mm tt (UTCK)`
+
+**Date formats**
+You can customize how dates are formatted in the exported files in the settings menu ().
+* The default one is `17-Sep-19 11:34 PM` - `dd-MMM-yy hh:mm tt`
+* To change it to `09-17-19 11:34 PM` use `MM-dd-yy hh:mm tt`
+* To change it to `17-09-2019 23:34` use `dd-MM-yyyy HH:mm`
+* To change it to `2019-09-17 23:34:05.6534` use `yyyy-MM-dd HH:mm:ss.ffff`
+* To change it to UTC `2019-09-18 04:34:05Z` use `u`
+* To display the time zone, add `K`. E.g. to change it to `17-Sep-19 11:34 PM (UTC-05:00)` use `dd-MMM-yy hh:mm tt (UTCK)`
More info about .NET date formats [here](https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings).
@@ -80,24 +87,24 @@ More info about .NET date formats [here](https://docs.microsoft.com/en-us/dotnet
**(Skip to [File Formats](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#file-formats-))**
# Using the CLI ↴
-> Make sure you have [.NET Core installed](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Install-.NET-Core-runtime) before attempting to run the commands bellow.
+> Make sure you have [.NET Core installed](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Install-.NET-Core-runtime) before attempting to run the commands bellow.
**Docker** users, please refer to the [Docker usage instructions](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Docker-usage-instructions).
**1.** After extracting the `.zip`, open Command Prompt, aka `cmd` (`Terminal` on **macOS** and **Linux**).
**2.** Change the current directory to DCE's folder with `cd C:\path\to\directory`, then press ENTER to run the command.
-
-**Windows** users can quickly get the directory's path by clicking the address bar while inside the folder.
-
-**macOS** users can select the `.exe`, hit Command+I (⌘I) and copy what's after `Where:` to get the directory
-
-You can also drag and drop the folder on **every platform**.
+
+**Windows** users can quickly get the directory's path by clicking the address bar while inside the folder.
+
+**macOS** users can select the `.exe`, hit Command+I (⌘I) and copy what's after `Where:` to get the directory
+
+You can also drag and drop the folder on **every platform**.

-**3.** Now we're ready to run the commands, but please notice that the commands differ depending on your platform. The examples in this page follow the Windows format.
+**3.** Now we're ready to run the commands, but please note that the commands differ depending on your platform. The examples in this page follow the Windows format.
Non-Windows users will need to change the examples according to what is described below.
-Let's run the following to list DCE's options:
+Let's do the following to list DCE's options:
**Windows:** Type the following in Command Prompt, then press ENTER to run it:
```powershell
@@ -141,6 +148,7 @@ DiscordChatExporter.Cli.exe command -h
||[-f](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#changing-the-format-) | [Output file format](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#file-formats-)
||[-o](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#changing-the-output-filename-) | Output file or directory path
||[-p](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#partitioning-) | Split output into partitions limited to this number of messages
+||[--media](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#Downloading-media-) | Download referenced media content
||[--dateformat](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-formats-) | Date format used in output
||[--after](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-ranges-)| Limit to messages sent after this date
||[--before](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-ranges-) | Limit to messages sent before this date
@@ -174,33 +182,43 @@ DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 -o myserver
```
### Changing the output directory ↴
-You can change the export directory by using `-o`
+You can change the export directory by using `-o`
If any of the folders has a space in its name, add quotes (")
```powershell
DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 -o "C:\Discord Exports"
```
### Changing the filename and output directory ↴
-You can change both the filename and export directory by using `-o directory\name`
+You can change both the filename and export directory by using `-o directory\name`
If any of the folders has a space in its name, add quotes (")
```powershell
DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 -o "C:\Discord Exports\myserver"
```
### Partitioning ↴
-You can use partitioning to split files after a given number of messages
+You can use partitioning to split files after a given number of messages
For example, a channel with 36 messages set to be partitioned every 10 messages will output 4 files
```powershell
DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 -p 10
```
+
+### Downloading media ↴
+If this option is set, the export will include additional files such as user avatars, attached files, images, etc.
+Only files which are referenced by the export are downloaded, which means that, for example, user avatars will not be downloaded when using the plain text (TXT) export format.
+A folder containing the media will be created among the exported chat. They must be kept together.
+
+```powershell
+DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 --media
+```
+
### Date formats ↴
-This setting changes how dates are formatted in the exported files.
-* The default one is `17-Sep-19 11:34 PM` - `dd-MMM-yy hh:mm tt`
-* To change it to `09-17-19 11:34 PM` use `MM-dd-yy hh:mm tt`
-* To change it to `17-09-2019 23:34` use `dd-MM-yyyy HH:mm`
-* To change it to `2019-09-17 23:34:05.6534` use `yyyy-MM-dd HH:mm:ss.ffff`
-* To change it to UTC `2019-09-18 04:34:05Z` use `u`
-* To display the time zone, add `K`. E.g. to change it to `17-Sep-19 11:34 PM (UTC-05:00)` use `dd-MMM-yy hh:mm tt (UTCK)`
+This setting changes how dates are formatted in the exported files.
+* The default one is `17-Sep-19 11:34 PM` - `dd-MMM-yy hh:mm tt`
+* To change it to `09-17-19 11:34 PM` use `MM-dd-yy hh:mm tt`
+* To change it to `17-09-2019 23:34` use `dd-MM-yyyy HH:mm`
+* To change it to `2019-09-17 23:34:05.6534` use `yyyy-MM-dd HH:mm:ss.ffff`
+* To change it to UTC `2019-09-18 04:34:05Z` use `u`
+* To display the time zone, add `K`. E.g. to change it to `17-Sep-19 11:34 PM (UTC-05:00)` use `dd-MMM-yy hh:mm tt (UTCK)`
More info about .NET date formats [here](https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings).
@@ -210,24 +228,24 @@ DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 --dateformat "yyyy-MM-
```
### Date ranges ↴
-**Messages sent before a date**
+**Messages sent before a date**
Use `--before` to export messages sent before the provided date. E.g. messages sent before September 18th 2019:
```powershell
DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 --before 2019-09-18
```
-**Messages sent after a date**
+**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:
```powershell
DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 --after "2019-09-17 23:34"
```
-**Messages sent in a date range**
+**Messages sent in a date range**
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:
```powershell
DiscordChatExporter.Cli.exe export -t "mfa.Ifrn" -c 53555 --after "2019-09-17 23:34" --before "2019-09-18"
```
-You can try different formats like `17-SEP-2019 11:34 PM` or even refine your ranges down to milliseconds `17-SEP-2019 23:45:30.6170`!
-Don't forget to quote (") the date if it has spaces!
+You can try different formats like `17-SEP-2019 11:34 PM` or even refine your ranges down to milliseconds `17-SEP-2019 23:45:30.6170`!
+Don't forget to quote (") the date if it has spaces!
More info about .NET date formats [here](https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings).
@@ -239,11 +257,12 @@ More info about .NET date formats [here](https://docs.microsoft.com/en-us/dotnet
||[-f](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#changing-the-format-) | [Output file format](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#file-formats-)
||[-o](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#changing-the-output-filename-) | Output file or directory path
||[-p](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#partitioning-) | Split output into partitions limited to this number of messages
+||[--media](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#Downloading-media-) | Download referenced media content
||[--dateformat](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-formats-) | Date format used in output
||[--after](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-ranges-) | Limit to messages sent after this date
||[--before](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-ranges-) | Limit to messages sent before this date
-> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
+> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
This command exports all your Direct Messages.
@@ -257,11 +276,12 @@ This command exports all your Direct Messages.
||[-f](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#changing-the-format-) | [Output file format](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#file-formats-)
||[-o](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#changing-the-output-filename-) | Output file or directory path
||[-p](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#partitioning-) | Split output into partitions limited to this number of messages
+||[--media](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#Downloading-media-) | Download referenced media content
||[--dateformat](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-formats-) | Date format used in output
||[--after](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-ranges-) | Limit to messages sent after this date
||[--before](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#date-ranges-) | Limit to messages sent before this date
-> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
+> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
This command exports all channels of a Server.
@@ -272,10 +292,10 @@ This command exports all channels of a Server.
||[-b](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#using-a-bot-token-) | Whether this authorization token belongs to a bot
**\***|-g| [Server ID](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Obtaining-Token-and-Channel-IDs#how-to-get-guild-id-or-guild-channel-id)
-> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
+> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
-This command outputs the server channels in the following format:
-`Channel ID | Channel Name`
+This command outputs the server channels in the following format:
+`Channel ID | Channel Name`
To save the output to a file, run the command below. If the file already exists, it will be overwritten.
```powershell
DiscordChatExporter.exe channels -t "mfa.Ifrn" -g 21814 > C:\path\to\output.txt
@@ -287,9 +307,9 @@ DiscordChatExporter.exe channels -t "mfa.Ifrn" -g 21814 > C:\path\to\output.txt
**\***|[-t](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#basic-usage-) | [Authorization token](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Obtaining-Token-and-Channel-IDs#how-to-get-user-token)
||[-b](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#using-a-bot-token-) | Whether this authorization token belongs to a bot
-> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
+> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
-This command outputs the list of Direct Messages.
+This command outputs the list of Direct Messages.
To save the output to a file, run the command with `> C:\path\…` like the in example below. If the file already exists, it will be overwritten.
```powershell
DiscordChatExporter.exe dm -t "mfa.Ifrn" > C:\path\to\output.txt
@@ -302,9 +322,9 @@ DiscordChatExporter.exe dm -t "mfa.Ifrn" > C:\path\to\output.txt
**\***|[-t](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#basic-usage-) | [Authorization token](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Obtaining-Token-and-Channel-IDs#how-to-get-user-token)
||[-b](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#using-a-bot-token-) | Whether this authorization token belongs to a bot
-> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
+> Options with an asterisk (**\***) are required. The order of the options doesn't matter.
-This command outputs a list of your Server List.
+This command outputs a list of your Server List.
To save the output to a file, run the command with `> C:\path\…` like the in example below. If the file already exists, it will be overwritten.
```powershell
DiscordChatExporter.exe guilds -t "mfa.Ifrn" > C:\path\to\output.txt
@@ -318,37 +338,36 @@ This command explains [how to get your token, guild, and channel IDs](https://gi
## HTML ↴

-The HTML format replicates Discord's interface, making it the most user-friendly option.
-It's the best format for attachment preview and sharing.
-You can open `.html` files with a web browser, such as Google Chrome.
-> Please notice that if a picture is deleted, or if a user changes its avatar, the respective images will no longer be displayed.
-[Save the file for offline viewing to avoid this problem](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Storing-HTML-locally)!
-
+The HTML format replicates Discord's interface, making it the most user-friendly option.
+It's the best format for attachment preview and sharing.
+You can open `.html` files with a web browser, such as Google Chrome.
+> Please note that if a picture is deleted, or if a user changes its avatar, the respective images will no longer be displayed.
+Export using the "Download referenced media content" (`--media`) option to avoid this.
## Plain Text ↴
-The Plain Text format is the best option for archiving due to its small size.
-You can open `.txt` files with text editors, such as Notepad.
+The Plain Text format is the best option for archiving due to its small size.
+You can open `.txt` files with a text editor, such as Notepad.
## JSON ↴
-The JSON format contains more technical information and is easily parsable.
-You can open `.json` files with text editors, such as Notepad.
+The JSON format contains more technical information and is easily parsable.
+You can open `.json` files with a text editor, such as Notepad.
## CSV ↴


-The CSV format allows for easy parsing of the chat log. Depending on your needs, the JSON format might be better.
-You can open `.csv` files with text editors, such as Notepad, or spreadsheet programs, like Microsoft Excel and Google Sheets.
+The CSV format allows for easy parsing of the chat log. Depending on your needs, the JSON format might be better.
+You can open `.csv` files with a text editor, such as Notepad, or a spreadsheet program, like Microsoft Excel or Google Sheets.
**([Back to top](https://github.com/Tyrrrz/DiscordChatExporter/wiki/GUI%2C-CLI-and-Formats-explained#getting-started))**
#
-Further reading: [Storing HTML files locally for offline viewing](https://github.com/Tyrrrz/DiscordChatExporter/wiki/Storing-HTML-locally), [.NET date formats](https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings)
+Further reading: [.NET date formats](https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings)
Special thanks to [@Yudi](https://github.com/Yudi)
\ No newline at end of file