3324257e35
Fixes #7
56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# telematrix
|
|
|
|
A bridge between Telegram and [Matrix](http://matrix.org/). 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:
|
|
|
|
```bash
|
|
virtualenv venv -p $(which python3)
|
|
. venv/bin/activate
|
|
```
|
|
|
|
Then install the requirements using pip:
|
|
|
|
```bash
|
|
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](http://docs.sqlalchemy.org/en/latest/core/engines.html).
|
|
|
|
**Synapse configuration**
|
|
|
|
Copy asconfig.yaml.example to asconfig.yaml, then fill in the fields:
|
|
|
|
* `url`: The host and port of telematrix. Most likely `http://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:
|
|
|
|
```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!
|