Skip to main content

Discord Bridge

Setup

First, you need to register a Discord application for your bridge. Discord applications can be registered and managed in the Discord Developer Portal.

  1. Click on the New Application button in the upper right corner.
  2. Give it a name (visible when authorizing the bridge), read Discord's Terms and click Create.
  3. Note the Client ID. It's required for the bridge.
  4. Navigate to the Bot tab. The navigation can be found on the left.
  5. Click Add Bot. You may also need to click Yes, do it! to confirm your action.
  6. Note the Bot Token. It's required for the bridge.

Authorize your account

Before authorizing your Discord App, you first need to grant your account the following rights:

  1. Manage Weebhooks
  2. Manage Server

Screenshot 2022-10-17 at 07.45.19.png

Connect Discord server(s)

You need to authorize your Discord App to each Discord server you wish to bridge. Give the following URL to a Discord server admin, if you aren't the Discord server admin.

The authorization URL is https://discordapp.com/api/oauth2/authorize?client_id=YOUR_CLIENT_ID&scope=bot&permissions=607250432. Replace YOUR_CLIENT_ID with your Client ID mentioned above.

Usage

Bridge a room

  1. In a web browser, navigate to the Discord room you wish to bridge. The URL includes the server ID (also called guild ID) and the channel ID. The URL format is https://discord.com/channels/GUILD_ID/CHANNEL_ID.
    Discord showing Channel ID in URL bar
  2. In a Matrix room you want to bridge, invite @discord:example.ems.host (replace the domain with the one of your homeserver).
  3. Post the message !discord bridge GUILD_ID CHANNEL_ID after replacing the two placeholders.
    Element showing the Discord bridge command
  4. A privileged Discord user will need to approve the bridge request by responding with !matrix approve
    Discord message showing the approve command
  5. Messages from Discord are now bridged to Matrix and vice versa.
    Element showing a message bridges from Discord

Unbridge

To unbridge a room post !discord unbridge in the Matrix room.

Private Chats

Currently, private chats are not supported by the EMS Discord bridge.