Go to file
2016-11-15 08:28:42 +01:00
.gitignore Add database to gitignore 2016-11-15 07:53:43 +01:00
.travis.yml Add travis pylint CI 2016-11-14 11:22:22 +01:00
app_service.py Improve forward and reply messages 2016-11-15 08:28:42 +01:00
asconfig.yaml.example added example configuration 2016-10-08 18:08:59 +02:00
config.json.example Add a bit more documentation 2016-11-15 07:45:09 +01:00
database.py Use a database for links, allowing for automatic configuration 2016-11-15 00:52:00 +01:00
LICENSE Initial commit 2016-09-13 16:17:11 +02:00
README.md Add a bit more documentation 2016-11-15 07:45:09 +01:00
requirements.txt Use a database for links, allowing for automatic configuration 2016-11-15 00:52:00 +01:00

telematrix

A bridge between Telegram and Matrix. Currently under development — this project isn't considered to be in a usable state right now.

Installation

Dependencies

First, create a virtualenv and activate it:

virtualenv venv -p $(which python3)
. venv/bin/activate

Then install the requirements using pip:

pip install -r requirements.txt

Configuration

telematrix configuration

First, copy config.json.example to config.json. Then fill in the fields:

tokens.hs: A randomly generated token tokens.as: Another randomly generated token tokens.telegram: The Telegram bot API token, as generated by @BotFather tokens.google: A Google API key, used for URL shortening. Can be left out to disable.

hosts.internal: The homeserver host to connect to internally. hosts.external: The external domain of the homeserver, used for generating URLs. hosts.bare: Just the (sub)domain of the server.

user_id_format: A Python str.format-style string to format user IDs as db_url: A SQLAlchemy URL for the database. See the SQLAlchemy docs.

Synapse configuration

TODO

Contributions

Want to help? Awesome! This bridge still needs a lot of work, so any help is welcome.

A great start is reporting bugs — if you find it doesn't work like it's supposed to, do submit an issue on Github. Or, if you're a programmer (which you probably are, considering you are on this website), feel free to try to fix it yourself. Just make sure Pylint approves of your code!