diff options
Diffstat (limited to 'telegram/connect.go')
-rw-r--r-- | telegram/connect.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/telegram/connect.go b/telegram/connect.go new file mode 100644 index 0000000..72cd417 --- /dev/null +++ b/telegram/connect.go @@ -0,0 +1,36 @@ +package telegram + +import ( + "github.com/pkg/errors" + + "github.com/zelenin/go-tdlib/client" +) + +// Connect starts TDlib connection +func (c *Client) Connect() error { + if c.online { + return nil + } + + authorizer := client.ClientAuthorizer() + authorizer.TdlibParameters <- c.parameters + + tdlibClient, err := client.NewClient(authorizer, c.logVerbosity) + if err != nil { + return errors.Wrap(err, "Coudn't initialize a Telegram client instance") + } + + c.client = tdlibClient + c.online = true + + go updateHandler(c.client) + + return nil +} + +// Disconnect drops TDlib connection +func (c *Client) Disconnect() { + if !c.online { + return + } +} |