aboutsummaryrefslogtreecommitdiff
path: root/telegram/connect.go
diff options
context:
space:
mode:
Diffstat (limited to 'telegram/connect.go')
-rw-r--r--telegram/connect.go36
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
+ }
+}