исправление багов, документация
- telegram: флаг disableIPV6 не работал — IPv6 был отключён всегда - telegram: log.Fatalf заменён на возврат ошибки - tools: BuildTelegramTable не падает при строках разной длины - README.md с примерами использования - .gitignore обновлён
This commit is contained in:
24
telegram.go
24
telegram.go
@@ -2,7 +2,6 @@ package notify
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
@@ -21,12 +20,14 @@ func NewTelegram(token string, disableIPV6 bool) (*Bot, error) {
|
||||
}
|
||||
|
||||
transport := &http.Transport{
|
||||
// Заменяем стандартный DialContext
|
||||
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
TLSHandshakeTimeout: 10 * time.Second,
|
||||
}
|
||||
|
||||
if disableIPV6 {
|
||||
transport.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
// "tcp4" отключает IPv6
|
||||
return dialer.DialContext(ctx, "tcp4", addr)
|
||||
},
|
||||
TLSHandshakeTimeout: 10 * time.Second,
|
||||
}
|
||||
}
|
||||
|
||||
client := &http.Client{
|
||||
@@ -34,20 +35,9 @@ func NewTelegram(token string, disableIPV6 bool) (*Bot, error) {
|
||||
Timeout: 60 * time.Second,
|
||||
}
|
||||
|
||||
if disableIPV6 {
|
||||
client.Transport = &http.Transport{
|
||||
// Заменяем стандартный DialContext
|
||||
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
// "tcp4" отключает IPv6
|
||||
return dialer.DialContext(ctx, "tcp4", addr)
|
||||
},
|
||||
TLSHandshakeTimeout: 10 * time.Second,
|
||||
}
|
||||
}
|
||||
|
||||
botApi, err := tgbotapi.NewBotAPIWithClient(token, tgbotapi.APIEndpoint, client)
|
||||
if err != nil {
|
||||
log.Fatalf("Telegram bot api error: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
bot := &Bot{
|
||||
api: botApi,
|
||||
|
||||
Reference in New Issue
Block a user