simple and asynchronous matrix appservice framework
865c1eb9f4
* prevent duplicate user for interactions * fix for older discord accounts * check channel mentions against full channel list * Fix compatibility for Python 3.7 Replace dict with Dict object from typing module * remove scary hashing * always expect guild_id * change hash to djb2 * Revert "always expect guild_id" This reverts commit dbcb3d1b9c97f6ceda0cf982b4bd7228926112c3. * guild_id warning, don't group bot created webhooks * fmt Co-authored-by: Friskygote <7283122+Friskygote@users.noreply.github.com> Co-authored-by: Wolf Gupta <e817509a-8ee9-4332-b0ad-3a6bdf9ab63f@aleeas.com> |
||
---|---|---|
appservice | ||
bridge | ||
misc | ||
LICENSE | ||
README.md |
matrix-discord-bridge
A simple bridge between Matrix and Discord written in Python.
This repository contains two bridges:
-
A puppeting appservice: 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
anddiscord.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
)
TODO
- Handle cases where the webhook is messed with on the Discord side (Deleted/Edited by someone other than the bot).
- Use embeds on Discord side for replies.
- Unbridging.