mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-05 19:43:49 +08:00
fix #issuecomment-817290057.
This commit is contained in:
parent
382d2ffda8
commit
92b29dee2e
2
go.mod
2
go.mod
@ -4,7 +4,7 @@ go 1.16
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f
|
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f
|
||||||
github.com/Mrs4s/MiraiGo v0.0.0-20210411090602-132dc119bf4c
|
github.com/Mrs4s/MiraiGo v0.0.0-20210411115056-c751f3a90e7b
|
||||||
github.com/dustin/go-humanize v1.0.0
|
github.com/dustin/go-humanize v1.0.0
|
||||||
github.com/gin-gonic/gin v1.6.3
|
github.com/gin-gonic/gin v1.6.3
|
||||||
github.com/gorilla/websocket v1.4.2
|
github.com/gorilla/websocket v1.4.2
|
||||||
|
4
go.sum
4
go.sum
@ -2,8 +2,8 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
|
|||||||
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f h1:2dk3eOnYllh+wUOuDhOoC2vUVoJF/5z478ryJ+wzEII=
|
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f h1:2dk3eOnYllh+wUOuDhOoC2vUVoJF/5z478ryJ+wzEII=
|
||||||
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/go.mod h1:4a58ifQTEe2uwwsaqbh3i2un5/CBPg+At/qHpt18Tmk=
|
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/go.mod h1:4a58ifQTEe2uwwsaqbh3i2un5/CBPg+At/qHpt18Tmk=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/Mrs4s/MiraiGo v0.0.0-20210411090602-132dc119bf4c h1:5FjKcZV/LHRJl8N3CEdZv2UOqJEYwdk6WfcUamtctEY=
|
github.com/Mrs4s/MiraiGo v0.0.0-20210411115056-c751f3a90e7b h1:Z3ubJIzMBrKZeD+8k7+pLjXt3qPBXaxAjHo5LZHh83M=
|
||||||
github.com/Mrs4s/MiraiGo v0.0.0-20210411090602-132dc119bf4c/go.mod h1:NjiWhlvGxwv1ftOWIoiFa/OzklnAYI4YqNexFOKSZKw=
|
github.com/Mrs4s/MiraiGo v0.0.0-20210411115056-c751f3a90e7b/go.mod h1:NjiWhlvGxwv1ftOWIoiFa/OzklnAYI4YqNexFOKSZKw=
|
||||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
55
main.go
55
main.go
@ -324,34 +324,43 @@ func main() {
|
|||||||
cli.OnDisconnected(func(q *client.QQClient, e *client.ClientDisconnectedEvent) {
|
cli.OnDisconnected(func(q *client.QQClient, e *client.ClientDisconnectedEvent) {
|
||||||
reLoginLock.Lock()
|
reLoginLock.Lock()
|
||||||
defer reLoginLock.Unlock()
|
defer reLoginLock.Unlock()
|
||||||
|
times = 1
|
||||||
if cli.Online {
|
if cli.Online {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Warnf("Bot已离线: %v", e.Message)
|
log.Warnf("Bot已离线: %v", e.Message)
|
||||||
if conf.Account.ReLogin.Disabled {
|
for {
|
||||||
os.Exit(1)
|
if conf.Account.ReLogin.Disabled {
|
||||||
}
|
os.Exit(1)
|
||||||
if times > conf.Account.ReLogin.MaxTimes && conf.Account.ReLogin.MaxTimes != 0 {
|
}
|
||||||
log.Fatalf("Bot重连次数超过限制, 停止")
|
if times > conf.Account.ReLogin.MaxTimes && conf.Account.ReLogin.MaxTimes != 0 {
|
||||||
}
|
log.Fatalf("Bot重连次数超过限制, 停止")
|
||||||
if conf.Account.ReLogin.Interval > 0 {
|
}
|
||||||
log.Warnf("将在 %v 秒后尝试重连. 重连次数:%v/%v", conf.Account.ReLogin.Interval, times, conf.Account.ReLogin.MaxTimes)
|
times++
|
||||||
time.Sleep(time.Second * time.Duration(conf.Account.ReLogin.Interval))
|
if conf.Account.ReLogin.Interval > 0 {
|
||||||
} else {
|
log.Warnf("将在 %v 秒后尝试重连. 重连次数:%v/%v", conf.Account.ReLogin.Interval, times, conf.Account.ReLogin.MaxTimes)
|
||||||
|
time.Sleep(time.Second * time.Duration(conf.Account.ReLogin.Interval))
|
||||||
|
} else {
|
||||||
|
time.Sleep(time.Second)
|
||||||
|
}
|
||||||
|
log.Warnf("尝试重连...")
|
||||||
|
if err := cli.TokenLogin(global.AccountToken); err == nil {
|
||||||
|
saveToken()
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
log.Warnf("快速重连失败: %v", err)
|
||||||
|
}
|
||||||
|
if isQRCodeLogin {
|
||||||
|
log.Fatalf("快速重连失败")
|
||||||
|
}
|
||||||
|
log.Warnf("快速重连失败, 尝试普通登录. 这可能是因为其他端强行T下线导致的.")
|
||||||
time.Sleep(time.Second)
|
time.Sleep(time.Second)
|
||||||
}
|
if err := commonLogin(); err != nil {
|
||||||
log.Warnf("尝试重连...")
|
log.Errorf("登录时发生致命错误: %v", err)
|
||||||
if err := cli.TokenLogin(global.AccountToken); err == nil {
|
} else {
|
||||||
saveToken()
|
saveToken()
|
||||||
return
|
break
|
||||||
}
|
}
|
||||||
if isQRCodeLogin {
|
|
||||||
log.Fatalf("快速重连失败")
|
|
||||||
}
|
|
||||||
log.Warnf("快速重连失败, 尝试普通登录. 这可能是因为其他端强行T下线导致的.")
|
|
||||||
time.Sleep(time.Second)
|
|
||||||
if err := commonLogin(); err != nil {
|
|
||||||
log.Fatalf("登录时发生致命错误: %v", err)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
saveToken()
|
saveToken()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user