python-zulip-api/zulip/integrations/matrix
neiljp (Neil Pilgrim) 70ba4c9035 matrix bridge: Improve error handling by exception translation.
Also:
* introduces two internal Bridge_*Exception classes.
* import matrix_client.errors instead of matrix_client.api.
2018-06-04 15:55:14 -07:00
..
matrix_bridge.conf matrix bridge: Configure using config(parser) file instead of python module. 2018-06-04 15:55:14 -07:00
matrix_bridge.py matrix bridge: Improve error handling by exception translation. 2018-06-04 15:55:14 -07:00
README.md matrix: Edit matrix.org README further. 2018-05-22 14:01:24 -07:00
requirements.txt matrix: Fix typo in requirements.txt. 2018-05-29 11:05:01 -07:00

Matrix <--> Zulip bridge

This acts as a bridge between Matrix and Zulip. It also enables a Zulip topic to be federated between two Zulip servers.

Usage

For IRC bridges

Matrix has been bridged to the listed IRC networks, where the 'Room alias format' refers to the room_id for the corresponding IRC channel.

For example, for the freenode channel #zulip-test, the room_id would be #freenode_#zulip-test:matrix.org.

Hence, this can also be used as a IRC <--> Zulip bridge.

Steps to configure the Matrix bridge

1. Zulip endpoint

  1. Create a generic Zulip bot, with a full name like IRC Bot.
  2. Subscribe the bot user to the stream you'd like to mirror your IRC channel into.
  3. Enter the bot's zuliprc details (email, api_key, and site) into matrix_bridge_config.py
  4. Enter the destination topic, stream and site in matrix_bridge_config.py

2. Matrix endpoint

  1. Create a user on matrix.org, preferably with a formal name like to zulip-bot.
  2. Enter the user's username and password into matrix_bridge_config.py
  3. Enter the host and room_id into matrix_bridge_config.py

After the steps above have been completed, run python matrix_bridge.py to start the mirroring service.

Caveats for IRC mirroring

There are certain IRC channels where the Matrix.org IRC bridge has been banned for technical reasons. You can't mirror those IRC channels using this integration.