simple and asynchronous matrix appservice framework
Find a file
git-bruh 4713a00016
cleanup
* Use websocket events to sync usernames/avatars instead of periodic syncing.

* Use caches for fetched room_ids, room state (for usernames and avatars). Also switch to using a single cache with locks.

* Don't store full message objects in cache, just store the relation of matrix event IDs to discord message IDs and vice-versa. Content can be fetched from the server instead.

* Don't rely on websocket events for mentioning Discord users, mentions are now done by mentioning the dummy matrix user. The ID to be mentioned is extracted from the MXID instead.

* General clean-ups.
2021-05-13 15:51:58 +05:30
appservice cleanup 2021-05-13 15:51:58 +05:30
bridge refactor (#5) 2021-03-25 10:48:04 +05:30
misc refactor (#5) 2021-03-25 10:48:04 +05:30
LICENSE Create LICENSE 2020-11-11 11:48:31 +00:00
README.md Update README.md 2021-04-17 10:16:17 +05:30

matrix-discord-bridge

A simple bridge between Matrix and Discord written in Python.

This repository contains two bridges:

  • A puppeting appservice (experimental-ish): The puppeting bridge written with minimal dependencies. Running this requires a self-hosted homeserver.

  • A non-puppeting bridge: The non-puppeting bridge written with matrix-nio and discord.py, most people would want to use this one.

Check their READMEs for specific information.

What Works

  • Puppeting (Appservice only, regular bridge only uses webhooks on Discord.)
  • Attachments (Converted to URLs.)
  • Typing Indicators (Per-user indicators on Appservice, otherwise sent as bot user.)
  • Message redaction
  • Replies
  • Bridging multiple channels
  • Discord emojis displayed as inline images
  • Sending Discord emotes from Matrix (:emote_name:)
  • Mentioning Discord users via partial username (@partialname)