diff --git a/cmd/gocq/main.go b/cmd/gocq/main.go index f87cbe494..08d9dd1b1 100644 --- a/cmd/gocq/main.go +++ b/cmd/gocq/main.go @@ -206,8 +206,9 @@ func LoginInteract() { time.Sleep(time.Second * 5) } log.Info("开始尝试登录并同步消息...") - log.Infof("使用协议: %s", "linux") - cli = newClient() + app := auth.AppList["linux"]["3.2.10-25765"] + log.Infof("使用协议: %s %s", app.OS, app.CurrentVersion) + cli = newClient(app) cli.UseDevice(device) isQRCodeLogin := (base.Account.Uin == 0 || len(base.Account.Password) == 0) && !base.Account.Encrypt isTokenLogin := false @@ -240,7 +241,7 @@ func LoginInteract() { time.Sleep(time.Second) cli.Disconnect() cli.Release() - cli = newClient() + cli = newClient(app) cli.UseDevice(device) } else { isTokenLogin = true @@ -402,14 +403,14 @@ func PasswordHashDecrypt(encryptedPasswordHash string, key []byte) ([]byte, erro return result, nil } -func newClient() *client.QQClient { +func newClient(appInfo *auth.AppInfo) *client.QQClient { var signUrl string if len(base.SignServers) != 0 { signUrl = base.SignServers[0].URL } else { signUrl = "" } - c := client.NewClient(0, signUrl, auth.AppList["linux"]) + c := client.NewClient(0, signUrl, appInfo) // TODO 服务器更新通知 //c.OnServerUpdated(func(bot *client.QQClient, e *client.ServerUpdatedEvent) bool { // if !base.UseSSOAddress { diff --git a/coolq/bot.go b/coolq/bot.go index 1e5fc0bd3..192583bb2 100644 --- a/coolq/bot.go +++ b/coolq/bot.go @@ -41,7 +41,7 @@ type CQBot struct { lock sync.RWMutex events []func(*Event) - friendReqCache syncx.Map[string, *event2.FriendRequest] + friendReqCache syncx.Map[string, *event2.NewFriendRequest] //tempSessionCache syncx.Map[int64, *event2.] } @@ -86,8 +86,8 @@ func NewQQBot(cli *client.QQClient) *CQBot { //bot.Client.TempMessageEvent.Subscribe(bot.tempMessageEvent) bot.Client.GroupMuteEvent.Subscribe(bot.groupMutedEvent) bot.Client.GroupRecallEvent.Subscribe(bot.groupRecallEvent) - // TODO 群聊通知消息 戳一戳,运气王 - //bot.Client.GroupNotifyEvent.Subscribe(bot.groupNotifyEvent) + // TODO 群聊通知消息 运气王 + bot.Client.GroupNotifyEvent.Subscribe(bot.groupNotifyEvent) // TODO 好友戳一戳事件 //bot.Client.FriendNotifyEvent.Subscribe(bot.friendNotifyEvent) // TODO 成员获得特殊群头衔 @@ -317,7 +317,7 @@ func (bot *CQBot) SendGroupMessage(groupID int64, m *message.SendingMessage) (in // return bot.InsertGroupMessage(ret, source), nil case *message.AtElement: self := bot.Client.GetCachedMemberInfo(bot.Client.Uin, uint32(groupID)) - if i.Target == 0 && self.Permission == entity.Member { + if i.TargetUin == 0 && self.Permission == entity.Member { e = message.NewText("@全体成员") } } @@ -505,8 +505,8 @@ func (bot *CQBot) InsertGroupMessage(m *message.GroupMessage, source message.Sou reply := replyElem.(*message.ReplyElement) msg.SubType = "quote" msg.QuotedInfo = &db.QuotedInfo{ - PrevID: encodeMessageID(int64(m.GroupCode), reply.ReplySeq), - PrevGlobalID: db.ToGlobalID(int64(m.GroupCode), reply.ReplySeq), + PrevID: encodeMessageID(int64(m.GroupCode), int32(reply.ReplySeq)), + PrevGlobalID: db.ToGlobalID(int64(m.GroupCode), int32(reply.ReplySeq)), QuotedContent: ToMessageContent(reply.Elements, source), } } @@ -548,8 +548,8 @@ func (bot *CQBot) InsertPrivateMessage(m *message.PrivateMessage, source message reply := replyElem.(*message.ReplyElement) msg.SubType = "quote" msg.QuotedInfo = &db.QuotedInfo{ - PrevID: encodeMessageID(int64(reply.Sender), reply.ReplySeq), - PrevGlobalID: db.ToGlobalID(int64(reply.Sender), reply.ReplySeq), + PrevID: encodeMessageID(int64(reply.SenderUin), int32(reply.ReplySeq)), + PrevGlobalID: db.ToGlobalID(int64(reply.SenderUin), int32(reply.ReplySeq)), QuotedContent: ToMessageContent(reply.Elements, source), } } diff --git a/coolq/cqcode.go b/coolq/cqcode.go index 0647435c4..cdf6761eb 100644 --- a/coolq/cqcode.go +++ b/coolq/cqcode.go @@ -45,17 +45,18 @@ const ( func replyID(r *message.ReplyElement, source message.Source) int32 { id := source.PrimaryID seq := r.ReplySeq - if r.GroupID != 0 { - id = int64(r.GroupID) + if r.GroupUin != 0 { + id = int64(r.GroupUin) } - // 私聊时,部分(不确定)的账号会在 ReplyElement 中带有 GroupID 字段。 - // 这里需要判断是由于 “直接回复” 功能,GroupID 为触发直接回复的来源那个群。 - if source.SourceType == message.SourcePrivate && (r.Sender == uint64(source.PrimaryID) || r.GroupID == uint64(source.PrimaryID) || r.GroupID == 0) { + // 私聊时,部分(不确定)的账号会在 ReplyElement 中带有 GroupUin 字段。 + // 这里需要判断是由于 “直接回复” 功能,GroupUin 为触发直接回复的来源那个群。 + if source.SourceType == message.SourcePrivate && (r.SenderUin == uint32(source.PrimaryID) || r.GroupUin == uint32(source.PrimaryID) || r.GroupUin == 0) { // 私聊似乎腾讯服务器有bug? - seq = int32(uint16(seq)) - id = int64(r.Sender) + // ? + seq = seq + id = int64(r.SenderUin) } - return db.ToGlobalID(id, seq) + return db.ToGlobalID(id, int32(seq)) } // toElements 将消息元素数组转为MSG数组以用于消息上报 @@ -84,7 +85,7 @@ func toElements(e []message.IMessageElement, source message.Source) (r []msg.Ele if base.ExtraReplyData { elem.Data = append(elem.Data, pair{K: "seq", V: strconv.FormatInt(int64(replyElem.ReplySeq), 10)}, - pair{K: "qq", V: strconv.FormatInt(int64(replyElem.Sender), 10)}, + pair{K: "qq", V: strconv.FormatInt(int64(replyElem.SenderUin), 10)}, pair{K: "time", V: strconv.FormatInt(int64(replyElem.Time), 10)}, pair{K: "text", V: toStringMessage(replyElem.Elements, source)}, ) @@ -97,7 +98,7 @@ func toElements(e []message.IMessageElement, source message.Source) (r []msg.Ele case *message.ReplyElement: if base.RemoveReplyAt && i+1 < len(e) { elem, ok := e[i+1].(*message.AtElement) - if ok && elem.Target == uint32(o.Sender) { + if ok && elem.TargetUin == uint32(o.SenderUin) { e[i+1] = nil } } @@ -119,8 +120,8 @@ func toElements(e []message.IMessageElement, source message.Source) (r []msg.Ele // } case *message.AtElement: target := "all" - if o.Target != 0 { - target = strconv.FormatUint(uint64(o.Target), 10) + if o.TargetUin != 0 { + target = strconv.FormatUint(uint64(o.TargetUin), 10) } m = msg.Element{ Type: "at", @@ -299,7 +300,7 @@ func ToMessageContent(e []message.IMessageElement, source message.Source) (r []g // "data": global.MSG{"data": o.Content}, // } case *message.AtElement: - if o.Target == 0 { + if o.TargetUin == 0 { m = global.MSG{ "type": "at", "data": global.MSG{ @@ -311,7 +312,7 @@ func ToMessageContent(e []message.IMessageElement, source message.Source) (r []g "type": "at", "data": global.MSG{ "subType": "user", - "target": o.Target, + "target": o.TargetUin, "display": o.Display, }, } @@ -486,27 +487,27 @@ func (bot *CQBot) reply(spec *onebot.Spec, elem msg.Element, sourceType message. } if org != nil { re = &message.ReplyElement{ - ReplySeq: org.GetAttribute().MessageSeq, - Sender: uint64(org.GetAttribute().SenderUin), - Time: int32(org.GetAttribute().Timestamp), - Elements: bot.ConvertStringMessage(spec, customText, sourceType), + ReplySeq: uint32(org.GetAttribute().MessageSeq), + SenderUin: uint32(org.GetAttribute().SenderUin), + Time: uint32(org.GetAttribute().Timestamp), + Elements: bot.ConvertStringMessage(spec, customText, sourceType), } if senderErr != nil { - re.Sender = uint64(sender) + re.SenderUin = uint32(sender) } if timeErr != nil { - re.Time = int32(msgTime) + re.Time = uint32(msgTime) } if seqErr != nil { - re.ReplySeq = int32(messageSeq) + re.ReplySeq = uint32(messageSeq) } break } re = &message.ReplyElement{ - ReplySeq: int32(messageSeq), - Sender: uint64(sender), - Time: int32(msgTime), - Elements: bot.ConvertStringMessage(spec, customText, sourceType), + ReplySeq: uint32(messageSeq), + SenderUin: uint32(sender), + Time: uint32(msgTime), + Elements: bot.ConvertStringMessage(spec, customText, sourceType), } case err == nil: @@ -515,10 +516,10 @@ func (bot *CQBot) reply(spec *onebot.Spec, elem msg.Element, sourceType message. return nil, err } re = &message.ReplyElement{ - ReplySeq: org.GetAttribute().MessageSeq, - Sender: uint64(org.GetAttribute().SenderUin), - Time: int32(org.GetAttribute().Timestamp), - Elements: bot.ConvertContentMessage(org.GetContent(), sourceType, true), + ReplySeq: uint32(org.GetAttribute().MessageSeq), + SenderUin: uint32(org.GetAttribute().SenderUin), + Time: uint32(org.GetAttribute().Timestamp), + Elements: bot.ConvertContentMessage(org.GetContent(), sourceType, true), } default: diff --git a/coolq/event.go b/coolq/event.go index 5e1e605ba..ec97584ab 100644 --- a/coolq/event.go +++ b/coolq/event.go @@ -237,54 +237,54 @@ func (bot *CQBot) groupRecallEvent(c *client.QQClient, e *event2.GroupRecall) { } //TODO 群通知 -/* -func (bot *CQBot) groupNotifyEvent(c *client.QQClient, e client.INotifyEvent) { - group := c.FindGroup(e.From()) + +func (bot *CQBot) groupNotifyEvent(c *client.QQClient, e event2.INotifyEvent) { + group := c.GetCachedGroupInfo(e.From()) switch notify := e.(type) { - case *client.GroupPokeNotifyEvent: - sender := group.FindMember(notify.Sender) - receiver := group.FindMember(notify.Receiver) + case *event2.GroupPokeEvent: + sender := c.GetCachedMemberInfo(notify.Sender, e.From()) + receiver := c.GetCachedMemberInfo(notify.Receiver, e.From()) log.Infof("群 %v 内 %v 戳了戳 %v", formatGroupName(group), formatMemberName(sender), formatMemberName(receiver)) bot.dispatchEvent("notice/notify/poke", global.MSG{ - "group_id": group.Code, + "group_id": group.GroupUin, "user_id": notify.Sender, "sender_id": notify.Sender, "target_id": notify.Receiver, }) - case *client.GroupRedBagLuckyKingNotifyEvent: - sender := group.FindMember(notify.Sender) - luckyKing := group.FindMember(notify.LuckyKing) - log.Infof("群 %v 内 %v 的红包被抢完, %v 是运气王", formatGroupName(group), formatMemberName(sender), formatMemberName(luckyKing)) - bot.dispatchEvent("notice/notify/lucky_king", global.MSG{ - "group_id": group.Code, - "user_id": notify.Sender, - "sender_id": notify.Sender, - "target_id": notify.LuckyKing, - }) - case *client.MemberHonorChangedNotifyEvent: - log.Info(notify.Content()) - bot.dispatchEvent("notice/notify/honor", global.MSG{ - "group_id": group.Code, - "user_id": notify.Uin, - "honor_type": func() string { - switch notify.Honor { - case client.Talkative: - return "talkative" - case client.Performer: - return "performer" - case client.Emotion: - return "emotion" - case client.Legend: - return "legend" - case client.StrongNewbie: - return "strong_newbie" - default: - return "ERROR" - } - }(), - }) + //case *client.GroupRedBagLuckyKingNotifyEvent: + // sender := group.FindMember(notify.Sender) + // luckyKing := group.FindMember(notify.LuckyKing) + // log.Infof("群 %v 内 %v 的红包被抢完, %v 是运气王", formatGroupName(group), formatMemberName(sender), formatMemberName(luckyKing)) + // bot.dispatchEvent("notice/notify/lucky_king", global.MSG{ + // "group_id": group.Code, + // "user_id": notify.Sender, + // "sender_id": notify.Sender, + // "target_id": notify.LuckyKing, + // }) + //case *client.MemberHonorChangedNotifyEvent: + // log.Info(notify.Content()) + // bot.dispatchEvent("notice/notify/honor", global.MSG{ + // "group_id": group.Code, + // "user_id": notify.Uin, + // "honor_type": func() string { + // switch notify.Honor { + // case client.Talkative: + // return "talkative" + // case client.Performer: + // return "performer" + // case client.Emotion: + // return "emotion" + // case client.Legend: + // return "legend" + // case client.StrongNewbie: + // return "strong_newbie" + // default: + // return "ERROR" + // } + // }(), + // }) } -}*/ +} // TODO 好友通知 /* diff --git a/go.mod b/go.mod index f5503abdc..33a82185b 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.20 require ( github.com/FloatTech/sqlite v1.6.3 - github.com/LagrangeDev/LagrangeGo v0.0.0-20240628105048-21b1ba6e0035 + github.com/LagrangeDev/LagrangeGo v0.0.0-20240715122710-e3a1cc4eeeb3 github.com/Microsoft/go-winio v0.6.2-0.20230724192519-b29bbd58a65a github.com/RomiChan/syncx v0.0.0-20240418144900-b7402ffdebc7 github.com/RomiChan/websocket v1.4.3-0.20220227141055-9b2c6168c9c5 @@ -17,11 +17,11 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/stretchr/testify v1.8.1 github.com/syndtr/goleveldb v1.0.0 - github.com/tidwall/gjson v1.15.0 + github.com/tidwall/gjson v1.17.1 github.com/wdvxdr1123/go-silk v0.0.0-20210316130616-d47b553def60 go.mongodb.org/mongo-driver v1.12.0 golang.org/x/crypto v0.23.0 - golang.org/x/image v0.16.0 + golang.org/x/image v0.18.0 golang.org/x/sys v0.20.0 golang.org/x/term v0.20.0 golang.org/x/time v0.3.0 @@ -54,11 +54,11 @@ require ( github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect - golang.org/x/mod v0.12.0 // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/tools v0.11.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/protobuf v1.33.0 // indirect lukechampine.com/uint128 v1.2.0 // indirect modernc.org/cc/v3 v3.40.0 // indirect diff --git a/go.sum b/go.sum index 38b365410..efc2cb25e 100644 --- a/go.sum +++ b/go.sum @@ -54,6 +54,8 @@ github.com/LagrangeDev/LagrangeGo v0.0.0-20240628102308-7e959294274a h1:2P9Ittht github.com/LagrangeDev/LagrangeGo v0.0.0-20240628102308-7e959294274a/go.mod h1:bXBGpyljx81ux9ItumiMB67xJGGpe2Sb5CTUFFeTR+Y= github.com/LagrangeDev/LagrangeGo v0.0.0-20240628105048-21b1ba6e0035 h1:CEFp6oupY5IIs+15X1cWnKt/4AN5IYXsqAHpwVUUSMI= github.com/LagrangeDev/LagrangeGo v0.0.0-20240628105048-21b1ba6e0035/go.mod h1:bXBGpyljx81ux9ItumiMB67xJGGpe2Sb5CTUFFeTR+Y= +github.com/LagrangeDev/LagrangeGo v0.0.0-20240715122710-e3a1cc4eeeb3 h1:xstGCRGX5xG98aQEjCC34nQwXeeBvlAEAIjPfvJZ0lI= +github.com/LagrangeDev/LagrangeGo v0.0.0-20240715122710-e3a1cc4eeeb3/go.mod h1:I3O+WRwggAvE/ndsyF4u3aau52KUnt5U8R9gLabHqws= github.com/Microsoft/go-winio v0.6.2-0.20230724192519-b29bbd58a65a h1:aU1703IHxupjzipvhu16qYKLMR03e+8WuNR+JMsKfGU= github.com/Microsoft/go-winio v0.6.2-0.20230724192519-b29bbd58a65a/go.mod h1:OZqLNXdYJHmx7aqq/T6wAdFEdoGm5nmIfC4kU7M8P8o= github.com/RomiChan/protobuf v0.1.1-0.20230204044148-2ed269a2e54d h1:/Xuj3fIiMY2ls1TwvPKmaqQrtJsPY+c9s+0lOScVHd8= @@ -155,6 +157,8 @@ github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFd github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/tidwall/gjson v1.15.0 h1:5n/pM+v3r5ujuNl4YLZLsQ+UE5jlkLVm7jMzT5Mpolw= github.com/tidwall/gjson v1.15.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.17.1 h1:wlYEnwqAHgzmhNUFfw7Xalt2JzQvsMx2Se4PcoFCT/U= +github.com/tidwall/gjson v1.17.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= @@ -183,10 +187,14 @@ golang.org/x/image v0.9.0 h1:QrzfX26snvCM20hIhBwuHI/ThTg18b/+kcKdXHvnR+g= golang.org/x/image v0.9.0/go.mod h1:jtrku+n79PfroUbvDdeUWMAI+heR786BofxrbiSF+J0= golang.org/x/image v0.16.0 h1:9kloLAKhUufZhA12l5fwnx2NZW39/we1UhBesW433jw= golang.org/x/image v0.16.0/go.mod h1:ugSZItdV4nOxyqp56HmXwH0Ry0nBCpjnZdpDaIHdoPs= +golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ= +golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= @@ -241,6 +249,8 @@ golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -249,6 +259,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.11.0 h1:EMCa6U9S2LtZXLAMoWiR/R8dAQFRqbAitmbJ2UKhoi8= golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/modules/config/default_config.yml b/modules/config/default_config.yml index 7eb2ac0cc..451da3610 100644 --- a/modules/config/default_config.yml +++ b/modules/config/default_config.yml @@ -32,8 +32,8 @@ account: # 账号相关 # # 服务器可使用docker在本地搭建或者使用他人开放的服务 sign-servers: - - url: 'https://sign.lagrangecore.org/api/sign' # 主签名服务器地址, 必填 - - url: 'https://sign.0w0.ing/api/sign' # 备用 + - url: 'https://sign.ciallo.site/api/sign' # 主签名服务器地址, 必填 + - url: '-' # 备用 # 判断签名服务不可用(需要切换)的额外规则 # 0: 不设置 (此时仅在请求无法返回结果时判定为不可用)