Discord Bridge #

Based on mautrix-discord. Bridges Discord servers (a.k.a. "guilds") as Matrix spaces, channels as rooms, with full puppeting so messages you send from Matrix appear natively in Discord.

Prerequisites #

  • Meldry plan: Pro or Business
  • A Discord account
  • Your Discord token (more below) — or a bot token if you want relay mode for your Matrix users to post to a Discord server via a shared bot identity

⚠️ Heads up. Using a personal Discord token is against the Discord ToS. Discord has never enforced this against Matrix bridges, but the risk is yours to accept. For production use on corporate Discord servers, use the bot-token path instead.

Enable the bridge #

  1. Dashboard → Server → Bridges → Discord → Enable.
  2. Wait ~10 seconds. The bot appears at @discordbot:<your-name>.meldry.com.

Option A — User token (puppeting mode) #

  1. In Discord web or desktop, open DevTools → Network tab.
  2. Send any message in any channel. Find a request to https://discord.com/api/....
  3. Copy the Authorization: header value (no prefix — just the token).
  4. DM @discordbot:<your-name>.meldry.com:
    login-token user <your-token>
    
  5. The bot confirms Logged in as YourDiscordHandle#1234. Your servers start bridging.

Option B — Bot token (relay mode) #

  1. Visit https://discord.com/developers/applicationsNew ApplicationBotAdd Bot.
  2. Copy the bot token.
  3. Invite the bot to your Discord server with the Send Messages and Read Message History scopes.
  4. DM the bridge bot: login-token bot <your-bot-token>
  5. The bot will only bridge servers it's been explicitly invited to.

Bot mode is safer (Discord ToS compliant) but loses per-user puppeting — all Matrix users appear as the bot on the Discord side.

What gets bridged #

  • Guilds (servers) → Matrix spaces
  • Text channels → Matrix rooms
  • DMs and group DMs → Matrix DM rooms (user-token mode only)
  • Threads → Matrix threads
  • Voice channels → not bridged (voice/video not supported)
  • Emoji, reactions, custom emoji → synced with auto-uploaded custom emoji assets
  • File uploads, embeds, stickers → rendered as Matrix media with preview
  • Edits and deletes → bidirectional

Commands reference #

CommandWhat it does
login-token user <token>Log in with a personal Discord token
login-token bot <token>Log in with a bot token
logoutUnlink
guildsList joined servers
bridge <guild-id>Manually bridge one server
unbridge <guild-id>Stop bridging one server
helpFull command list

Troubleshooting #

"Token invalid" — Discord tokens expire when you log out of the browser, and when you change your password. Grab a new one.

Bot user can't see channels — In Discord, make sure the bot role has View Channel permission on each channel you want bridged.

Emoji and stickers not showing — Custom emoji require the bridge to have upload permission on your homeserver. This is enabled by default on Meldry; no action needed.

"Account flagged" — Discord sometimes flags accounts that log in from unusual IPs. If this happens, verify via the Discord email they send you. The bridge does not bypass verification.

Limitations #

  • No voice/video. Discord's voice protocol is proprietary.
  • No stage channels (Discord's audio-first feature).
  • Nitro features only if your linked account has Nitro.
  • Server boosts are visible but not bridged as events.

What's next #