Add telegram caller struct

This commit is contained in:
9seconds
2018-06-24 20:43:04 +03:00
parent 7e340bb2ac
commit 67c1194d5b
3 changed files with 195 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
package telegram
import (
"net"
"net/http"
"sync"
"go.uber.org/zap"
"github.com/9seconds/mtg/config"
)
type middleTelegram struct {
middleTelegramCaller
}
func NewMiddleTelegram(conf *config.Config, logger *zap.SugaredLogger) Telegram {
tg := &middleTelegram{
middleTelegramCaller: middleTelegramCaller{
baseTelegram: baseTelegram{
dialer: tgDialer{net.Dialer{Timeout: telegramDialTimeout}},
},
logger: logger,
httpClient: &http.Client{
Timeout: middleTelegramHTTPClientTimeout,
},
dialerMutex: &sync.RWMutex{},
},
}
if err := tg.update(); err != nil {
panic(err)
}
go tg.autoUpdate()
return tg
}