···1313- XMPP Avatar spoofing on the Discord side
1414- Support for proxying media sent via Discord (With this [miniproxy](https://git.polynom.me/PapaTutuWawa/miniproxy) ([Mirror](https://codeberg.org/queer-spark/miniproxy)))
15151616-## Install
1717-1818----
1919-2020-⚠️ This is how I set it up on Debian Bookworm. If you need help adapting it to your distribution, please open an issue or ask for help on [Jabber](xmpp:bridging@joinjabber.org?join).
2121-2222-⚠️ This guide also does not use a "venv" (virtual environment). I had an issue running it in its own "venv". If someone wants to troubleshoot it, contributions are welcome.
2323-2424----
2525-2626-1. Install needed dependencies.
2727-2828-```shell
2929-sudo apt install git python3-full pip cmake
3030-```
3131-3232-2. Create a new system user to run it under.
3333-3434-```shell
3535-sudo adduser --system --home /var/lib/xmpp-discord-bridge xmpp-discord-bridge
3636-```
3737-3838-3. Now open a shell as that user.
3939-4040-```shell
4141-sudo -u xmpp-discord-bridge -s
4242-```
4343-4444-4. Run:
4545-4646-```shell
4747-cd && git clone "https://codeberg.org/queer-spark/xmpp-discord-bridge.git" && cd xmpp-discord-bridge && python3 -m pip install . --user --break-system-packages && cd
4848-```
4949-5050-5. Create and edit `~/config.toml`. Refer to [example.toml](example.toml) for options.
5151-5252-6. `exit` to leave the shell.
5353-5454-7. Copy the service file to systemd's system directory.
1616+## Install using pipx
55175618```shell
5757-sudo cp /var/lib/xmpp-discord-bridge/xmpp-discord-bridge/optional/xmpp-discord-bridge.service /etc/systemd/system/
1919+git clone https://codeberg.org/queer-spark/xmpp-discord-bridge.git
2020+cd xmpp-discord-bridge
2121+pipx install .
5822```
59236060-8. Read through the [XMPP](#xmpp) and [Discord](#discord) sections and make sure the listed requirements are met.
6161-6262-9. Start and enable the bridge.
6363-6464-```shell
6565-sudo systemctl enable --now xmpp-discord-bridge.service
6666-```
2424+Create and edit `~/config.toml`. Refer to [example.toml](docs/example.toml) for options.
67256826### XMPP
6927
+3-2
example.toml
docs/example.toml
···2222# If true, then xmpp-discord-bridge will also make offline Discord users appear in the MUC.
2323# If they are offline, then they will have a presence of "xa". If false, then offline users
2424# will leave the MUC.
2525-dont_ignore_offline = false
2525+dont_ignore_offline = true
26262727# If true, when receiving a file to embed in Discord, the bridge will remove the URL from
2828# the content, leaving only the embed behind. This prevents Discord users who disabled
···5151url = "https://example.com/avatars/"
52525353[discord]
5454+# There can be multiple [[discord.channels]] sections to bridge multiple MUCs and channels together.
5455[[discord.channels]]
5556# The ID of the guild
5657guild = 000000000
···5960channel = 000000000
60616162# The MUC to mirror into
6262-muc = "channel@muc.server.example"
6363+muc = "channel@muc.example.com"