Skip to content

Repository files navigation

Discord Conduit

CI License: MIT Latest Release

A cross-platform desktop application that migrates Discord messages between channels and threads while preserving the original poster's identity.

Getting started? See the Setup Guide for step-by-step instructions on creating a bot, configuring permissions, and running your first migration.

What it does

Discord Conduit re-posts messages from a source channel or thread to a destination channel or thread via webhooks using the original author's username and avatar, so migrated messages keep the original poster's identity. Attachments are re-uploaded (not linked), and reactions are preserved.

Features

  • Bot profile management — securely store multiple bot tokens in your OS credential store
  • Channel browser — browse guilds, channels, and threads with side-by-side source/destination selection
  • Migration preview — see message counts, attachment sizes, oversized file warnings, and permission checks before starting
  • Message migration — re-post messages via webhook with original author identity preserved
  • Undo a move — the bot move flow offers an Undo button that removes the copies it just posted, leaving the originals untouched
  • Attachment re-upload — download and re-upload files (Discord CDN links expire)
  • Reaction migration — best-effort reaction preservation (added as bot, not original users)
  • Pin preservation — messages pinned in the source are re-pinned in the destination
  • Poll migration — polls are re-created (question and answers; votes restart)
  • Sticker fallback — PNG/APNG/GIF stickers are re-posted as images (webhooks can't send stickers)
  • Original timestamps — optionally append each message's original send time
  • Forum tag mapping — moving a forum post to another forum carries its tags across (matched by name)
  • Message filtering — migrate a subset by author, date range, keyword, attachments-only, or excluding bots
  • Reply references — reply chains include a snippet of the referenced message
  • Resumable migrations — state persisted after each message, resume interrupted migrations
  • Dry-run mode — validate the entire pipeline without posting
  • Channel export — archive a channel to HTML, JSON, CSV, or plain text (read-only, with the same filters)
  • Channel & category cloning — create the destination channel(s) and migrate in one step
  • Cross-server — migrate or clone between different servers (the bot must be in both)
  • Progress tracking — live progress bar, ETA, pause/resume, cancel
  • CLI companion — run migrations from the command line

Requirements

  • .NET 10 SDK (for building from source)
  • A Discord bot token (see Setup Guide for how to create one)

Required Bot Permissions

The bot needs these permissions in both the source and destination channels:

Permission Required for
View Channels Browsing available channels and threads
Read Message History Reading messages from the source channel
Send Messages Posting migrated messages to the destination
Manage Webhooks Creating webhooks to preserve author identity
Add Reactions Re-adding reactions to migrated messages

OAuth2 Scopes: bot, applications.commands

Installation

Download a Release

Download the latest build for your platform from GitHub Releases.

Build from Source

git clone https://github.com/DustBowl-Games/Discord-Conduit.git
cd Discord-Conduit
dotnet restore
dotnet build
dotnet run --project src/DustBowlGames.DiscordConduit.App

For detailed setup instructions including bot creation, CLI usage, and troubleshooting, see the Setup Guide.

Running as a bot service (Docker)

The CLI can run the bot long-lived (discordconduit bot start) to serve the slash and context-menu commands. For running it as a container or deploying to Kubernetes via Helm, see the Deployment Guide.

License

MIT License. See LICENSE.


Maintained by DustBowl Games.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages