diff --git a/client/builders.go b/client/builders.go index 83b1b401..a98df673 100644 --- a/client/builders.go +++ b/client/builders.go @@ -7,8 +7,6 @@ import ( "math/rand" "time" - "google.golang.org/protobuf/proto" - "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/binary/jce" "github.com/Mrs4s/MiraiGo/client/pb" @@ -20,6 +18,7 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/structmsg" "github.com/Mrs4s/MiraiGo/internal/crypto" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/internal/tlv" ) diff --git a/client/c2c_processor.go b/client/c2c_processor.go index 2d25df9e..c5434604 100644 --- a/client/c2c_processor.go +++ b/client/c2c_processor.go @@ -8,11 +8,11 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb" "github.com/Mrs4s/MiraiGo/client/pb/msg" + "github.com/Mrs4s/MiraiGo/internal/proto" ) type ( diff --git a/client/decoders.go b/client/decoders.go index 22602626..a1f45a15 100644 --- a/client/decoders.go +++ b/client/decoders.go @@ -11,7 +11,6 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/binary/jce" @@ -23,6 +22,7 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/profilecard" "github.com/Mrs4s/MiraiGo/client/pb/qweb" "github.com/Mrs4s/MiraiGo/client/pb/structmsg" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/face.go b/client/face.go index 0905748f..2f2500f3 100644 --- a/client/face.go +++ b/client/face.go @@ -4,10 +4,10 @@ import ( "fmt" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/faceroam" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" ) type CustomFace struct { diff --git a/client/global.go b/client/global.go index 5fb5d75f..56d24df8 100644 --- a/client/global.go +++ b/client/global.go @@ -13,13 +13,13 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/binary/jce" devinfo "github.com/Mrs4s/MiraiGo/client/pb" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/oidb" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/group_file.go b/client/group_file.go index e838ea98..2e53ee80 100644 --- a/client/group_file.go +++ b/client/group_file.go @@ -10,11 +10,11 @@ import ( "runtime/debug" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/exciting" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/group_info.go b/client/group_info.go index 3a59a45b..c103c904 100644 --- a/client/group_info.go +++ b/client/group_info.go @@ -10,13 +10,13 @@ import ( "sync" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/binary/jce" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/client/pb/profilecard" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/group_msg.go b/client/group_msg.go index 2be8c3c8..83ee0767 100644 --- a/client/group_msg.go +++ b/client/group_msg.go @@ -12,13 +12,13 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/longmsg" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/multimsg" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/guild.go b/client/guild.go index 15426cd3..bb58c015 100644 --- a/client/guild.go +++ b/client/guild.go @@ -6,11 +6,11 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/channel" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/guild_eventflow.go b/client/guild_eventflow.go index e1f97154..5aeef6dd 100644 --- a/client/guild_eventflow.go +++ b/client/guild_eventflow.go @@ -5,11 +5,11 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/channel" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" ) func init() { diff --git a/client/guild_msg.go b/client/guild_msg.go index 1d29f776..a6b6b200 100644 --- a/client/guild_msg.go +++ b/client/guild_msg.go @@ -11,7 +11,6 @@ import ( "strconv" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/channel" @@ -19,6 +18,7 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/pttcenter" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/highway.go b/client/highway.go index 0dcb00a0..252c7bee 100644 --- a/client/highway.go +++ b/client/highway.go @@ -16,10 +16,10 @@ import ( "github.com/pkg/errors" "golang.org/x/sync/errgroup" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/http_api.go b/client/http_api.go index 3f14df0f..03ecda5e 100644 --- a/client/http_api.go +++ b/client/http_api.go @@ -14,10 +14,10 @@ import ( "strings" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/richmedia" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/image.go b/client/image.go index 22478324..b096767a 100644 --- a/client/image.go +++ b/client/image.go @@ -13,13 +13,13 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x388" "github.com/Mrs4s/MiraiGo/client/pb/highway" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/multimsg.go b/client/multimsg.go index e3152fee..c2d3f478 100644 --- a/client/multimsg.go +++ b/client/multimsg.go @@ -4,13 +4,13 @@ import ( "fmt" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/longmsg" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/multimsg" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/offline_file.go b/client/offline_file.go index 83f01879..f14774a5 100644 --- a/client/offline_file.go +++ b/client/offline_file.go @@ -2,10 +2,10 @@ package client import ( "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x346" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" ) func init() { diff --git a/client/online_push.go b/client/online_push.go index 4f2b9d06..2718a930 100644 --- a/client/online_push.go +++ b/client/online_push.go @@ -6,13 +6,13 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/binary/jce" "github.com/Mrs4s/MiraiGo/client/pb" "github.com/Mrs4s/MiraiGo/client/pb/msgtype0x210" "github.com/Mrs4s/MiraiGo/client/pb/notify" + "github.com/Mrs4s/MiraiGo/internal/proto" ) var msg0x210Decoders = map[int64]func(*QQClient, []byte) error{ diff --git a/client/private_msg.go b/client/private_msg.go index 6153afc0..87c5ca56 100644 --- a/client/private_msg.go +++ b/client/private_msg.go @@ -6,10 +6,10 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" ) diff --git a/client/ptt.go b/client/ptt.go index 4703f805..1828b9e1 100644 --- a/client/ptt.go +++ b/client/ptt.go @@ -7,7 +7,6 @@ import ( "os" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x346" @@ -15,6 +14,7 @@ import ( "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/pttcenter" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/qidian.go b/client/qidian.go index 1f229b77..ea03f00a 100644 --- a/client/qidian.go +++ b/client/qidian.go @@ -1,4 +1,5 @@ // 企点协议相关特殊逻辑 + package client import ( @@ -8,13 +9,13 @@ import ( "net/http" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x3f6" "github.com/Mrs4s/MiraiGo/client/pb/cmd0x6ff" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/recall.go b/client/recall.go index 115cc7ce..897dbd78 100644 --- a/client/recall.go +++ b/client/recall.go @@ -2,10 +2,10 @@ package client import ( "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" ) diff --git a/client/richmsg.go b/client/richmsg.go index 3b9794e8..10210e25 100644 --- a/client/richmsg.go +++ b/client/richmsg.go @@ -5,10 +5,10 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/client/security.go b/client/security.go index 17278e05..8b194713 100644 --- a/client/security.go +++ b/client/security.go @@ -2,10 +2,10 @@ package client import ( "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" ) func init() { diff --git a/client/sync.go b/client/sync.go index 177c8416..7b9e05ee 100644 --- a/client/sync.go +++ b/client/sync.go @@ -7,13 +7,13 @@ import ( "time" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/binary/jce" "github.com/Mrs4s/MiraiGo/client/pb/msf" "github.com/Mrs4s/MiraiGo/client/pb/msg" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/message" ) diff --git a/client/system_msg.go b/client/system_msg.go index e70012be..948d8128 100644 --- a/client/system_msg.go +++ b/client/system_msg.go @@ -1,10 +1,9 @@ package client import ( - "google.golang.org/protobuf/proto" - "github.com/Mrs4s/MiraiGo/client/pb/structmsg" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" ) type ( diff --git a/client/translate.go b/client/translate.go index e005a189..e04715f8 100644 --- a/client/translate.go +++ b/client/translate.go @@ -2,10 +2,10 @@ package client import ( "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/oidb" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" ) func (c *QQClient) buildTranslatePacket(src, dst, text string) (uint16, []byte) { diff --git a/client/web.go b/client/web.go index 132c9611..8f2d97a4 100644 --- a/client/web.go +++ b/client/web.go @@ -7,10 +7,10 @@ import ( "strings" "github.com/pkg/errors" - "google.golang.org/protobuf/proto" "github.com/Mrs4s/MiraiGo/client/pb/web" "github.com/Mrs4s/MiraiGo/internal/packets" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/internal/proto/wrapper.go b/internal/proto/wrapper.go new file mode 100644 index 00000000..d7b3874f --- /dev/null +++ b/internal/proto/wrapper.go @@ -0,0 +1,37 @@ +package proto + +import "google.golang.org/protobuf/proto" + +type Message = proto.Message + +func Marshal(m Message) ([]byte, error) { + return proto.Marshal(m) +} + +func Unmarshal(b []byte, m Message) error { + return proto.Unmarshal(b, m) +} + +// Bool stores v in a new bool value and returns a pointer to it. +func Bool(v bool) *bool { return &v } + +// Int32 stores v in a new int32 value and returns a pointer to it. +func Int32(v int32) *int32 { return &v } + +// Int64 stores v in a new int64 value and returns a pointer to it. +func Int64(v int64) *int64 { return &v } + +// Float32 stores v in a new float32 value and returns a pointer to it. +func Float32(v float32) *float32 { return &v } + +// Float64 stores v in a new float64 value and returns a pointer to it. +func Float64(v float64) *float64 { return &v } + +// Uint32 stores v in a new uint32 value and returns a pointer to it. +func Uint32(v uint32) *uint32 { return &v } + +// Uint64 stores v in a new uint64 value and returns a pointer to it. +func Uint64(v uint64) *uint64 { return &v } + +// String stores v in a new string value and returns a pointer to it. +func String(v string) *string { return &v } diff --git a/message/forward.go b/message/forward.go index 1b144d6e..62cc8e45 100644 --- a/message/forward.go +++ b/message/forward.go @@ -4,10 +4,9 @@ import ( "bytes" "crypto/md5" - "google.golang.org/protobuf/proto" - "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/msg" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/message/image.go b/message/image.go index f3db709f..80018ceb 100644 --- a/message/image.go +++ b/message/image.go @@ -3,10 +3,9 @@ package message import ( "strings" - "google.golang.org/protobuf/proto" - "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/msg" + "github.com/Mrs4s/MiraiGo/internal/proto" ) /* -------- Definitions -------- */ diff --git a/message/marketface.go b/message/marketface.go index da1b69cd..8f594829 100644 --- a/message/marketface.go +++ b/message/marketface.go @@ -4,8 +4,8 @@ import ( "fmt" "github.com/Mrs4s/MiraiGo/client/pb/msg" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" - "google.golang.org/protobuf/proto" ) type MarketFaceElement struct { diff --git a/message/message.go b/message/message.go index b7d311d9..4a1a4fe4 100644 --- a/message/message.go +++ b/message/message.go @@ -7,10 +7,9 @@ import ( "strconv" "strings" - "google.golang.org/protobuf/proto" - "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/msg" + "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" ) diff --git a/message/pack.go b/message/pack.go index 410be098..0f5d55ad 100644 --- a/message/pack.go +++ b/message/pack.go @@ -4,10 +4,9 @@ import ( "encoding/hex" "fmt" - "google.golang.org/protobuf/proto" - "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/msg" + "github.com/Mrs4s/MiraiGo/internal/proto" ) /*