# DiscordChatExporter [![Made in Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://vshymanskyy.github.io/StandWithUkraine) [![Build](https://img.shields.io/github/workflow/status/Tyrrrz/DiscordChatExporter/main/master)](https://github.com/Tyrrrz/DiscordChatExporter/actions) [![Coverage](https://img.shields.io/codecov/c/github/Tyrrrz/DiscordChatExporter/master)](https://codecov.io/gh/Tyrrrz/DiscordChatExporter) [![Release](https://img.shields.io/github/release/Tyrrrz/DiscordChatExporter.svg)](https://github.com/Tyrrrz/DiscordChatExporter/releases) [![Downloads](https://img.shields.io/github/downloads/Tyrrrz/DiscordChatExporter/total.svg)](https://github.com/Tyrrrz/DiscordChatExporter/releases) [![Discord](https://img.shields.io/discord/869237470565392384?label=discord)](https://discord.gg/2SUWKFnHSm) [![Donate](https://img.shields.io/badge/donate-$$$-8a2be2.svg)](https://tyrrrz.me/donate) [![Fuck Russia](https://img.shields.io/badge/fuck-russia-e4181c.svg?labelColor=000000)](https://twitter.com/tyrrrz/status/1495972128977571848) > 🟒 **Project status**: active[[?]](https://github.com/Tyrrrz/.github/blob/master/docs/project-status.md) **DiscordChatExporter** can be used to export message history from a [Discord](https://discord.com) channel to a file. It works with direct messages, group messages, and server channels, and supports Discord's dialect of markdown as well as all other rich media features. > ❔ If you have questions or issues, **please refer to the [wiki](https://github.com/Tyrrrz/DiscordChatExporter/wiki)**. > πŸ’¬ If you want to chat, **join my [Discord server](https://discord.gg/2SUWKFnHSm)**. ## Terms of use[[?]](https://github.com/Tyrrrz/.github/blob/master/docs/why-so-political.md) By using this project or its source code, for any purpose and in any shape or form, you grant your **implicit agreement** to all the following statements: - You **condemn Russia and its military aggression against Ukraine** - You **recognize that Russia is an occupant that unlawfully invaded a sovereign state** - You **support Ukraine's territorial integrity, including its claims over temporarily occupied territories of Crimea and Donbas** - You **reject false narratives perpetuated by Russian state propaganda** To learn more about the war and how you can help, [click here](https://tyrrrz.me). Glory to Ukraine! πŸ‡ΊπŸ‡¦ ## Download This application comes in two flavors: graphical user interface (**GUI**) and command line interface (**CLI**). The following table lists all available download options:
Downloads Supported OS
GUI
  • Windows 7 or higher
CLI
  • 🟒 Stable release (DiscordChatExporter.CLI.zip
  • 🟠 CI build (DiscordChatExporter.CLI.zip)
  • πŸ‹ Docker (tyrrrz/discordchatexporter)
  • πŸ“¦ AUR (discord-chat-exporter-cli)
  • Windows 7 or higher
  • macOS 10.13 (High Sierra) or higher
  • Linux (multiple distros)
> **Note**: > **DiscordChatExporter**'s AUR package is maintained by the community. > **Warning**: > To run **DiscordChatExporter** on macOS or Linux, you will need to additionally install **.NET Runtime v6**: > - [.NET Runtime v6 for **macOS x64**](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-6.0.6-macos-x64-installer) > - [.NET Runtime v6 for **macOS Arm64**](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-6.0.6-macos-arm64-installer) > - [.NET Runtime v6 for **Linux**](https://docs.microsoft.com/en-us/dotnet/core/install/linux) (find the correct download for your distro) > > This is not required if you installed **DiscordChatExporter** using a package manager, or if you plan to run **DiscordChatExporter** via Docker. ## Features - Graphical user interface (Windows) - Command line interface (Windows, Linux, macOS) - Authentication via both user and bot tokens - Multiple output formats: HTML (dark/light), TXT, CSV, JSON - Support for markdown, attachments, embeds, emoji, and other rich media features - File partitioning, date ranges, message filtering, and other export options - Self-contained exports that don't require internet ## Screenshots ![channel list](.assets/list.png) ![rendered output](.assets/output.png)