aboutsummaryrefslogtreecommitdiff
path: root/telegram/client.go
diff options
context:
space:
mode:
Diffstat (limited to 'telegram/client.go')
-rw-r--r--telegram/client.go40
1 files changed, 7 insertions, 33 deletions
diff --git a/telegram/client.go b/telegram/client.go
index 3d361b6..688912b 100644
--- a/telegram/client.go
+++ b/telegram/client.go
@@ -30,7 +30,8 @@ func stringToLogConstant(c string) int32 {
return level
}
-type TelegramClient struct {
+// Client stores the metadata for lazily invoked TDlib instance
+type Client struct {
client *client.Client
jid string
parameters *client.TdlibParameters
@@ -39,14 +40,14 @@ type TelegramClient struct {
}
// NewClient instantiates a Telegram App
-func NewClient(conf config.TelegramConfig, jid string) (TelegramClient, error) {
+func NewClient(conf config.TelegramConfig, jid string) (Client, error) {
logVerbosity := client.WithLogVerbosity(&client.SetLogVerbosityLevelRequest{
NewVerbosityLevel: stringToLogConstant(conf.Loglevel),
})
- apiId, err := strconv.Atoi(conf.Tdlib.Client.APIID)
+ apiID, err := strconv.Atoi(conf.Tdlib.Client.APIID)
if err != nil {
- return TelegramClient{}, errors.Wrap(err, "Wrong api_id")
+ return Client{}, errors.Wrap(err, "Wrong api_id")
}
parameters := client.TdlibParameters{
@@ -60,7 +61,7 @@ func NewClient(conf config.TelegramConfig, jid string) (TelegramClient, error) {
UseMessageDatabase: true,
UseSecretChats: conf.Tdlib.Client.UseSecretChats,
- ApiId: int32(apiId),
+ ApiId: int32(apiID),
ApiHash: conf.Tdlib.Client.APIHash,
SystemLanguageCode: "en",
@@ -72,7 +73,7 @@ func NewClient(conf config.TelegramConfig, jid string) (TelegramClient, error) {
IgnoreFileNames: false,
}
- return TelegramClient{
+ return Client{
parameters: &parameters,
jid: jid,
logVerbosity: logVerbosity,
@@ -89,30 +90,3 @@ func updateHandler(tdlibClient *client.Client) {
}
}
}
-
-func (c *TelegramClient) 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
-}
-
-func (c *TelegramClient) Disconnect() {
- if !c.online {
- return
- }
-}