b67d0733d9
* Add initial sticker support * Add Pillow to requirements.txt |
||
---|---|---|
telematrix | ||
.gitignore | ||
.travis.yml | ||
app_service.py | ||
asconfig.yaml.example | ||
config.json.example | ||
LICENSE | ||
README.md | ||
requirements.txt |
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 tokentokens.as
: Another randomly generated tokentokens.telegram
: The Telegram bot API token, as generated by @BotFathertokens.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 Pythonstr.format
-style string to format user IDs asdb_url
: A SQLAlchemy URL for the database. See the SQLAlchemy docs.
Synapse configuration
Copy asconfig.yaml.example to asconfig.yaml, then fill in the fields:
url
: The host and port of telematrix. Most likelyhttp://localhost:5000
.as_token
:token.as
from telematrix config.hs_token
:token.hs
from telematrix config.
The rest of the config can be left as is. Finally, add a relative path to this config file in the Synapse's homeserver.yaml:
app_service_config_files:
- "../telematrix/asconfig.yaml"
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!