mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-05 03:23:49 +08:00
fix #298.
This commit is contained in:
parent
b5b6117487
commit
c31169b99b
40
main.go
40
main.go
@ -239,7 +239,14 @@ func main() {
|
||||
cli.OnServerUpdated(func(bot *client.QQClient, e *client.ServerUpdatedEvent) {
|
||||
log.Infof("收到服务器地址更新通知, 将在下一次重连时应用. 地址信息已储存到 servers.bin 文件")
|
||||
_ = ioutil.WriteFile("servers.bin", binary.NewWriterF(func(w *binary.Writer) {
|
||||
w.WriteUInt16(uint16(len(e.Servers)))
|
||||
w.WriteUInt16(func() (c uint16) {
|
||||
for _, s := range e.Servers {
|
||||
if !strings.Contains(s.Server, "com") {
|
||||
c++
|
||||
}
|
||||
}
|
||||
return
|
||||
}())
|
||||
for _, s := range e.Servers {
|
||||
if !strings.Contains(s.Server, "com") {
|
||||
w.WriteString(s.Server)
|
||||
@ -250,18 +257,25 @@ func main() {
|
||||
})
|
||||
if global.PathExists("servers.bin") {
|
||||
if data, err := ioutil.ReadFile("servers.bin"); err == nil {
|
||||
r := binary.NewReader(data)
|
||||
var addr []*net.TCPAddr
|
||||
l := r.ReadUInt16()
|
||||
for i := 0; i < int(l); i++ {
|
||||
addr = append(addr, &net.TCPAddr{
|
||||
IP: net.ParseIP(r.ReadString()),
|
||||
Port: int(r.ReadUInt16()),
|
||||
})
|
||||
}
|
||||
if len(addr) > 0 {
|
||||
cli.SetCustomServer(addr)
|
||||
}
|
||||
func() {
|
||||
defer func() {
|
||||
if pan := recover(); pan != nil {
|
||||
log.Error("读取服务器地址时出现错误: %v", pan)
|
||||
}
|
||||
}()
|
||||
r := binary.NewReader(data)
|
||||
var addr []*net.TCPAddr
|
||||
l := r.ReadUInt16()
|
||||
for i := 0; i < int(l); i++ {
|
||||
addr = append(addr, &net.TCPAddr{
|
||||
IP: net.ParseIP(r.ReadString()),
|
||||
Port: int(r.ReadUInt16()),
|
||||
})
|
||||
}
|
||||
if len(addr) > 0 {
|
||||
cli.SetCustomServer(addr)
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
rsp, err := cli.Login()
|
||||
|
Loading…
x
Reference in New Issue
Block a user