xmpp_discord_bridge | ||
.gitignore | ||
LICENSE | ||
readme.md | ||
setup.py |
xmpp-discord-bridge
xmpp-discord-bridge's goal is to be a highly integrated bridge between XMPP and Discord.
Features
- Uni-directional bridging of Discord reactions to XMPP: Currently without XEP-0424, but with a "compat" mode
- Bi-directional bridging of media using Webhook embeds and OOB data
- Uni-directional bridging of Discord presence to XMPP
- Puppetering support on the side of XMPP
- Automatic webhook creation
- Uni-directional sync of the Discord channel's topic
- XMPP Avatar spoofing on the Discord side
- Support for proxying media sent via Discord (With this miniproxy)
Usage
The bridge can be configured via config.toml
at either the current working directory or /etc/xmpp-discord-bridge/config.toml
.
[general]
jid = "discord.server.example" # JID of the server component
secret = "secret" # Component secret
server = "server.example # Address of the actual XMPP server
port = 5869 # Component port
discord_token "...." # Token of your Discord bot
# If a message is reacted to, send the following to the MUC:
# > [Message content]
# + :someemoji:
reactions_compat = true
# Use the XMPP user's avatar in the webhook. For options, see
# the [avatars] section
relay_xmpp_avatars = false
# When a user is mentioned, also add the display name infront of the message body, e.g.
# SomeUser, PapaTutuWawa: Hello @SomeUser and @PapaTutuWawa
muc_mention_compat = true
# If true, then xmpp-discord-bridge will also make offline Discord users appear in the MUC.
# If they are offline, then they will have a presence of "xa". If false, then offline users
# will leave the MUC.
dont_ignore_offline = true
# When sending files from Discord to XMPP, proxy the URLS with this template. "<hmac>" and
# and "<url>" will be substituted. Proxy will not be used if not set.
proxy_discord_urls_to = "https://proxy.server.example/proxy/<hmac>/<urls>"
# Secret for the proxy. Only used when the proxy is used.
hmac_secret = "some-secret"
[avatars]
# Path where avatars can be stored
path = "/some/path"
# URL on which the avatars will be available
url = "https://im.server.example/avatars/"
[discord]
[[discord.channels]]
# The ID of the guild
guild = 00000000000
# The ID of the channel to mirror
channel = 000000000
# The MUC to mirror into
muc = "channel@muc.server.example"
License
See ./LICENSE