diff options
author | bodqhrohro <bodqhrohro@gmail.com> | 2019-12-16 04:02:53 +0300 |
---|---|---|
committer | bodqhrohro <bodqhrohro@gmail.com> | 2019-12-16 04:02:53 +0300 |
commit | 10aae376f7dae843a5472cfc5c7083b4c032021d (patch) | |
tree | c5356518819df8f3863599a456602a0a4bcedae4 /telegram/client.go | |
parent | 3918686f211a3eac60916a81423c64240ad1988a (diff) |
Catch timeout setting
Diffstat (limited to 'telegram/client.go')
-rw-r--r-- | telegram/client.go | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/telegram/client.go b/telegram/client.go index 5e9dd9f..133f1e6 100644 --- a/telegram/client.go +++ b/telegram/client.go @@ -5,6 +5,7 @@ import ( "path/filepath" "strconv" "sync" + "time" "dev.narayana.im/narayana/telegabber/config" "dev.narayana.im/narayana/telegabber/persistence" @@ -39,12 +40,12 @@ func stringToLogConstant(c string) int32 { // Client stores the metadata for lazily invoked TDlib instance type Client struct { - client *client.Client - authorizer *clientAuthorizer - parameters *client.TdlibParameters - logVerbosity client.Option - me *client.User - listener *client.Listener + client *client.Client + authorizer *clientAuthorizer + parameters *client.TdlibParameters + options []client.Option + me *client.User + listener *client.Listener xmpp *xmpp.Component jid string @@ -61,9 +62,17 @@ type clientLocks struct { // NewClient instantiates a Telegram App func NewClient(conf config.TelegramConfig, jid string, component *xmpp.Component, session *persistence.Session) (*Client, error) { - logVerbosity := client.WithLogVerbosity(&client.SetLogVerbosityLevelRequest{ + var options []client.Option + + options = append(options, client.WithLogVerbosity(&client.SetLogVerbosityLevelRequest{ NewVerbosityLevel: stringToLogConstant(conf.Loglevel), - }) + })) + + if conf.Tdlib.Client.CatchTimeout != 0 { + options = append(options, client.WithCatchTimeout( + time.Duration(conf.Tdlib.Client.CatchTimeout)*time.Second, + )) + } apiID, err := strconv.Atoi(conf.Tdlib.Client.APIID) if err != nil { @@ -103,7 +112,7 @@ func NewClient(conf config.TelegramConfig, jid string, component *xmpp.Component chats: map[int64]*client.Chat{}, users: map[int32]*client.User{}, }, - logVerbosity: logVerbosity, - locks: clientLocks{}, + options: options, + locks: clientLocks{}, }, nil } |