FILE / ScuroNeko/mtg

mtglib/internal/telegram/rpc_client.go

Исходный файл и его история в репозитории.
FILE 852ca713c81e951d0e12d276dda1f7ce79cda4d9
Files
mtg/mtglib/internal/telegram/rpc_client.go
T
2026-02-15 23:56:53 +01:00

43 lines
783 B
Go

package telegram
import (
"context"
"net"
"strconv"
"github.com/gotd/td/telegram"
)
type rpcClient struct {
*telegram.Client
}
func (r rpcClient) getDCAddresses(logger loggerInterface, ctx context.Context) (dcAddresses, error) {
addrs := dcAddresses{
v4: map[int][]tgAddr{},
v6: map[int][]tgAddr{},
}
err := r.Client.Run(ctx, func(_ context.Context) error {
for _, opt := range r.Client.Config().DCOptions {
addr := net.JoinHostPort(opt.IPAddress, strconv.Itoa(opt.Port))
if opt.Ipv6 {
addrs.v6[opt.ID] = append(addrs.v6[opt.ID], tgAddr{
network: "tcp6",
address: addr,
})
} else {
addrs.v4[opt.ID] = append(addrs.v4[opt.ID], tgAddr{
network: "tcp4",
address: addr,
})
}
}
return nil
})
return addrs, err
}