/DiscordChatExporter

Exports Discord chat logs to a file

Primary LanguageC#OtherNOASSERTION

DiscordChatExporter

Build Coverage Release Downloads Discord Donate

Project status: active.

DiscordChatExporter can be used to export message history from a Discord 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.

💬 If you want to chat, join my Discord server.

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)

Features

  • Graphical user interface (Windows)
  • Command line interface (Windows, Linux, macOS)
  • Support for both user and bot tokens
  • Support for Discord's dialect of markdown
  • Support for Discord's message filter syntax
  • Support for attachments, embeds, emoji, and other rich media features
  • Multiple output formats: HTML (dark/light), TXT, CSV, JSON
  • File partitioning, date ranges, and other export options
  • Exports messages on the fly without buffering in-memory

Screenshots

channel list rendered output

Building the project locally

Prerequisites:

To build the entire solution run the following command in the root of the repository:

> dotnet build

This will generate runtime artifacts for each project:

./DiscordChatExporter.Gui/bin/[Debug|Release]/[runtime]/*
./DiscordChatExporter.Cli/bin/[Debug|Release]/[runtime]/*

You can also build and run a specific project directly. To do that, navigate to its directory and use dotnet run:

> cd DiscordChatExporter.Gui
> dotnet run