A bridge between Matrix and Discord. Currently the bridge is alpha quality, but is usable.
PRs are graciously accepted, so please come talk to us in #discord-bridge:matrix.org
about any neat ideas you might have. If you are going to make a change, please merge it with the develop
branch :).
You can also file bug reports/ feature requests on Github Issues which also helps a ton. Please remember to include logs. Please also be aware that this is an unoffical project worked on in my (Half-Shot) spare time.
(These instructions were tested against Node.js v6.9.5 and the Synapse homeserver)
- Run
npm install
to grab the dependencies. - Run
npm build
to build the typescript. - Copy
config/config.sample.yaml
toconfig.yaml
and edit it to reflect your setup. - Run
node build/discordas.js -r -u "http://localhost:9005/" -c config.yaml
- Modify your HSs appservices config so that it includes the generated file.
- Create a new application via https://discordapp.com/developers/applications/me/create
- Make sure to create a bot user. Fill in
config.yaml
- Run
npm run-script getbotlink
to get a authorisation link. - Give this link to owners of the guilds you plan to bridge.
- Finally, you can join a room with
#_discord_guildid_channelid
- These can be taken from the url ("/$GUILDID/$CHANNELID") when you are in a channel.
- Riot (and other clients with third party protocol support) users can directly join channels from the room directory.
In a vague order of what is coming up next
- Group messages
- Direct messages
- Recieving
- Initiating
- Matrix -> Discord
- Text content
- Image content
- Audio/Video content
- Typing notifs (Not supported, requires syncing)
- User Profiles
- Discord -> Matrix
- Text content
- Image content
- Audio/Video content
- Typing notifs
- User Profiles
- Presence (Synapse currently squashes presence, waiting on future spec)
- Third Party Lookup
- Rooms
- Users
- Puppet a user's real Discord account.
- Rooms react to Discord updates
- Integrate Discord into existing rooms.
- Manage channel from Matrix
- Authorise admin rights from Discord to Matrix users
- Topic
- Room Name (possibly)
- Provisioning API
- Webhooks (allows for prettier messages to discord)
- VOIP (Hard | Unlikely to be finished anytime soon)
My Matrix ID: @Half-Shot:half-shot.uk