# Discord Chat Exporter

## URL

<https://github.com/Tyrrrz/DiscordChatExporter>

## Description

**DiscordChatExporter** is an open-source tool designed to export chats as HTML, CSV, JSON or Plain Text. It can be used for archiving and offline analysis of conversations in an investigation context.

It comes as a command-line interface or a graphical interface and allows users to export messages from various sources: Discord's direct messages, group chats, servers' channels and threads.

<figure><img src="/files/ci3STjhx9gAdnAWLt3od" alt=""><figcaption><p>The GUI allows you to list and select the threads to export (We use this example to show you how the tool works. It is not allowed to archive Bellingcat's Discord).</p></figcaption></figure>

<figure><img src="/files/eRr7WvTq6ElqUXi0hjiI" alt=""><figcaption><p>The CLI is more configurable but needs familiarity with command-line tools</p></figcaption></figure>

Some features include:

* Filtering Options: by date ranges, keywords, user or message type (only export pinned messages for example)
* Selecting multiple threads to export at once
* Support for Markdown, reactions and attachments
* The CLI version can be used to schedule exports

<div align="left"><figure><img src="/files/ZhECpkkmJwEM91SqFEqc" alt=""><figcaption><p>Exporting comes up with various options ((We use this example to show you how the tool works. It is not allowed to archive Bellingcat's Discord).</p></figcaption></figure></div>

## Cost

* [x] Free
* [ ] Partially Free
* [ ] Paid

The tool is free and open-source.

## Level of difficulty

<table><thead><tr><th data-type="rating" data-max="5"></th></tr></thead><tbody><tr><td>3</td></tr></tbody></table>

GUI is beginner-friendly. CLI requires command-line familiarity. Both versions need a Discord Account and an API Token.

## Requirements

**Platform support:** Windows, Linux, MacOS. Also available as a Docker Image.

**Discord Account Token**:

* **Personal Token**: Obtained from browser developer tools.
* **Bot Token**: Obtainable from the [Discord Developer Portal](https://discord.com/developers/docs/intro) with message content intent enabled.

## Limitations

* **Access Limitations**: Only exports content accessible by the logged-in account or authorized bot.
* **Terms of Service Compliance** (**Important):** Automating personal accounts is against Discord's [Terms of Service ](https://discord.com/terms)and may result in account termination. Carefully consider ethical and legal questions before you decide to use the tool.
* **Bot Tokens limitations:** The use of bots requires some knowledge on the Discord Developer API. It can limit the tool's functionality to servers.
* **Unavailable features:** Exporting a forum thread is currently not implemented in the GUI version.

## Ethical Considerations

* Consider consulting your organization’s legal team to discuss Discord's [Terms of Service](https://discord.com/terms) and other legal and ethical questions before using this tool.
* Only export chats you have permission to access; unauthorized exporting may violate privacy laws.
* Consider anonymizing data if used for public work.

## Guides and articles

* [Official Documentation on Github](https://github.com/Tyrrrz/DiscordChatExporter/tree/master/.docs)
* ["Mobile Forensic Analysis of Discord Services Cyberbullying Case using National Institute of Justice Method"](https://www.ijcaonline.org/archives/volume186/number35/putri-2024-ijca-923927.pdf)*by Hafizhah Dyanty Putri and Imam Riadi on International Journal of Computer Applications (0975 – 8887) Volume 186 – No.35, August 2024*

## Tool provider

Oleksii Holub ([Tyrrrz](https://github.com/Tyrrrz) on GitHub) is an open-source software developer from Ukraine.

## Advertising Trackers

* [ ] This tool has not been checked for advertising trackers yet.
* [ ] This tool uses tracking cookies. Use with caution.
* [x] This tool does not appear to use tracking cookies.

| Page maintainer           |
| ------------------------- |
| Bellingcat Volunteer Team |
|                           |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bellingcat.gitbook.io/toolkit/more/all-tools/discord-chat-exporter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
