Now it's native, more asynchronous, and does not require to mess your server up with a monstrous third-party interpreter.
The configuration file is compatible with Zhabogram 2.0, so you can easily copy your existing `config.yml`.
### Build ###
Prerequisites: Go links the binary against the `glibc` version present in the system where the build process happens, so it should be less or equal to the version of `glibc` in the system where Telegabber will run.
* Build TDLib according to [TDLib build instructions](https://tdlib.github.io/td/build.html). Roll back to commit 8d7bda00a535d1eda684c3c8802e85d69c89a14a if the compatibility got broken.
First of all, you need to create component listener on your Jabber server.
For example, for ejabberd in **/etc/ejabberd/ejabberd.yml**:
```
listen:
-
port: 8888
module: ejabberd_service
access: all
shaper_rule: fast
ip: "127.0.0.1"
service_check_from: false
hosts:
"tlgrm.localhost":
password: "secret"
```
Next, rename **config.yml.example** to **config.yml** and edit **xmpp** section to match your component listener:
```
:xmpp:
db 'users.db'
jid: 'tlgrm.localhost'
host: 'localhost'
port: 8888
secret: 'secret'
loglevel: :warn
```
### Configuration ###
It is good idea to obtain Telegram API ID from [**https://my.telegram.org**](https://my.telegram.org) to remove demo key requests limit, and then edit in **config.yml**:
```
:telegram:
:tdlib:
:client:
:api_id: '845316' # telegram API ID (my.telegram.org) #
:api_hash: '27fe5224bc822bf3a45e015b4f9dfdb7' # telegram API HASH (my.telegram.org) #
Telegabber needs special privileges according to XEP-0356 to simulate message carbons from the users (to display messages they have sent earlier or via other clients). Example configuration for Prosody: