Matrix <--> Discord Bridge. Patched to ignore discord redaction events.

Gary Kramlich 619dd9aef8 Fix a bug where guilds weren't being saved 3 年之前
bridge 619dd9aef8 Fix a bug where guilds weren't being saved 3 年之前
config 3629d7807c Implement channel name formatting and handle channel updates 3 年之前
consts f6493e0d87 Initial scaffolding 3 年之前
database 2a7fc8eabf Make sure to properly set NULL for portal.mxid if we don't have one. 3 年之前
globals f6493e0d87 Initial scaffolding 3 年之前
registration 34afda42a1 Add a -f option to generate registration 3 年之前
remoteauth 4b87ea1cc7 Add (dis|re)connect commands and provision api 3 年之前
run d883befee5 Basic provisioning api 3 年之前
version f6493e0d87 Initial scaffolding 3 年之前
.gitignore 78ab3d3804 Initial database setup including migrations 3 年之前
.gitlab-ci.yml 06f7d64bdb ci: don't remove tagged container before tagging as latest 3 年之前
Dockerfile 3540f8a5ca dockerfile: initialize 3 年之前
Dockerfile.ci ff16cdf3f1 ci: add automatic builds 3 年之前
LICENSE 8553f49ac6 Add the LICENSE file. 3 年之前
README.md e6208cafe7 Add a README.md 3 年之前
docker-run.sh 3540f8a5ca dockerfile: initialize 3 年之前
example-config.yaml 317abae2ed ephemeral events: add support for MSC2409 ephemeral events 3 年之前
go.mod defcfad701 Update our dependencies 3 年之前
go.sum defcfad701 Update our dependencies 3 年之前
main.go 4be28617e0 Start of the run command and the bridge type 3 年之前

README.md

mautrix-discord

Getting Started

To get start with this bridge you first need to create the configuration file. You can do that by running ./discord generate-config. By default this will output to config.yaml. Edit this file as necessary.

Once you're done with the configuration file you need to generate the registration for the Synapse. To do so run ./discord generate-registration. This command will update your configuration file as well where necessary.

Now that you have a registration file, be sure to add it to the app_service_config_files in the homeserver.yaml file of your Synapse install. Once you've done this, make sure to reload or restart Synapse.

You are no ready to start the bridge with ./discord

From the Matrix client of your choice, create a direct message with @discordbot:localhost adjusting if you changed these settings in the config. This will be your management room with the bot.

From the management room you can now login to Discord with the login command. This will present you with a QRCode that you can scan with the Discord mobile application to login. For more detailed instructions, see the official documentation.

You should now be able to send an receive direct messages from both one on ones and group dms. However you can't currently create the dm, so you'll have to be invited while the bridge is running.

Status

Complete:

  • Login via QRCode
  • Message sending for DMs and Group DMs
  • Message editing for text bodies only (see notes about attachments below)
  • Unicode standard reactions (add/remove)
  • Message deleting
  • Username formatting
  • User avatars

Bugged:

  • Changing the room title of a group dm in discord is sent as a message.

Incomplete:

  • Attachments; most details including the database layout and database api are done.

Not started:

  • Double Puppeting
  • Enumerating DM list
  • Mentions needs to be parsed, they currently show up as <@!<userid> in the message body.
  • Custom emoji are not yet implemented. In message emoji show up as <:text:id>.
  • Custom emoji reactions are not yet implemented.
  • Additional bot commands like logout