From 6b3aabd9afa00e5cf5139d5754f176039c7b954c Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Tue, 14 Feb 2023 23:27:15 +0800 Subject: [PATCH] update MiraiGo --- cmd/gocq/main.go | 11 +++++++---- coolq/api.go | 2 +- coolq/api_v12.go | 3 ++- coolq/converter.go | 2 ++ go.mod | 2 +- go.sum | 4 ++-- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/cmd/gocq/main.go b/cmd/gocq/main.go index adf5a99..9d194f2 100644 --- a/cmd/gocq/main.go +++ b/cmd/gocq/main.go @@ -136,14 +136,16 @@ func Main() { log.SetLevel(log.DebugLevel) log.Warnf("已开启Debug模式.") } + var device *client.DeviceInfo if !global.PathExists("device.json") { log.Warn("虚拟设备信息不存在, 将自动生成随机设备.") - client.GenRandomDevice() - _ = os.WriteFile("device.json", client.SystemDeviceInfo.ToJson(), 0o644) + device = client.GenRandomDevice() + _ = os.WriteFile("device.json", device.ToJson(), 0o644) log.Info("已生成设备信息并保存到 device.json 文件.") } else { log.Info("将使用 device.json 内的设备信息运行Bot.") - if err := client.SystemDeviceInfo.ReadJson([]byte(global.ReadAllText("device.json"))); err != nil { + device = new(client.DeviceInfo) + if err := device.ReadJson([]byte(global.ReadAllText("device.json"))); err != nil { log.Fatalf("加载设备信息失败: %v", err) } } @@ -205,8 +207,9 @@ func Main() { time.Sleep(time.Second * 5) } log.Info("开始尝试登录并同步消息...") - log.Infof("使用协议: %s", client.SystemDeviceInfo.Protocol) + log.Infof("使用协议: %s", device.Protocol) cli = newClient() + cli.UseDevice(device) isQRCodeLogin := (base.Account.Uin == 0 || len(base.Account.Password) == 0) && !base.Account.Encrypt isTokenLogin := false saveToken := func() { diff --git a/coolq/api.go b/coolq/api.go index abf1a27..27a5b41 100644 --- a/coolq/api.go +++ b/coolq/api.go @@ -2012,7 +2012,7 @@ func (bot *CQBot) CQGetVersionInfo() global.MSG { "runtime_version": runtime.Version(), "runtime_os": runtime.GOOS, "version": base.Version, - "protocol_name": client.SystemDeviceInfo.Protocol, + "protocol_name": bot.Client.Device().Protocol, }) } diff --git a/coolq/api_v12.go b/coolq/api_v12.go index 997606b..95a432d 100644 --- a/coolq/api_v12.go +++ b/coolq/api_v12.go @@ -3,9 +3,10 @@ package coolq import ( "runtime" + "github.com/tidwall/gjson" + "github.com/Mrs4s/go-cqhttp/global" "github.com/Mrs4s/go-cqhttp/internal/base" - "github.com/tidwall/gjson" ) // CQGetVersion 获取版本信息 OneBotV12 diff --git a/coolq/converter.go b/coolq/converter.go index 5fb72b4..5ec30c4 100644 --- a/coolq/converter.go +++ b/coolq/converter.go @@ -13,6 +13,7 @@ import ( "github.com/Mrs4s/go-cqhttp/global" ) +// IDConverter id 转换 type IDConverter func(id any) any func convertGroupMemberInfo(groupID int64, m *client.GroupMemberInfo) global.MSG { @@ -224,6 +225,7 @@ func fU64(v uint64) string { return strconv.FormatUint(v, 10) } +// ConvertIDWithVersion id 转换 func ConvertIDWithVersion(v any, version uint16) any { if version == 12 { return fmt.Sprint(v) diff --git a/go.mod b/go.mod index be7fe15..9b2c752 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.20 require ( github.com/FloatTech/sqlite v1.5.7 github.com/Microsoft/go-winio v0.6.0 - github.com/Mrs4s/MiraiGo v0.0.0-20230213132655-3ff1fee1b645 + github.com/Mrs4s/MiraiGo v0.0.0-20230214152309-cfd7d92d1f67 github.com/RomiChan/syncx v0.0.0-20221202055724-5f842c53020e github.com/RomiChan/websocket v1.4.3-0.20220123145318-307a86b127bc github.com/fumiama/go-base16384 v1.6.1 diff --git a/go.sum b/go.sum index 6e43c31..30dce95 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/FloatTech/ttl v0.0.0-20220715042055-15612be72f5b h1:tvciXWq2nuvTbFeJG github.com/FloatTech/ttl v0.0.0-20220715042055-15612be72f5b/go.mod h1:fHZFWGquNXuHttu9dUYoKuNbm3dzLETnIOnm1muSfDs= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= -github.com/Mrs4s/MiraiGo v0.0.0-20230213132655-3ff1fee1b645 h1:KHWuWmhF2nacb2mKqA3OJorerCEo9n6BNizMuBACa38= -github.com/Mrs4s/MiraiGo v0.0.0-20230213132655-3ff1fee1b645/go.mod h1:mU3fBFU+7eO0kaGes7YRKtzIDtwIU84nSSwTV7NK2b0= +github.com/Mrs4s/MiraiGo v0.0.0-20230214152309-cfd7d92d1f67 h1:KUNf7psf+/2ms6ci9W2ouH+eeAzVpjZv/IW5KIDR8Mg= +github.com/Mrs4s/MiraiGo v0.0.0-20230214152309-cfd7d92d1f67/go.mod h1:mU3fBFU+7eO0kaGes7YRKtzIDtwIU84nSSwTV7NK2b0= github.com/RomiChan/protobuf v0.1.1-0.20230204044148-2ed269a2e54d h1:/Xuj3fIiMY2ls1TwvPKmaqQrtJsPY+c9s+0lOScVHd8= github.com/RomiChan/protobuf v0.1.1-0.20230204044148-2ed269a2e54d/go.mod h1:2Ie+hdBFQpQFDHfeklgxoFmQRCE7O+KwFpISeXq7OwA= github.com/RomiChan/syncx v0.0.0-20221202055724-5f842c53020e h1:wR3MXQ3VbUlPKOOUwLOYgh/QaJThBTYtsl673O3lqSA=