···13- XMPP Avatar spoofing on the Discord side
14- Support for proxying media sent via Discord (With this [miniproxy](https://git.polynom.me/PapaTutuWawa/miniproxy) ([Mirror](https://codeberg.org/queer-spark/miniproxy)))
1516-## Install
17-18----
19-20-⚠️ 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).
21-22-⚠️ 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.
23-24----
25-26-1. Install needed dependencies.
27-28-```shell
29-sudo apt install git python3-full pip cmake
30-```
31-32-2. Create a new system user to run it under.
33-34-```shell
35-sudo adduser --system --home /var/lib/xmpp-discord-bridge xmpp-discord-bridge
36-```
37-38-3. Now open a shell as that user.
39-40-```shell
41-sudo -u xmpp-discord-bridge -s
42-```
43-44-4. Run:
45-46-```shell
47-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
48-```
49-50-5. Create and edit `~/config.toml`. Refer to [example.toml](example.toml) for options.
51-52-6. `exit` to leave the shell.
53-54-7. Copy the service file to systemd's system directory.
5556```shell
57-sudo cp /var/lib/xmpp-discord-bridge/xmpp-discord-bridge/optional/xmpp-discord-bridge.service /etc/systemd/system/
0058```
5960-8. Read through the [XMPP](#xmpp) and [Discord](#discord) sections and make sure the listed requirements are met.
61-62-9. Start and enable the bridge.
63-64-```shell
65-sudo systemctl enable --now xmpp-discord-bridge.service
66-```
6768### XMPP
69
···13- XMPP Avatar spoofing on the Discord side
14- Support for proxying media sent via Discord (With this [miniproxy](https://git.polynom.me/PapaTutuWawa/miniproxy) ([Mirror](https://codeberg.org/queer-spark/miniproxy)))
1516+## Install using pipx
000000000000000000000000000000000000001718```shell
19+git clone https://codeberg.org/queer-spark/xmpp-discord-bridge.git
20+cd xmpp-discord-bridge
21+pipx install .
22```
2324+Create and edit `~/config.toml`. Refer to [example.toml](docs/example.toml) for options.
0000002526### XMPP
27
+3-2
example.toml
docs/example.toml
···22# If true, then xmpp-discord-bridge will also make offline Discord users appear in the MUC.
23# If they are offline, then they will have a presence of "xa". If false, then offline users
24# will leave the MUC.
25-dont_ignore_offline = false
2627# If true, when receiving a file to embed in Discord, the bridge will remove the URL from
28# the content, leaving only the embed behind. This prevents Discord users who disabled
···51url = "https://example.com/avatars/"
5253[discord]
054[[discord.channels]]
55# The ID of the guild
56guild = 000000000
···59channel = 000000000
6061# The MUC to mirror into
62-muc = "channel@muc.server.example"
···22# If true, then xmpp-discord-bridge will also make offline Discord users appear in the MUC.
23# If they are offline, then they will have a presence of "xa". If false, then offline users
24# will leave the MUC.
25+dont_ignore_offline = true
2627# If true, when receiving a file to embed in Discord, the bridge will remove the URL from
28# the content, leaving only the embed behind. This prevents Discord users who disabled
···51url = "https://example.com/avatars/"
5253[discord]
54+# There can be multiple [[discord.channels]] sections to bridge multiple MUCs and channels together.
55[[discord.channels]]
56# The ID of the guild
57guild = 000000000
···60channel = 000000000
6162# The MUC to mirror into
63+muc = "channel@muc.example.com"