mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 16:04:02 +03:00
FILE / ScuroNeko/mtg
server/telegram.go
Исходный файл и его история в репозитории.
39 lines
823 B
Go
39 lines
823 B
Go
package server
|
|
|
|
import (
|
|
"net"
|
|
"time"
|
|
|
|
"github.com/juju/errors"
|
|
)
|
|
|
|
var telegramDCIPs = [5]string{
|
|
"149.154.175.50:443",
|
|
"149.154.167.51:443",
|
|
"149.154.175.100:443",
|
|
"149.154.167.91:443",
|
|
"149.154.171.5:443",
|
|
}
|
|
|
|
const telegramKeepAlive = 30 * time.Second
|
|
|
|
func dialToTelegram(dcIdx int16) (net.Conn, error) {
|
|
if dcIdx < 0 || dcIdx >= 5 {
|
|
return nil, errors.New("Incorrect DC IDX")
|
|
}
|
|
|
|
conn, err := net.Dial("tcp", telegramDCIPs[dcIdx])
|
|
if err != nil {
|
|
return nil, errors.Annotate(err, "Cannot dial")
|
|
}
|
|
|
|
// if err := conn.SetKeepAlive(true); err != nil {
|
|
// return nil, errors.Annotate(err, "Cannot establish keepalive connection")
|
|
// }
|
|
// if err := conn.SetKeepAlivePeriod(telegramKeepAlive); err != nil {
|
|
// return nil, errors.Annotate(err, "Cannot set keepalive timeout")
|
|
// }
|
|
|
|
return conn, nil
|
|
}
|