diff options
Diffstat (limited to 'telegram/client.go')
-rw-r--r-- | telegram/client.go | 40 |
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: ¶meters, 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 - } -} |