1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-06-19 05:55:05 +08:00

all: adapt new proto2 api

This commit is contained in:
wdvxdr 2022-05-24 09:58:30 +08:00
parent 59db392118
commit 5b616d65f7
No known key found for this signature in database
GPG Key ID: 703F8C071DE7A1B6
75 changed files with 3858 additions and 20278 deletions

31
Makefile Normal file
View File

@ -0,0 +1,31 @@
PROTO_DIR=./client/pb
PROTO_IMPORT_PATH=./client
PROTO_FILES = \
$(PROTO_DIR)/*.proto \
$(PROTO_DIR)/channel/*.proto \
$(PROTO_DIR)/cmd0x3f6/*.proto \
$(PROTO_DIR)/cmd0x6ff/*.proto \
$(PROTO_DIR)/cmd0x346/*.proto \
$(PROTO_DIR)/cmd0x352/*.proto \
$(PROTO_DIR)/cmd0x388/*.proto \
$(PROTO_DIR)/exciting/*.proto \
$(PROTO_DIR)/faceroam/*.proto \
$(PROTO_DIR)/highway/*.proto \
$(PROTO_DIR)/longmsg/*.proto \
$(PROTO_DIR)/msf/*.proto \
$(PROTO_DIR)/msg/*.proto \
$(PROTO_DIR)/msgtype0x210/*.proto \
$(PROTO_DIR)/multimsg/*.proto \
$(PROTO_DIR)/notify/*.proto \
$(PROTO_DIR)/oidb/*.proto \
$(PROTO_DIR)/profilecard/*.proto \
$(PROTO_DIR)/pttcenter/*.proto \
$(PROTO_DIR)/qweb/*.proto \
$(PROTO_DIR)/richmedia/*.proto \
$(PROTO_DIR)/structmsg/*.proto \
$(PROTO_DIR)/web/*.proto
proto:
protoc --golite_out=. --golite_opt=paths=source_relative -I=$(PROTO_IMPORT_PATH) $(PROTO_FILES)

View File

@ -663,9 +663,9 @@ func (c *QQClient) buildSummaryCardRequestPacket(target int64) (uint16, []byte)
comm, _ := proto.Marshal(&profilecard.BusiComm{ comm, _ := proto.Marshal(&profilecard.BusiComm{
Ver: proto.Int32(1), Ver: proto.Int32(1),
Seq: proto.Int32(int32(seq)), Seq: proto.Int32(int32(seq)),
Fromuin: &c.Uin, Fromuin: proto.Some(c.Uin),
Touin: &target, Touin: proto.Some(target),
Service: &t, Service: proto.Some(t),
Platform: proto.Int32(2), Platform: proto.Int32(2),
Qqver: proto.String("8.4.18.4945"), Qqver: proto.String("8.4.18.4945"),
Build: proto.Int32(4945), Build: proto.Int32(4945),
@ -680,9 +680,9 @@ func (c *QQClient) buildSummaryCardRequestPacket(target int64) (uint16, []byte)
} }
gate, _ := proto.Marshal(&profilecard.GateVaProfileGateReq{ gate, _ := proto.Marshal(&profilecard.GateVaProfileGateReq{
UCmd: proto.Int32(3), UCmd: proto.Int32(3),
StPrivilegeReq: &profilecard.GatePrivilegeBaseInfoReq{UReqUin: &target}, StPrivilegeReq: &profilecard.GatePrivilegeBaseInfoReq{UReqUin: proto.Some(target)},
StGiftReq: &profilecard.GateGetGiftListReq{Uin: proto.Int32(int32(target))}, StGiftReq: &profilecard.GateGetGiftListReq{Uin: proto.Int32(int32(target))},
StVipCare: &profilecard.GateGetVipCareReq{Uin: &target}, StVipCare: &profilecard.GateGetVipCareReq{Uin: proto.Some(target)},
OidbFlag: []*profilecard.GateOidbFlagInfo{ OidbFlag: []*profilecard.GateOidbFlagInfo{
{ {
Fieled: proto.Int32(42334), Fieled: proto.Int32(42334),
@ -835,7 +835,7 @@ func (c *QQClient) buildGetMessageRequestPacket(flag msg.SyncFlag, msgTime int64
cook := c.sig.SyncCookie cook := c.sig.SyncCookie
if cook == nil { if cook == nil {
cook, _ = proto.Marshal(&msg.SyncCookie{ cook, _ = proto.Marshal(&msg.SyncCookie{
Time: &msgTime, Time: proto.Some(msgTime),
Ran1: proto.Int64(758330138), Ran1: proto.Int64(758330138),
Ran2: proto.Int64(2480149246), Ran2: proto.Int64(2480149246),
Const1: proto.Int64(1167238020), Const1: proto.Int64(1167238020),
@ -844,7 +844,7 @@ func (c *QQClient) buildGetMessageRequestPacket(flag msg.SyncFlag, msgTime int64
}) })
} }
req := &msg.GetMessageRequest{ req := &msg.GetMessageRequest{
SyncFlag: &flag, SyncFlag: proto.Some(int32(flag)),
SyncCookie: cook, SyncCookie: cook,
LatestRambleNumber: proto.Int32(20), LatestRambleNumber: proto.Int32(20),
OtherRambleNumber: proto.Int32(3), OtherRambleNumber: proto.Int32(3),
@ -967,10 +967,10 @@ func (c *QQClient) buildEditGroupTagPacket(groupCode, memberUin int64, newTag st
// OidbSvc.0x8fc_2 // OidbSvc.0x8fc_2
func (c *QQClient) buildEditSpecialTitlePacket(groupCode, memberUin int64, newTitle string) (uint16, []byte) { func (c *QQClient) buildEditSpecialTitlePacket(groupCode, memberUin int64, newTitle string) (uint16, []byte) {
body := &oidb.D8FCReqBody{ body := &oidb.D8FCReqBody{
GroupCode: &groupCode, GroupCode: proto.Some(groupCode),
MemLevelInfo: []*oidb.D8FCMemberInfo{ MemLevelInfo: []*oidb.D8FCMemberInfo{
{ {
Uin: &memberUin, Uin: proto.Some(memberUin),
UinName: []byte(newTitle), UinName: []byte(newTitle),
SpecialTitle: []byte(newTitle), SpecialTitle: []byte(newTitle),
SpecialTitleExpireTime: proto.Int32(-1), SpecialTitleExpireTime: proto.Int32(-1),
@ -1009,7 +1009,7 @@ func (c *QQClient) buildGroupMuteAllPacket(groupCode int64, mute bool) (uint16,
body := &oidb.D89AReqBody{ body := &oidb.D89AReqBody{
GroupCode: groupCode, GroupCode: groupCode,
StGroupInfo: &oidb.D89AGroupinfo{ StGroupInfo: &oidb.D89AGroupinfo{
ShutupTime: &shutUpTime, ShutupTime: proto.Some(shutUpTime),
}, },
} }
return c.buildGroupOperationPacket(body) return c.buildGroupOperationPacket(body)

View File

@ -51,17 +51,17 @@ func (c *QQClient) c2cMessageSyncProcessor(rsp *msg.GetMessageResponse, info *ne
for _, pMsg := range pairMsg.Messages { for _, pMsg := range pairMsg.Messages {
// delete message // delete message
delItem := &pb.MessageItem{ delItem := &pb.MessageItem{
FromUin: pMsg.Head.GetFromUin(), FromUin: pMsg.Head.FromUin.Unwrap(),
ToUin: pMsg.Head.GetToUin(), ToUin: pMsg.Head.ToUin.Unwrap(),
MsgType: pMsg.Head.GetMsgType(), MsgType: pMsg.Head.MsgType.Unwrap(),
MsgSeq: pMsg.Head.GetMsgSeq(), MsgSeq: pMsg.Head.MsgSeq.Unwrap(),
MsgUid: pMsg.Head.GetMsgUid(), MsgUid: pMsg.Head.MsgUid.Unwrap(),
} }
delItems = append(delItems, delItem) delItems = append(delItems, delItem)
if pMsg.Head.GetToUin() != c.Uin { if pMsg.Head.ToUin.Unwrap() != c.Uin {
continue continue
} }
if (int64(pairMsg.GetLastReadTime()) & 4294967295) > int64(pMsg.Head.GetMsgTime()) { if (int64(pairMsg.LastReadTime.Unwrap()) & 4294967295) > int64(pMsg.Head.MsgTime.Unwrap()) {
continue continue
} }
c.commMsgProcessor(pMsg, info) c.commMsgProcessor(pMsg, info)
@ -70,43 +70,43 @@ func (c *QQClient) c2cMessageSyncProcessor(rsp *msg.GetMessageResponse, info *ne
if delItems != nil { if delItems != nil {
_, _ = c.sendAndWait(c.buildDeleteMessageRequestPacket(delItems)) _, _ = c.sendAndWait(c.buildDeleteMessageRequestPacket(delItems))
} }
if rsp.GetSyncFlag() != msg.SyncFlag_STOP { if rsp.SyncFlag.Unwrap() != msg.SyncFlag_STOP {
c.debug("continue sync with flag: %v", rsp.SyncFlag) c.debug("continue sync with flag: %v", rsp.SyncFlag)
seq, pkt := c.buildGetMessageRequestPacket(rsp.GetSyncFlag(), time.Now().Unix()) seq, pkt := c.buildGetMessageRequestPacket(rsp.SyncFlag.Unwrap(), time.Now().Unix())
_, _ = c.sendAndWait(seq, pkt, info.Params) _, _ = c.sendAndWait(seq, pkt, info.Params)
} }
} }
func (c *QQClient) commMsgProcessor(pMsg *msg.Message, info *network.IncomingPacketInfo) { func (c *QQClient) commMsgProcessor(pMsg *msg.Message, info *network.IncomingPacketInfo) {
strKey := fmt.Sprintf("%d%d%d%d", pMsg.Head.GetFromUin(), pMsg.Head.GetToUin(), pMsg.Head.GetMsgSeq(), pMsg.Head.GetMsgUid()) strKey := fmt.Sprintf("%d%d%d%d", pMsg.Head.FromUin.Unwrap(), pMsg.Head.ToUin.Unwrap(), pMsg.Head.MsgSeq.Unwrap(), pMsg.Head.MsgUid.Unwrap())
if _, ok := c.msgSvcCache.GetAndUpdate(strKey, time.Hour); ok { if _, ok := c.msgSvcCache.GetAndUpdate(strKey, time.Hour); ok {
c.debug("c2c msg %v already exists in cache. skip.", pMsg.Head.GetMsgUid()) c.debug("c2c msg %v already exists in cache. skip.", pMsg.Head.MsgUid.Unwrap())
return return
} }
c.msgSvcCache.Add(strKey, unit{}, time.Hour) c.msgSvcCache.Add(strKey, unit{}, time.Hour)
if c.lastC2CMsgTime > int64(pMsg.Head.GetMsgTime()) && (c.lastC2CMsgTime-int64(pMsg.Head.GetMsgTime())) > 60*10 { if c.lastC2CMsgTime > int64(pMsg.Head.MsgTime.Unwrap()) && (c.lastC2CMsgTime-int64(pMsg.Head.MsgTime.Unwrap())) > 60*10 {
c.debug("c2c msg filtered by time. lastMsgTime: %v msgTime: %v", c.lastC2CMsgTime, pMsg.Head.GetMsgTime()) c.debug("c2c msg filtered by time. lastMsgTime: %v msgTime: %v", c.lastC2CMsgTime, pMsg.Head.MsgTime.Unwrap())
return return
} }
c.lastC2CMsgTime = int64(pMsg.Head.GetMsgTime()) c.lastC2CMsgTime = int64(pMsg.Head.MsgTime.Unwrap())
if info.Params.Bool("init") { if info.Params.Bool("init") {
return return
} }
if decoder, _ := peekC2CDecoder(pMsg.Head.GetMsgType()); decoder != nil { if decoder, _ := peekC2CDecoder(pMsg.Head.MsgType.Unwrap()); decoder != nil {
decoder(c, pMsg, info) decoder(c, pMsg, info)
} else { } else {
c.debug("unknown msg type on c2c processor: %v - %v", pMsg.Head.GetMsgType(), pMsg.Head.GetC2CCmd()) c.debug("unknown msg type on c2c processor: %v - %v", pMsg.Head.MsgType.Unwrap(), pMsg.Head.C2CCmd.Unwrap())
} }
} }
func privateMessageDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPacketInfo) { func privateMessageDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPacketInfo) {
switch pMsg.Head.GetC2CCmd() { switch pMsg.Head.C2CCmd.Unwrap() {
case 11, 175: // friend msg case 11, 175: // friend msg
if pMsg.Head.GetFromUin() == c.Uin { if pMsg.Head.FromUin.Unwrap() == c.Uin {
for { for {
frdSeq := c.friendSeq.Load() frdSeq := c.friendSeq.Load()
if frdSeq < pMsg.Head.GetMsgSeq() { if frdSeq < pMsg.Head.MsgSeq.Unwrap() {
if c.friendSeq.CAS(frdSeq, pMsg.Head.GetMsgSeq()) { if c.friendSeq.CAS(frdSeq, pMsg.Head.MsgSeq.Unwrap()) {
break break
} }
} else { } else {
@ -119,11 +119,11 @@ func privateMessageDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPa
} }
// handle fragmented message // handle fragmented message
if pMsg.Content != nil && pMsg.Content.GetPkgNum() > 1 { if pMsg.Content != nil && pMsg.Content.PkgNum.Unwrap() > 1 {
seq := pMsg.Content.GetDivSeq() seq := pMsg.Content.DivSeq.Unwrap()
builder := c.messageBuilder(seq) builder := c.messageBuilder(seq)
builder.append(pMsg) builder.append(pMsg)
if builder.len() < pMsg.Content.GetPkgNum() { if builder.len() < pMsg.Content.PkgNum.Unwrap() {
// continue to receive other fragments // continue to receive other fragments
return return
} }
@ -131,13 +131,13 @@ func privateMessageDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPa
pMsg = builder.build() pMsg = builder.build()
} }
if pMsg.Head.GetFromUin() == c.Uin { if pMsg.Head.FromUin.Unwrap() == c.Uin {
c.SelfPrivateMessageEvent.dispatch(c, c.parsePrivateMessage(pMsg)) c.SelfPrivateMessageEvent.dispatch(c, c.parsePrivateMessage(pMsg))
return return
} }
c.PrivateMessageEvent.dispatch(c, c.parsePrivateMessage(pMsg)) c.PrivateMessageEvent.dispatch(c, c.parsePrivateMessage(pMsg))
default: default:
c.debug("unknown c2c cmd on private msg decoder: %v", pMsg.Head.GetC2CCmd()) c.debug("unknown c2c cmd on private msg decoder: %v", pMsg.Head.C2CCmd.Unwrap())
} }
} }
@ -156,28 +156,28 @@ func tempSessionDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPacke
if pMsg.Head.C2CTmpMsgHead == nil || pMsg.Body == nil { if pMsg.Head.C2CTmpMsgHead == nil || pMsg.Body == nil {
return return
} }
if (pMsg.Head.GetMsgType() == 529 && pMsg.Head.GetC2CCmd() == 6) || pMsg.Body.RichText != nil { if (pMsg.Head.MsgType.Unwrap() == 529 && pMsg.Head.C2CCmd.Unwrap() == 6) || pMsg.Body.RichText != nil {
genTempSessionInfo := func() *TempSessionInfo { genTempSessionInfo := func() *TempSessionInfo {
if pMsg.Head.C2CTmpMsgHead.GetServiceType() == 0 { if pMsg.Head.C2CTmpMsgHead.ServiceType.Unwrap() == 0 {
group := c.FindGroup(pMsg.Head.C2CTmpMsgHead.GetGroupCode()) group := c.FindGroup(pMsg.Head.C2CTmpMsgHead.GroupCode.Unwrap())
if group == nil { if group == nil {
return nil return nil
} }
return &TempSessionInfo{ return &TempSessionInfo{
Source: GroupSource, Source: GroupSource,
GroupCode: group.Code, GroupCode: group.Code,
Sender: pMsg.Head.GetFromUin(), Sender: pMsg.Head.FromUin.Unwrap(),
client: c, client: c,
} }
} }
info := &TempSessionInfo{ info := &TempSessionInfo{
Source: 0, Source: 0,
Sender: pMsg.Head.GetFromUin(), Sender: pMsg.Head.FromUin.Unwrap(),
sig: pMsg.Head.C2CTmpMsgHead.Sig, sig: pMsg.Head.C2CTmpMsgHead.Sig,
client: c, client: c,
} }
switch pMsg.Head.C2CTmpMsgHead.GetServiceType() { switch pMsg.Head.C2CTmpMsgHead.ServiceType.Unwrap() {
case 1: case 1:
info.Source = MultiChatSource info.Source = MultiChatSource
case 130: case 130:
@ -198,12 +198,12 @@ func tempSessionDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPacke
return return
} }
/* /*
group := c.FindGroup(pMsg.Head.C2CTmpMsgHead.GetGroupCode()) group := c.FindGroup(pMsg.Head.C2CTmpMsgHead.GroupCode.Unwrap())
if group == nil { if group == nil {
return return
} }
*/ */
if pMsg.Head.GetFromUin() == c.Uin { if pMsg.Head.FromUin.Unwrap() == c.Uin {
return return
} }
c.TempMessageEvent.dispatch(c, &TempMessageEvent{ c.TempMessageEvent.dispatch(c, &TempMessageEvent{
@ -216,14 +216,14 @@ func tempSessionDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPacke
func troopAddMemberBroadcastDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPacketInfo) { func troopAddMemberBroadcastDecoder(c *QQClient, pMsg *msg.Message, _ *network.IncomingPacketInfo) {
groupJoinLock.Lock() groupJoinLock.Lock()
defer groupJoinLock.Unlock() defer groupJoinLock.Unlock()
group := c.FindGroupByUin(pMsg.Head.GetFromUin()) group := c.FindGroupByUin(pMsg.Head.FromUin.Unwrap())
if pMsg.Head.GetAuthUin() == c.Uin { if pMsg.Head.AuthUin.Unwrap() == c.Uin {
if group == nil && c.ReloadGroupList() == nil { if group == nil && c.ReloadGroupList() == nil {
c.GroupJoinEvent.dispatch(c, c.FindGroupByUin(pMsg.Head.GetFromUin())) c.GroupJoinEvent.dispatch(c, c.FindGroupByUin(pMsg.Head.FromUin.Unwrap()))
} }
} else { } else {
if group != nil && group.FindMember(pMsg.Head.GetAuthUin()) == nil { if group != nil && group.FindMember(pMsg.Head.AuthUin.Unwrap()) == nil {
mem, err := c.GetMemberInfo(group.Code, pMsg.Head.GetAuthUin()) mem, err := c.GetMemberInfo(group.Code, pMsg.Head.AuthUin.Unwrap())
if err != nil { if err != nil {
c.debug("error to fetch new member info: %v", err) c.debug("error to fetch new member info: %v", err)
return return
@ -246,7 +246,7 @@ func systemMessageDecoder(c *QQClient, _ *msg.Message, _ *network.IncomingPacket
} }
func troopSystemMessageDecoder(c *QQClient, pMsg *msg.Message, info *network.IncomingPacketInfo) { func troopSystemMessageDecoder(c *QQClient, pMsg *msg.Message, info *network.IncomingPacketInfo) {
if !info.Params.Bool("used_reg_proxy") && pMsg.Head.GetMsgType() != 85 && pMsg.Head.GetMsgType() != 36 { if !info.Params.Bool("used_reg_proxy") && pMsg.Head.MsgType.Unwrap() != 85 && pMsg.Head.MsgType.Unwrap() != 36 {
c.exceptAndDispatchGroupSysMsg() c.exceptAndDispatchGroupSysMsg()
} }
if len(pMsg.Body.MsgContent) == 0 { if len(pMsg.Body.MsgContent) == 0 {
@ -254,14 +254,14 @@ func troopSystemMessageDecoder(c *QQClient, pMsg *msg.Message, info *network.Inc
} }
reader := binary.NewReader(pMsg.Body.MsgContent) reader := binary.NewReader(pMsg.Body.MsgContent)
groupCode := uint32(reader.ReadInt32()) groupCode := uint32(reader.ReadInt32())
if info := c.FindGroup(int64(groupCode)); info != nil && pMsg.Head.GetGroupName() != "" && info.Name != pMsg.Head.GetGroupName() { if info := c.FindGroup(int64(groupCode)); info != nil && pMsg.Head.GroupName.Unwrap() != "" && info.Name != pMsg.Head.GroupName.Unwrap() {
c.debug("group %v name updated. %v -> %v", groupCode, info.Name, pMsg.Head.GetGroupName()) c.debug("group %v name updated. %v -> %v", groupCode, info.Name, pMsg.Head.GroupName.Unwrap())
info.Name = pMsg.Head.GetGroupName() info.Name = pMsg.Head.GroupName.Unwrap()
} }
} }
func msgType0x211Decoder(c *QQClient, pMsg *msg.Message, info *network.IncomingPacketInfo) { func msgType0x211Decoder(c *QQClient, pMsg *msg.Message, info *network.IncomingPacketInfo) {
if pMsg.Head.GetC2CCmd() == 6 || pMsg.Head.C2CTmpMsgHead != nil { if pMsg.Head.C2CCmd.Unwrap() == 6 || pMsg.Head.C2CTmpMsgHead != nil {
tempSessionDecoder(c, pMsg, info) tempSessionDecoder(c, pMsg, info)
} }
sub4 := msg.SubMsgType0X4Body{} sub4 := msg.SubMsgType0X4Body{}
@ -270,15 +270,15 @@ func msgType0x211Decoder(c *QQClient, pMsg *msg.Message, info *network.IncomingP
c.error("unmarshal sub msg 0x4 error: %v", err) c.error("unmarshal sub msg 0x4 error: %v", err)
return return
} }
if sub4.NotOnlineFile != nil && sub4.NotOnlineFile.GetSubcmd() == 1 { // subcmd: 1 -> sendPacket, 2-> recv if sub4.NotOnlineFile != nil && sub4.NotOnlineFile.Subcmd.Unwrap() == 1 { // subcmd: 1 -> sendPacket, 2-> recv
rsp, err := c.sendAndWait(c.buildOfflineFileDownloadRequestPacket(sub4.NotOnlineFile.FileUuid)) // offline_file.go rsp, err := c.sendAndWait(c.buildOfflineFileDownloadRequestPacket(sub4.NotOnlineFile.FileUuid)) // offline_file.go
if err != nil { if err != nil {
return return
} }
c.OfflineFileEvent.dispatch(c, &OfflineFileEvent{ c.OfflineFileEvent.dispatch(c, &OfflineFileEvent{
FileName: string(sub4.NotOnlineFile.FileName), FileName: string(sub4.NotOnlineFile.FileName),
FileSize: sub4.NotOnlineFile.GetFileSize(), FileSize: sub4.NotOnlineFile.FileSize.Unwrap(),
Sender: pMsg.Head.GetFromUin(), Sender: pMsg.Head.FromUin.Unwrap(),
DownloadUrl: rsp.(string), DownloadUrl: rsp.(string),
}) })
} }

View File

@ -347,15 +347,15 @@ func decodePushReqPacket(c *QQClient, _ *network.IncomingPacketInfo, payload []b
c.highwaySession.SigSession = rsp.RspBody.SigSession c.highwaySession.SigSession = rsp.RspBody.SigSession
c.highwaySession.SessionKey = rsp.RspBody.SessionKey c.highwaySession.SessionKey = rsp.RspBody.SessionKey
for _, srv := range rsp.RspBody.Addrs { for _, srv := range rsp.RspBody.Addrs {
if srv.GetServiceType() == 10 { if srv.ServiceType.Unwrap() == 10 {
for _, addr := range srv.Addrs { for _, addr := range srv.Addrs {
c.highwaySession.AppendAddr(addr.GetIp(), addr.GetPort()) c.highwaySession.AppendAddr(addr.Ip.Unwrap(), addr.Port.Unwrap())
} }
} }
/* /*
if srv.GetServiceType() == 21 { if srv.ServiceType.Unwrap() == 21 {
for _, addr := range srv.Addrs { for _, addr := range srv.Addrs {
c.otherSrvAddrs = append(c.otherSrvAddrs, fmt.Sprintf("%v:%v", binary.UInt32ToIPV4Address(addr.GetIp()), addr.GetPort())) c.otherSrvAddrs = append(c.otherSrvAddrs, fmt.Sprintf("%v:%v", binary.UInt32ToIPV4Address(addr.Ip.Unwrap()), addr.Port.Unwrap()))
} }
} }
@ -445,11 +445,11 @@ func decodeSummaryCardResponse(_ *QQClient, _ *network.IncomingPacketInfo, paylo
} }
for _, buf := range services { for _, buf := range services {
comm, payload := readService(buf) comm, payload := readService(buf)
if comm.GetService() == 16 { if comm.Service.Unwrap() == 16 {
rsp := profilecard.GateVaProfileGateRsp{} rsp := profilecard.GateVaProfileGateRsp{}
_ = proto.Unmarshal(payload, &rsp) _ = proto.Unmarshal(payload, &rsp)
if rsp.QidInfo != nil { if rsp.QidInfo != nil {
info.Qid = rsp.QidInfo.GetQid() info.Qid = rsp.QidInfo.Qid.Unwrap()
} }
} }
} }
@ -602,19 +602,19 @@ func decodeOffPicUpResponse(_ *QQClient, _ *network.IncomingPacketInfo, payload
Message: string(rsp.FailMsg), Message: string(rsp.FailMsg),
}, nil }, nil
} }
if rsp.GetSubcmd() != 1 || len(rsp.TryupImgRsp) == 0 { if rsp.Subcmd.Unwrap() != 1 || len(rsp.TryupImgRsp) == 0 {
return &imageUploadResponse{ return &imageUploadResponse{
ResultCode: -2, ResultCode: -2,
}, nil }, nil
} }
imgRsp := rsp.TryupImgRsp[0] imgRsp := rsp.TryupImgRsp[0]
if imgRsp.GetResult() != 0 { if imgRsp.Result.Unwrap() != 0 {
return &imageUploadResponse{ return &imageUploadResponse{
ResultCode: int32(*imgRsp.Result), ResultCode: int32(imgRsp.Result.Unwrap()),
Message: string(imgRsp.FailMsg), Message: string(imgRsp.FailMsg),
}, nil }, nil
} }
if imgRsp.GetFileExit() { if imgRsp.FileExit.Unwrap() {
return &imageUploadResponse{ return &imageUploadResponse{
IsExists: true, IsExists: true,
ResourceId: string(imgRsp.UpResid), ResourceId: string(imgRsp.UpResid),
@ -636,18 +636,18 @@ func decodeOnlinePushTransPacket(c *QQClient, _ *network.IncomingPacketInfo, pay
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
data := binary.NewReader(info.MsgData) data := binary.NewReader(info.MsgData)
idStr := strconv.FormatInt(info.GetMsgUid(), 10) idStr := strconv.FormatInt(info.MsgUid.Unwrap(), 10)
if _, ok := c.transCache.Get(idStr); ok { if _, ok := c.transCache.Get(idStr); ok {
return nil, nil return nil, nil
} }
c.transCache.Add(idStr, unit{}, time.Second*15) c.transCache.Add(idStr, unit{}, time.Second*15)
if info.GetMsgType() == 34 { if info.MsgType.Unwrap() == 34 {
data.ReadInt32() data.ReadInt32()
data.ReadByte() data.ReadByte()
target := int64(uint32(data.ReadInt32())) target := int64(uint32(data.ReadInt32()))
typ := int32(data.ReadByte()) typ := int32(data.ReadByte())
operator := int64(uint32(data.ReadInt32())) operator := int64(uint32(data.ReadInt32()))
if g := c.FindGroupByUin(info.GetFromUin()); g != nil { if g := c.FindGroupByUin(info.FromUin.Unwrap()); g != nil {
groupLeaveLock.Lock() groupLeaveLock.Lock()
defer groupLeaveLock.Unlock() defer groupLeaveLock.Unlock()
switch typ { switch typ {
@ -698,7 +698,7 @@ func decodeOnlinePushTransPacket(c *QQClient, _ *network.IncomingPacketInfo, pay
} }
} }
} }
if info.GetMsgType() == 44 { if info.MsgType.Unwrap() == 44 {
data.ReadBytes(5) data.ReadBytes(5)
var4 := int32(data.ReadByte()) var4 := int32(data.ReadByte())
var5 := int64(0) var5 := int64(0)
@ -706,7 +706,7 @@ func decodeOnlinePushTransPacket(c *QQClient, _ *network.IncomingPacketInfo, pay
if var4 != 0 && var4 != 1 { if var4 != 0 && var4 != 1 {
var5 = int64(uint32(data.ReadInt32())) var5 = int64(uint32(data.ReadInt32()))
} }
if g := c.FindGroupByUin(info.GetFromUin()); g != nil { if g := c.FindGroupByUin(info.FromUin.Unwrap()); g != nil {
if var5 == 0 && data.Len() == 1 { if var5 == 0 && data.Len() == 1 {
newPermission := Member newPermission := Member
if data.ReadByte() == 1 { if data.ReadByte() == 1 {
@ -806,8 +806,8 @@ func decodeAppInfoResponse(_ *QQClient, _ *incomingPacketInfo, payload []byte) (
if err := proto.Unmarshal(payload, &pkg); err != nil { if err := proto.Unmarshal(payload, &pkg); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if pkg.GetRetCode() != 0 { if pkg.RetCode.Unwrap() != 0 {
return nil, errors.New(pkg.GetErrMsg()) return nil, errors.New(pkg.ErrMsg.Unwrap())
} }
if err := proto.Unmarshal(pkg.BusiBuff, &rsp); err != nil { if err := proto.Unmarshal(pkg.BusiBuff, &rsp); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")

View File

@ -32,7 +32,7 @@ func (c *QQClient) buildFaceroamRequestPacket() (uint16, []byte) {
Comm: &faceroam.PlatInfo{ Comm: &faceroam.PlatInfo{
Implat: proto.Int64(109), Implat: proto.Int64(109),
Osver: proto.String(string(c.deviceInfo.Version.Release)), Osver: proto.String(string(c.deviceInfo.Version.Release)),
Mqqver: &c.version.SortVersionName, Mqqver: proto.Some(c.version.SortVersionName),
}, },
Uin: proto.Uint64(uint64(c.Uin)), Uin: proto.Uint64(uint64(c.Uin)),
SubCmd: proto.Uint32(1), SubCmd: proto.Uint32(1),
@ -53,7 +53,7 @@ func decodeFaceroamResponse(c *QQClient, _ *network.IncomingPacketInfo, payload
for i := len(rsp.RspUserInfo.Filename) - 1; i >= 0; i-- { for i := len(rsp.RspUserInfo.Filename) - 1; i >= 0; i-- {
res[len(rsp.RspUserInfo.Filename)-1-i] = &CustomFace{ res[len(rsp.RspUserInfo.Filename)-1-i] = &CustomFace{
ResId: rsp.RspUserInfo.Filename[i], ResId: rsp.RspUserInfo.Filename[i],
Url: fmt.Sprintf("https://p.qpic.cn/%s/%d/%s/0", rsp.RspUserInfo.GetBid(), c.Uin, rsp.RspUserInfo.Filename[i]), Url: fmt.Sprintf("https://p.qpic.cn/%s/%d/%s/0", rsp.RspUserInfo.Bid.Unwrap(), c.Uin, rsp.RspUserInfo.Filename[i]),
} }
} }
return res, nil return res, nil

View File

@ -176,12 +176,12 @@ func qualityTest(addr string) (int64, error) {
} }
func (c *QQClient) parsePrivateMessage(msg *msg.Message) *message.PrivateMessage { func (c *QQClient) parsePrivateMessage(msg *msg.Message) *message.PrivateMessage {
friend := c.FindFriend(msg.Head.GetFromUin()) friend := c.FindFriend(msg.Head.FromUin.Unwrap())
var sender *message.Sender var sender *message.Sender
if friend == nil { if friend == nil {
sender = &message.Sender{ sender = &message.Sender{
Uin: msg.Head.GetFromUin(), Uin: msg.Head.FromUin.Unwrap(),
Nickname: msg.Head.GetFromNick(), Nickname: msg.Head.FromNick.Unwrap(),
} }
} else { } else {
sender = &message.Sender{ sender = &message.Sender{
@ -191,18 +191,18 @@ func (c *QQClient) parsePrivateMessage(msg *msg.Message) *message.PrivateMessage
} }
} }
ret := &message.PrivateMessage{ ret := &message.PrivateMessage{
Id: msg.Head.GetMsgSeq(), Id: msg.Head.MsgSeq.Unwrap(),
Target: msg.Head.GetToUin(), Target: msg.Head.ToUin.Unwrap(),
Time: msg.Head.GetMsgTime(), Time: msg.Head.MsgTime.Unwrap(),
Sender: sender, Sender: sender,
Self: c.Uin, Self: c.Uin,
Elements: func() []message.IMessageElement { Elements: func() []message.IMessageElement {
if msg.Body.RichText.Ptt != nil { if msg.Body.RichText.Ptt != nil {
return []message.IMessageElement{ return []message.IMessageElement{
&message.VoiceElement{ &message.VoiceElement{
Name: msg.Body.RichText.Ptt.GetFileName(), Name: msg.Body.RichText.Ptt.FileName.Unwrap(),
Md5: msg.Body.RichText.Ptt.FileMd5, Md5: msg.Body.RichText.Ptt.FileMd5,
Size: msg.Body.RichText.Ptt.GetFileSize(), Size: msg.Body.RichText.Ptt.FileSize.Unwrap(),
Url: string(msg.Body.RichText.Ptt.DownPara), Url: string(msg.Body.RichText.Ptt.DownPara),
}, },
} }
@ -211,7 +211,7 @@ func (c *QQClient) parsePrivateMessage(msg *msg.Message) *message.PrivateMessage
}(), }(),
} }
if msg.Body.RichText.Attr != nil { if msg.Body.RichText.Attr != nil {
ret.InternalId = msg.Body.RichText.Attr.GetRandom() ret.InternalId = msg.Body.RichText.Attr.Random.Unwrap()
} }
return ret return ret
} }
@ -219,23 +219,23 @@ func (c *QQClient) parsePrivateMessage(msg *msg.Message) *message.PrivateMessage
func (c *QQClient) parseTempMessage(msg *msg.Message) *message.TempMessage { func (c *QQClient) parseTempMessage(msg *msg.Message) *message.TempMessage {
var groupCode int64 var groupCode int64
var groupName string var groupName string
group := c.FindGroupByUin(msg.Head.C2CTmpMsgHead.GetGroupUin()) group := c.FindGroupByUin(msg.Head.C2CTmpMsgHead.GroupUin.Unwrap())
sender := &message.Sender{ sender := &message.Sender{
Uin: msg.Head.GetFromUin(), Uin: msg.Head.FromUin.Unwrap(),
Nickname: "Unknown", Nickname: "Unknown",
IsFriend: false, IsFriend: false,
} }
if group != nil { if group != nil {
groupCode = group.Code groupCode = group.Code
groupName = group.Name groupName = group.Name
mem := group.FindMember(msg.Head.GetFromUin()) mem := group.FindMember(msg.Head.FromUin.Unwrap())
if mem != nil { if mem != nil {
sender.Nickname = mem.Nickname sender.Nickname = mem.Nickname
sender.CardName = mem.CardName sender.CardName = mem.CardName
} }
} }
return &message.TempMessage{ return &message.TempMessage{
Id: msg.Head.GetMsgSeq(), Id: msg.Head.MsgSeq.Unwrap(),
GroupCode: groupCode, GroupCode: groupCode,
GroupName: groupName, GroupName: groupName,
Self: c.Uin, Self: c.Uin,
@ -278,7 +278,7 @@ func (b *messageBuilder) build() *msg.Message {
b.lock.Lock() b.lock.Lock()
defer b.lock.Unlock() defer b.lock.Unlock()
sort.Slice(b.slices, func(i, j int) bool { sort.Slice(b.slices, func(i, j int) bool {
return b.slices[i].Content.GetPkgIndex() < b.slices[j].Content.GetPkgIndex() return b.slices[i].Content.PkgIndex.Unwrap() < b.slices[j].Content.PkgIndex.Unwrap()
}) })
base := b.slices[0] base := b.slices[0]
for _, m := range b.slices[1:] { for _, m := range b.slices[1:] {

View File

@ -84,8 +84,8 @@ func (c *QQClient) GetGroupFileSystem(groupCode int64) (fs *GroupFileSystem, err
return nil, e return nil, e
} }
fs = &GroupFileSystem{ fs = &GroupFileSystem{
FileCount: rsp.(*oidb.D6D8RspBody).FileCountRsp.GetAllFileCount(), FileCount: rsp.(*oidb.D6D8RspBody).FileCountRsp.AllFileCount.Unwrap(),
LimitCount: rsp.(*oidb.D6D8RspBody).FileCountRsp.GetLimitCount(), LimitCount: rsp.(*oidb.D6D8RspBody).FileCountRsp.LimitCount.Unwrap(),
GroupCode: groupCode, GroupCode: groupCode,
client: c, client: c,
} }
@ -93,8 +93,8 @@ func (c *QQClient) GetGroupFileSystem(groupCode int64) (fs *GroupFileSystem, err
if err != nil { if err != nil {
return nil, err return nil, err
} }
fs.TotalSpace = rsp.(*oidb.D6D8RspBody).GroupSpaceRsp.GetTotalSpace() fs.TotalSpace = rsp.(*oidb.D6D8RspBody).GroupSpaceRsp.TotalSpace.Unwrap()
fs.UsedSpace = rsp.(*oidb.D6D8RspBody).GroupSpaceRsp.GetUsedSpace() fs.UsedSpace = rsp.(*oidb.D6D8RspBody).GroupSpaceRsp.UsedSpace.Unwrap()
return fs, nil return fs, nil
} }
@ -129,34 +129,34 @@ func (fs *GroupFileSystem) GetFilesByFolder(folderID string) ([]*GroupFile, []*G
if item.FileInfo != nil { if item.FileInfo != nil {
files = append(files, &GroupFile{ files = append(files, &GroupFile{
GroupCode: fs.GroupCode, GroupCode: fs.GroupCode,
FileId: item.FileInfo.GetFileId(), FileId: item.FileInfo.FileId.Unwrap(),
FileName: item.FileInfo.GetFileName(), FileName: item.FileInfo.FileName.Unwrap(),
BusId: int32(item.FileInfo.GetBusId()), BusId: int32(item.FileInfo.BusId.Unwrap()),
FileSize: int64(item.FileInfo.GetFileSize()), FileSize: int64(item.FileInfo.FileSize.Unwrap()),
UploadTime: int64(item.FileInfo.GetUploadTime()), UploadTime: int64(item.FileInfo.UploadTime.Unwrap()),
DeadTime: int64(item.FileInfo.GetDeadTime()), DeadTime: int64(item.FileInfo.DeadTime.Unwrap()),
ModifyTime: int64(item.FileInfo.GetModifyTime()), ModifyTime: int64(item.FileInfo.ModifyTime.Unwrap()),
DownloadTimes: int64(item.FileInfo.GetDownloadTimes()), DownloadTimes: int64(item.FileInfo.DownloadTimes.Unwrap()),
Uploader: int64(item.FileInfo.GetUploaderUin()), Uploader: int64(item.FileInfo.UploaderUin.Unwrap()),
UploaderName: item.FileInfo.GetUploaderName(), UploaderName: item.FileInfo.UploaderName.Unwrap(),
}) })
} }
if item.FolderInfo != nil { if item.FolderInfo != nil {
folders = append(folders, &GroupFolder{ folders = append(folders, &GroupFolder{
GroupCode: fs.GroupCode, GroupCode: fs.GroupCode,
FolderId: item.FolderInfo.GetFolderId(), FolderId: item.FolderInfo.FolderId.Unwrap(),
FolderName: item.FolderInfo.GetFolderName(), FolderName: item.FolderInfo.FolderName.Unwrap(),
CreateTime: int64(item.FolderInfo.GetCreateTime()), CreateTime: int64(item.FolderInfo.CreateTime.Unwrap()),
Creator: int64(item.FolderInfo.GetCreateUin()), Creator: int64(item.FolderInfo.CreateUin.Unwrap()),
CreatorName: item.FolderInfo.GetCreatorName(), CreatorName: item.FolderInfo.CreatorName.Unwrap(),
TotalFileCount: item.FolderInfo.GetTotalFileCount(), TotalFileCount: item.FolderInfo.TotalFileCount.Unwrap(),
}) })
} }
} }
if rsp.FileListInfoRsp.GetIsEnd() { if rsp.FileListInfoRsp.IsEnd.Unwrap() {
break break
} }
startIndex = rsp.FileListInfoRsp.GetNextIndex() startIndex = rsp.FileListInfoRsp.NextIndex.Unwrap()
} }
return files, folders, nil return files, folders, nil
} }
@ -182,8 +182,8 @@ func (fs *GroupFileSystem) UploadFile(p, name, folderId string) error {
return errors.Wrap(err, "query upload failed") return errors.Wrap(err, "query upload failed")
} }
rsp := i.(*oidb.UploadFileRspBody) rsp := i.(*oidb.UploadFileRspBody)
if rsp.GetBoolFileExist() { if rsp.BoolFileExist.Unwrap() {
_, pkt := fs.client.buildGroupFileFeedsRequest(fs.GroupCode, rsp.GetFileId(), rsp.GetBusId(), rand.Int31()) _, pkt := fs.client.buildGroupFileFeedsRequest(fs.GroupCode, rsp.FileId.Unwrap(), rsp.BusId.Unwrap(), rand.Int31())
return fs.client.sendPacket(pkt) return fs.client.sendPacket(pkt)
} }
if len(rsp.UploadIpLanV4) == 0 { if len(rsp.UploadIpLanV4) == 0 {
@ -195,15 +195,15 @@ func (fs *GroupFileSystem) UploadFile(p, name, folderId string) error {
Entry: &exciting.GroupFileUploadEntry{ Entry: &exciting.GroupFileUploadEntry{
BusiBuff: &exciting.ExcitingBusiInfo{ BusiBuff: &exciting.ExcitingBusiInfo{
BusId: rsp.BusId, BusId: rsp.BusId,
SenderUin: &fs.client.Uin, SenderUin: proto.Some(fs.client.Uin),
ReceiverUin: &fs.GroupCode, ReceiverUin: proto.Some(fs.GroupCode),
GroupCode: &fs.GroupCode, GroupCode: proto.Some(fs.GroupCode),
}, },
FileEntry: &exciting.ExcitingFileEntry{ FileEntry: &exciting.ExcitingFileEntry{
FileSize: &size, FileSize: proto.Some(size),
Md5: md5Hash, Md5: md5Hash,
Sha1: sha1Hash, Sha1: sha1Hash,
FileId: []byte(rsp.GetFileId()), FileId: []byte(rsp.FileId.Unwrap()),
UploadKey: rsp.CheckKey, UploadKey: rsp.CheckKey,
}, },
ClientInfo: &exciting.ExcitingClientInfo{ ClientInfo: &exciting.ExcitingClientInfo{
@ -213,12 +213,12 @@ func (fs *GroupFileSystem) UploadFile(p, name, folderId string) error {
ClientVer: proto.String("9e9c09dc"), ClientVer: proto.String("9e9c09dc"),
Unknown: proto.Int32(4), Unknown: proto.Int32(4),
}, },
FileNameInfo: &exciting.ExcitingFileNameInfo{FileName: &name}, FileNameInfo: &exciting.ExcitingFileNameInfo{FileName: proto.Some(name)},
Host: &exciting.ExcitingHostConfig{Hosts: []*exciting.ExcitingHostInfo{ Host: &exciting.ExcitingHostConfig{Hosts: []*exciting.ExcitingHostInfo{
{ {
Url: &exciting.ExcitingUrlInfo{ Url: &exciting.ExcitingUrlInfo{
Unknown: proto.Int32(1), Unknown: proto.Int32(1),
Host: &rsp.UploadIpLanV4[0], Host: proto.Some(rsp.UploadIpLanV4[0]),
}, },
Port: rsp.UploadPort, Port: rsp.UploadPort,
}, },
@ -236,7 +236,7 @@ func (fs *GroupFileSystem) UploadFile(p, name, folderId string) error {
if _, err = fs.client.highwaySession.UploadExciting(input); err != nil { if _, err = fs.client.highwaySession.UploadExciting(input); err != nil {
return errors.Wrap(err, "upload failed") return errors.Wrap(err, "upload failed")
} }
_, pkt := client.buildGroupFileFeedsRequest(fs.GroupCode, rsp.GetFileId(), rsp.GetBusId(), rand.Int31()) _, pkt := client.buildGroupFileFeedsRequest(fs.GroupCode, rsp.FileId.Unwrap(), rsp.BusId.Unwrap(), rand.Int31())
return client.sendPacket(pkt) return client.sendPacket(pkt)
} }
@ -277,14 +277,14 @@ func (fs *GroupFileSystem) DeleteFile(parentFolderID, fileId string, busId int32
func (c *QQClient) buildGroupFileUploadReqPacket(parentFolderID, fileName string, groupCode, fileSize int64, md5, sha1 []byte) (uint16, []byte) { func (c *QQClient) buildGroupFileUploadReqPacket(parentFolderID, fileName string, groupCode, fileSize int64, md5, sha1 []byte) (uint16, []byte) {
body := &oidb.D6D6ReqBody{UploadFileReq: &oidb.UploadFileReqBody{ body := &oidb.D6D6ReqBody{UploadFileReq: &oidb.UploadFileReqBody{
GroupCode: &groupCode, GroupCode: proto.Some(groupCode),
AppId: proto.Int32(3), AppId: proto.Int32(3),
BusId: proto.Int32(102), BusId: proto.Int32(102),
Entrance: proto.Int32(5), Entrance: proto.Int32(5),
ParentFolderId: &parentFolderID, ParentFolderId: proto.Some(parentFolderID),
FileName: &fileName, FileName: proto.Some(fileName),
LocalPath: proto.String("/storage/emulated/0/Pictures/files/s/" + fileName), LocalPath: proto.String("/storage/emulated/0/Pictures/files/s/" + fileName),
Int64FileSize: &fileSize, Int64FileSize: proto.Some(fileSize),
Sha: sha1, Sha: sha1,
Md5: md5, Md5: md5,
SupportMultiUpload: proto.Bool(true), SupportMultiUpload: proto.Bool(true),
@ -298,7 +298,7 @@ func (c *QQClient) buildGroupFileFeedsRequest(groupCode int64, fileID string, bu
GroupCode: proto.Uint64(uint64(groupCode)), GroupCode: proto.Uint64(uint64(groupCode)),
AppId: proto.Uint32(3), AppId: proto.Uint32(3),
FeedsInfoList: []*oidb.GroupFileFeedsInfo{{ FeedsInfoList: []*oidb.GroupFileFeedsInfo{{
FileId: &fileID, FileId: proto.Some(fileID),
FeedFlag: proto.Uint32(1), FeedFlag: proto.Uint32(1),
BusId: proto.Uint32(uint32(busId)), BusId: proto.Uint32(uint32(busId)),
MsgRandom: proto.Uint32(uint32(msgRand)), MsgRandom: proto.Uint32(uint32(msgRand)),
@ -312,14 +312,14 @@ func (c *QQClient) buildGroupFileListRequestPacket(groupCode int64, folderID str
body := &oidb.D6D8ReqBody{FileListInfoReq: &oidb.GetFileListReqBody{ body := &oidb.D6D8ReqBody{FileListInfoReq: &oidb.GetFileListReqBody{
GroupCode: proto.Uint64(uint64(groupCode)), GroupCode: proto.Uint64(uint64(groupCode)),
AppId: proto.Uint32(3), AppId: proto.Uint32(3),
FolderId: &folderID, FolderId: proto.Some(folderID),
FileCount: proto.Uint32(20), FileCount: proto.Uint32(20),
AllFileCount: proto.Uint32(0), AllFileCount: proto.Uint32(0),
ReqFrom: proto.Uint32(3), ReqFrom: proto.Uint32(3),
SortBy: proto.Uint32(1), SortBy: proto.Uint32(1),
FilterCode: proto.Uint32(0), FilterCode: proto.Uint32(0),
Uin: proto.Uint64(0), Uin: proto.Uint64(0),
StartIndex: &startIndex, StartIndex: proto.Some(startIndex),
Context: EmptyBytes, Context: EmptyBytes,
}} }}
payload := c.packOIDBPackageProto(1752, 1, body) payload := c.packOIDBPackageProto(1752, 1, body)
@ -351,8 +351,8 @@ func (c *QQClient) buildGroupFileCreateFolderPacket(groupCode int64, parentFolde
payload := c.packOIDBPackageProto(1751, 0, &oidb.D6D7ReqBody{CreateFolderReq: &oidb.CreateFolderReqBody{ payload := c.packOIDBPackageProto(1751, 0, &oidb.D6D7ReqBody{CreateFolderReq: &oidb.CreateFolderReqBody{
GroupCode: proto.Uint64(uint64(groupCode)), GroupCode: proto.Uint64(uint64(groupCode)),
AppId: proto.Uint32(3), AppId: proto.Uint32(3),
ParentFolderId: &parentFolder, ParentFolderId: proto.Some(parentFolder),
FolderName: &name, FolderName: proto.Some(name),
}}) }})
return c.uniPacket("OidbSvc.0x6d7_0", payload) return c.uniPacket("OidbSvc.0x6d7_0", payload)
} }
@ -380,10 +380,10 @@ func (c *QQClient) buildGroupFileDeleteFolderPacket(groupCode int64, folderId st
func (c *QQClient) buildGroupFileDownloadReqPacket(groupCode int64, fileId string, busId int32) (uint16, []byte) { func (c *QQClient) buildGroupFileDownloadReqPacket(groupCode int64, fileId string, busId int32) (uint16, []byte) {
body := &oidb.D6D6ReqBody{ body := &oidb.D6D6ReqBody{
DownloadFileReq: &oidb.DownloadFileReqBody{ DownloadFileReq: &oidb.DownloadFileReqBody{
GroupCode: &groupCode, GroupCode: proto.Some(groupCode),
AppId: proto.Int32(3), AppId: proto.Int32(3),
BusId: &busId, BusId: proto.Some(busId),
FileId: &fileId, FileId: proto.Some(fileId),
}, },
} }
payload := c.packOIDBPackageProto(1750, 2, body) payload := c.packOIDBPackageProto(1750, 2, body)
@ -392,11 +392,11 @@ func (c *QQClient) buildGroupFileDownloadReqPacket(groupCode int64, fileId strin
func (c *QQClient) buildGroupFileDeleteReqPacket(groupCode int64, parentFolderId, fileId string, busId int32) (uint16, []byte) { func (c *QQClient) buildGroupFileDeleteReqPacket(groupCode int64, parentFolderId, fileId string, busId int32) (uint16, []byte) {
body := &oidb.D6D6ReqBody{DeleteFileReq: &oidb.DeleteFileReqBody{ body := &oidb.D6D6ReqBody{DeleteFileReq: &oidb.DeleteFileReqBody{
GroupCode: &groupCode, GroupCode: proto.Some(groupCode),
AppId: proto.Int32(3), AppId: proto.Int32(3),
BusId: &busId, BusId: proto.Some(busId),
ParentFolderId: &parentFolderId, ParentFolderId: proto.Some(parentFolderId),
FileId: &fileId, FileId: proto.Some(fileId),
}} }}
payload := c.packOIDBPackageProto(1750, 3, body) payload := c.packOIDBPackageProto(1750, 3, body)
return c.uniPacket("OidbSvc.0x6d6_3", payload) return c.uniPacket("OidbSvc.0x6d6_3", payload)
@ -419,9 +419,9 @@ func decodeOIDB6d62Response(_ *QQClient, _ *network.IncomingPacketInfo, payload
return nil, err return nil, err
} }
if rsp.DownloadFileRsp.DownloadUrl == nil { if rsp.DownloadFileRsp.DownloadUrl == nil {
return nil, errors.New(rsp.DownloadFileRsp.GetClientWording()) return nil, errors.New(rsp.DownloadFileRsp.ClientWording.Unwrap())
} }
ip := rsp.DownloadFileRsp.GetDownloadIp() ip := rsp.DownloadFileRsp.DownloadIp.Unwrap()
url := hex.EncodeToString(rsp.DownloadFileRsp.DownloadUrl) url := hex.EncodeToString(rsp.DownloadFileRsp.DownloadUrl)
return fmt.Sprintf("http://%s/ftn_handler/%s/", ip, url), nil return fmt.Sprintf("http://%s/ftn_handler/%s/", ip, url), nil
} }
@ -432,7 +432,7 @@ func decodeOIDB6d63Response(_ *QQClient, _ *network.IncomingPacketInfo, payload
if err != nil { if err != nil {
return nil, err return nil, err
} }
return rsp.DeleteFileRsp.GetClientWording(), nil return rsp.DeleteFileRsp.ClientWording.Unwrap(), nil
} }
func decodeOIDB6d60Response(_ *QQClient, _ *network.IncomingPacketInfo, payload []byte) (any, error) { func decodeOIDB6d60Response(_ *QQClient, _ *network.IncomingPacketInfo, payload []byte) (any, error) {
@ -450,13 +450,13 @@ func decodeOIDB6d7Response(_ *QQClient, _ *network.IncomingPacketInfo, payload [
if err != nil { if err != nil {
return nil, err return nil, err
} }
if retCode := rsp.CreateFolderRsp.GetRetCode(); retCode != 0 { if retCode := rsp.CreateFolderRsp.RetCode.Unwrap(); retCode != 0 {
return nil, errors.Errorf("create folder error: %v", retCode) return nil, errors.Errorf("create folder error: %v", retCode)
} }
if retCode := rsp.RenameFolderRsp.GetRetCode(); retCode != 0 { if retCode := rsp.RenameFolderRsp.RetCode.Unwrap(); retCode != 0 {
return nil, errors.Errorf("rename folder error: %v", retCode) return nil, errors.Errorf("rename folder error: %v", retCode)
} }
if retCode := rsp.DeleteFolderRsp.GetRetCode(); retCode != 0 { if retCode := rsp.DeleteFolderRsp.RetCode.Unwrap(); retCode != 0 {
return nil, errors.Errorf("delete folder error: %v", retCode) return nil, errors.Errorf("delete folder error: %v", retCode)
} }
return nil, nil return nil, nil

View File

@ -140,7 +140,7 @@ func (c *QQClient) buildGroupSearchPacket(keyword string) (uint16, []byte) {
search, _ := proto.Marshal(&profilecard.AccountSearch{ search, _ := proto.Marshal(&profilecard.AccountSearch{
Start: proto.Int32(0), Start: proto.Int32(0),
End: proto.Uint32(4), End: proto.Uint32(4),
Keyword: &keyword, Keyword: proto.Some(keyword),
Highlight: []string{keyword}, Highlight: []string{keyword},
UserLocation: &profilecard.Location{ UserLocation: &profilecard.Location{
Latitude: proto.Float64(0), Latitude: proto.Float64(0),
@ -208,9 +208,9 @@ func decodeGroupSearchResponse(_ *QQClient, _ *network.IncomingPacketInfo, paylo
var ret []GroupSearchInfo var ret []GroupSearchInfo
for _, g := range searchRsp.List { for _, g := range searchRsp.List {
ret = append(ret, GroupSearchInfo{ ret = append(ret, GroupSearchInfo{
Code: int64(g.GetCode()), Code: int64(g.Code.Unwrap()),
Name: g.GetName(), Name: g.Name.Unwrap(),
Memo: g.GetBrief(), Memo: g.Brief.Unwrap(),
}) })
} }
return ret, nil return ret, nil
@ -233,16 +233,16 @@ func decodeGroupInfoResponse(c *QQClient, _ *network.IncomingPacketInfo, payload
return nil, errors.New("group info not found") return nil, errors.New("group info not found")
} }
return &GroupInfo{ return &GroupInfo{
Uin: int64(*info.GroupInfo.GroupUin), Uin: int64(info.GroupInfo.GroupUin.Unwrap()),
Code: int64(*info.GroupCode), Code: int64(info.GroupCode.Unwrap()),
Name: string(info.GroupInfo.GroupName), Name: string(info.GroupInfo.GroupName),
GroupCreateTime: *info.GroupInfo.GroupCreateTime, GroupCreateTime: info.GroupInfo.GroupCreateTime.Unwrap(),
GroupLevel: *info.GroupInfo.GroupLevel, GroupLevel: info.GroupInfo.GroupLevel.Unwrap(),
OwnerUin: int64(*info.GroupInfo.GroupOwner), OwnerUin: int64(info.GroupInfo.GroupOwner.Unwrap()),
MemberCount: uint16(*info.GroupInfo.GroupMemberNum), MemberCount: uint16(info.GroupInfo.GroupMemberNum.Unwrap()),
MaxMemberCount: uint16(*info.GroupInfo.GroupMemberMaxNum), MaxMemberCount: uint16(info.GroupInfo.GroupMemberMaxNum.Unwrap()),
Members: []*GroupMemberInfo{}, Members: []*GroupMemberInfo{},
LastMsgSeq: int64(info.GroupInfo.GetGroupCurMsgSeq()), LastMsgSeq: int64(info.GroupInfo.GroupCurMsgSeq.Unwrap()),
client: c, client: c,
}, nil }, nil
} }

View File

@ -219,8 +219,8 @@ func (c *QQClient) buildGroupSendingPacket(groupCode int64, r, pkgNum, pkgIndex,
} }
} }
req := &msg.SendMessageRequest{ req := &msg.SendMessageRequest{
RoutingHead: &msg.RoutingHead{Grp: &msg.Grp{GroupCode: &groupCode}}, RoutingHead: &msg.RoutingHead{Grp: &msg.Grp{GroupCode: proto.Some(groupCode)}},
ContentHead: &msg.ContentHead{PkgNum: &pkgNum, PkgIndex: &pkgIndex, DivSeq: &pkgDiv}, ContentHead: &msg.ContentHead{PkgNum: proto.Some(pkgNum), PkgIndex: proto.Some(pkgIndex), DivSeq: proto.Some(pkgDiv)},
MsgBody: &msg.MessageBody{ MsgBody: &msg.MessageBody{
RichText: &msg.RichText{ RichText: &msg.RichText{
Elems: message.ToProtoElems(m, true), Elems: message.ToProtoElems(m, true),
@ -233,7 +233,7 @@ func (c *QQClient) buildGroupSendingPacket(groupCode int64, r, pkgNum, pkgIndex,
}, },
}, },
MsgSeq: proto.Int32(c.nextGroupSeq()), MsgSeq: proto.Int32(c.nextGroupSeq()),
MsgRand: &r, MsgRand: proto.Some(r),
SyncCookie: EmptyBytes, SyncCookie: EmptyBytes,
MsgVia: proto.Int32(1), MsgVia: proto.Int32(1),
MsgCtrl: func() *msg.MsgCtrl { MsgCtrl: func() *msg.MsgCtrl {
@ -276,20 +276,20 @@ func decodeGroupMessagePacket(c *QQClient, _ *network.IncomingPacketInfo, payloa
if err != nil { if err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if pkt.Message.Head.GetFromUin() == c.Uin { if pkt.Message.Head.FromUin.Unwrap() == c.Uin {
c.dispatchGroupMessageReceiptEvent(&groupMessageReceiptEvent{ c.dispatchGroupMessageReceiptEvent(&groupMessageReceiptEvent{
Rand: pkt.Message.Body.RichText.Attr.GetRandom(), Rand: pkt.Message.Body.RichText.Attr.Random.Unwrap(),
Seq: pkt.Message.Head.GetMsgSeq(), Seq: pkt.Message.Head.MsgSeq.Unwrap(),
Msg: c.parseGroupMessage(pkt.Message), Msg: c.parseGroupMessage(pkt.Message),
}) })
} }
if pkt.Message.Content != nil && pkt.Message.Content.GetPkgNum() > 1 { if pkt.Message.Content != nil && pkt.Message.Content.PkgNum.Unwrap() > 1 {
seq := pkt.Message.Content.GetDivSeq() seq := pkt.Message.Content.DivSeq.Unwrap()
builder := c.messageBuilder(pkt.Message.Content.GetDivSeq()) builder := c.messageBuilder(pkt.Message.Content.DivSeq.Unwrap())
builder.append(pkt.Message) builder.append(pkt.Message)
if builder.len() >= pkt.Message.Content.GetPkgNum() { if builder.len() >= pkt.Message.Content.PkgNum.Unwrap() {
c.msgBuilders.Delete(seq) c.msgBuilders.Delete(seq)
if pkt.Message.Head.GetFromUin() == c.Uin { if pkt.Message.Head.FromUin.Unwrap() == c.Uin {
c.SelfGroupMessageEvent.dispatch(c, c.parseGroupMessage(builder.build())) c.SelfGroupMessageEvent.dispatch(c, c.parseGroupMessage(builder.build()))
} else { } else {
c.GroupMessageEvent.dispatch(c, c.parseGroupMessage(builder.build())) c.GroupMessageEvent.dispatch(c, c.parseGroupMessage(builder.build()))
@ -297,7 +297,7 @@ func decodeGroupMessagePacket(c *QQClient, _ *network.IncomingPacketInfo, payloa
} }
return nil, nil return nil, nil
} }
if pkt.Message.Head.GetFromUin() == c.Uin { if pkt.Message.Head.FromUin.Unwrap() == c.Uin {
c.SelfGroupMessageEvent.dispatch(c, c.parseGroupMessage(pkt.Message)) c.SelfGroupMessageEvent.dispatch(c, c.parseGroupMessage(pkt.Message))
} else { } else {
c.GroupMessageEvent.dispatch(c, c.parseGroupMessage(pkt.Message)) c.GroupMessageEvent.dispatch(c, c.parseGroupMessage(pkt.Message))
@ -310,12 +310,12 @@ func decodeMsgSendResponse(c *QQClient, _ *network.IncomingPacketInfo, payload [
if err := proto.Unmarshal(payload, &rsp); err != nil { if err := proto.Unmarshal(payload, &rsp); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
switch rsp.GetResult() { switch rsp.Result.Unwrap() {
case 0: // OK. case 0: // OK.
case 55: case 55:
c.error("sendPacket msg error: %v Bot has blocked target's content", rsp.GetResult()) c.error("sendPacket msg error: %v Bot has blocked ta.'s content", rsp.Result.Unwrap())
default: default:
c.error("sendPacket msg error: %v %v", rsp.GetResult(), rsp.GetErrMsg()) c.error("sendPacket msg error: %v %v", rsp.Result.Unwrap(), rsp.ErrMsg.Unwrap())
} }
return nil, nil return nil, nil
} }
@ -325,33 +325,33 @@ func decodeGetGroupMsgResponse(c *QQClient, info *network.IncomingPacketInfo, pa
if err := proto.Unmarshal(payload, &rsp); err != nil { if err := proto.Unmarshal(payload, &rsp); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if rsp.GetResult() != 0 { if rsp.Result.Unwrap() != 0 {
c.error("get msg error: %v %v", rsp.GetResult(), rsp.GetErrmsg()) c.error("get msg error: %v %v", rsp.Result.Unwrap(), rsp.Errmsg.Unwrap())
return nil, errors.Errorf("get msg error: %v msg: %v", rsp.GetResult(), rsp.GetErrmsg()) return nil, errors.Errorf("get msg error: %v msg: %v", rsp.Result.Unwrap(), rsp.Errmsg.Unwrap())
} }
var ret []*message.GroupMessage var ret []*message.GroupMessage
for _, m := range rsp.Msg { for _, m := range rsp.Msg {
if m.Head.FromUin == nil { if m.Head.FromUin.IsNone() {
continue continue
} }
if m.Content != nil && m.Content.GetPkgNum() > 1 && !info.Params.Bool("raw") { if m.Content != nil && m.Content.PkgNum.Unwrap() > 1 && !info.Params.Bool("raw") {
if m.Content.GetPkgIndex() == 0 { if m.Content.PkgIndex.Unwrap() == 0 {
c.debug("build fragmented message from history") c.debug("build fragmented message from history")
i := m.Head.GetMsgSeq() - m.Content.GetPkgNum() i := m.Head.MsgSeq.Unwrap() - m.Content.PkgNum.Unwrap()
builder := &messageBuilder{} builder := &messageBuilder{}
for { for {
end := int32(math.Min(float64(i+19), float64(m.Head.GetMsgSeq()+m.Content.GetPkgNum()))) end := int32(math.Min(float64(i+19), float64(m.Head.MsgSeq.Unwrap()+m.Content.PkgNum.Unwrap())))
seq, pkt := c.buildGetGroupMsgRequest(m.Head.GroupInfo.GetGroupCode(), int64(i), int64(end)) seq, pkt := c.buildGetGroupMsgRequest(m.Head.GroupInfo.GroupCode.Unwrap(), int64(i), int64(end))
data, err := c.sendAndWait(seq, pkt, network.RequestParams{"raw": true}) data, err := c.sendAndWait(seq, pkt, network.RequestParams{"raw": true})
if err != nil { if err != nil {
return nil, errors.Wrap(err, "build fragmented message error") return nil, errors.Wrap(err, "build fragmented message error")
} }
for _, fm := range data.([]*message.GroupMessage) { for _, fm := range data.([]*message.GroupMessage) {
if fm.OriginalObject.Content != nil && fm.OriginalObject.Content.GetDivSeq() == m.Content.GetDivSeq() { if fm.OriginalObject.Content != nil && fm.OriginalObject.Content.DivSeq.Unwrap() == m.Content.DivSeq.Unwrap() {
builder.append(fm.OriginalObject) builder.append(fm.OriginalObject)
} }
} }
if end >= m.Head.GetMsgSeq()+m.Content.GetPkgNum() { if end >= m.Head.MsgSeq.Unwrap()+m.Content.PkgNum.Unwrap() {
break break
} }
i = end i = end
@ -376,19 +376,19 @@ func decodeAtAllRemainResponse(_ *QQClient, _ *network.IncomingPacketInfo, paylo
return nil, err return nil, err
} }
return &AtAllRemainInfo{ return &AtAllRemainInfo{
CanAtAll: rsp.GetCanAtAll(), CanAtAll: rsp.CanAtAll.Unwrap(),
RemainAtAllCountForGroup: rsp.GetRemainAtAllCountForGroup(), RemainAtAllCountForGroup: rsp.RemainAtAllCountForGroup.Unwrap(),
RemainAtAllCountForUin: rsp.GetRemainAtAllCountForUin(), RemainAtAllCountForUin: rsp.RemainAtAllCountForUin.Unwrap(),
}, nil }, nil
} }
func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage { func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
group := c.FindGroup(m.Head.GroupInfo.GetGroupCode()) group := c.FindGroup(m.Head.GroupInfo.GroupCode.Unwrap())
if group == nil { if group == nil {
c.debug("sync group %v.", m.Head.GroupInfo.GetGroupCode()) c.debug("sync group %v.", m.Head.GroupInfo.GroupCode.Unwrap())
info, err := c.GetGroupInfo(m.Head.GroupInfo.GetGroupCode()) info, err := c.GetGroupInfo(m.Head.GroupInfo.GroupCode.Unwrap())
if err != nil { if err != nil {
c.error("error to sync group %v : %+v", m.Head.GroupInfo.GetGroupCode(), err) c.error("error to sync group %v : %+v", m.Head.GroupInfo.GroupCode.Unwrap(), err)
return nil return nil
} }
group = info group = info
@ -420,13 +420,13 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
IsFriend: false, IsFriend: false,
} }
} else { } else {
mem := group.FindMember(m.Head.GetFromUin()) mem := group.FindMember(m.Head.FromUin.Unwrap())
if mem == nil { if mem == nil {
group.Update(func(_ *GroupInfo) { group.Update(func(_ *GroupInfo) {
if mem = group.FindMemberWithoutLock(m.Head.GetFromUin()); mem != nil { if mem = group.FindMemberWithoutLock(m.Head.FromUin.Unwrap()); mem != nil {
return return
} }
info, _ := c.GetMemberInfo(group.Code, m.Head.GetFromUin()) info, _ := c.GetMemberInfo(group.Code, m.Head.FromUin.Unwrap())
if info == nil { if info == nil {
return return
} }
@ -451,11 +451,11 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
} }
var g *message.GroupMessage var g *message.GroupMessage
g = &message.GroupMessage{ g = &message.GroupMessage{
Id: m.Head.GetMsgSeq(), Id: m.Head.MsgSeq.Unwrap(),
GroupCode: group.Code, GroupCode: group.Code,
GroupName: string(m.Head.GroupInfo.GroupName), GroupName: string(m.Head.GroupInfo.GroupName),
Sender: sender, Sender: sender,
Time: m.Head.GetMsgTime(), Time: m.Head.MsgTime.Unwrap(),
Elements: message.ParseMessageElems(m.Body.RichText.Elems), Elements: message.ParseMessageElems(m.Body.RichText.Elems),
OriginalObject: m, OriginalObject: m,
} }
@ -463,14 +463,14 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
// pre parse // pre parse
for _, elem := range m.Body.RichText.Elems { for _, elem := range m.Body.RichText.Elems {
// is rich long msg // is rich long msg
if elem.GeneralFlags != nil && elem.GeneralFlags.GetLongTextResid() != "" && len(g.Elements) == 1 { if elem.GeneralFlags != nil && elem.GeneralFlags.LongTextResid.Unwrap() != "" && len(g.Elements) == 1 {
if f := c.GetForwardMessage(elem.GeneralFlags.GetLongTextResid()); f != nil && len(f.Nodes) == 1 { if f := c.GetForwardMessage(elem.GeneralFlags.LongTextResid.Unwrap()); f != nil && len(f.Nodes) == 1 {
g = &message.GroupMessage{ g = &message.GroupMessage{
Id: m.Head.GetMsgSeq(), Id: m.Head.MsgSeq.Unwrap(),
GroupCode: group.Code, GroupCode: group.Code,
GroupName: string(m.Head.GroupInfo.GroupName), GroupName: string(m.Head.GroupInfo.GroupName),
Sender: sender, Sender: sender,
Time: m.Head.GetMsgTime(), Time: m.Head.MsgTime.Unwrap(),
Elements: f.Nodes[0].Message, Elements: f.Nodes[0].Message,
OriginalObject: m, OriginalObject: m,
} }
@ -481,8 +481,8 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
} }
} }
if !sender.IsAnonymous() { if !sender.IsAnonymous() {
mem := group.FindMember(m.Head.GetFromUin()) mem := group.FindMember(m.Head.FromUin.Unwrap())
groupCard := m.Head.GroupInfo.GetGroupCard() groupCard := m.Head.GroupInfo.GroupCard.Unwrap()
if extInfo != nil && len(extInfo.GroupCard) > 0 && extInfo.GroupCard[0] == 0x0A { if extInfo != nil && len(extInfo.GroupCard) > 0 && extInfo.GroupCard[0] == 0x0A {
buf := oidb.D8FCCommCardNameBuf{} buf := oidb.D8FCCommCardNameBuf{}
if err := proto.Unmarshal(extInfo.GroupCard, &buf); err == nil && len(buf.RichCardName) > 0 { if err := proto.Unmarshal(extInfo.GroupCard, &buf); err == nil && len(buf.RichCardName) > 0 {
@ -512,15 +512,15 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
if m.Body.RichText.Ptt != nil { if m.Body.RichText.Ptt != nil {
g.Elements = []message.IMessageElement{ g.Elements = []message.IMessageElement{
&message.VoiceElement{ &message.VoiceElement{
Name: m.Body.RichText.Ptt.GetFileName(), Name: m.Body.RichText.Ptt.FileName.Unwrap(),
Md5: m.Body.RichText.Ptt.FileMd5, Md5: m.Body.RichText.Ptt.FileMd5,
Size: m.Body.RichText.Ptt.GetFileSize(), Size: m.Body.RichText.Ptt.FileSize.Unwrap(),
Url: "http://grouptalk.c2c.qq.com" + string(m.Body.RichText.Ptt.DownPara), Url: "http://grouptalk.c2c.qq.com" + string(m.Body.RichText.Ptt.DownPara),
}, },
} }
} }
if m.Body.RichText.Attr != nil { if m.Body.RichText.Attr != nil {
g.InternalId = m.Body.RichText.Attr.GetRandom() g.InternalId = m.Body.RichText.Attr.Random.Unwrap()
} }
return g return g
} }
@ -532,8 +532,8 @@ func (c *QQClient) SetEssenceMessage(groupCode int64, msgID, msgInternalId int32
return errors.Wrap(err, "set essence msg network") return errors.Wrap(err, "set essence msg network")
} }
rsp := r.(*oidb.EACRspBody) rsp := r.(*oidb.EACRspBody)
if rsp.GetErrorCode() != 0 { if rsp.ErrorCode.Unwrap() != 0 {
return errors.New(rsp.GetWording()) return errors.New(rsp.Wording.Unwrap())
} }
return nil return nil
} }
@ -545,8 +545,8 @@ func (c *QQClient) DeleteEssenceMessage(groupCode int64, msgID, msgInternalId in
return errors.Wrap(err, "set essence msg networ") return errors.Wrap(err, "set essence msg networ")
} }
rsp := r.(*oidb.EACRspBody) rsp := r.(*oidb.EACRspBody)
if rsp.GetErrorCode() != 0 { if rsp.ErrorCode.Unwrap() != 0 {
return errors.New(rsp.GetWording()) return errors.New(rsp.Wording.Unwrap())
} }
return nil return nil
} }

View File

@ -197,9 +197,9 @@ func (s *GuildService) GetUserProfile(tinyId uint64) (*GuildUserProfile, error)
// todo: 解析个性档案 // todo: 解析个性档案
return &GuildUserProfile{ return &GuildUserProfile{
TinyId: tinyId, TinyId: tinyId,
Nickname: body.Profile.GetNickname(), Nickname: body.Profile.Nickname.Unwrap(),
AvatarUrl: body.Profile.GetAvatarUrl(), AvatarUrl: body.Profile.AvatarUrl.Unwrap(),
JoinTime: body.Profile.GetJoinTime(), JoinTime: body.Profile.JoinTime.Unwrap(),
}, nil }, nil
} }
@ -237,31 +237,31 @@ func (s *GuildService) FetchGuildMemberListWithRole(guildId, channelId uint64, s
for _, memberWithRole := range body.MemberWithRoles { for _, memberWithRole := range body.MemberWithRoles {
for _, mem := range memberWithRole.Members { for _, mem := range memberWithRole.Members {
ret = append(ret, &GuildMemberInfo{ ret = append(ret, &GuildMemberInfo{
TinyId: mem.GetTinyId(), TinyId: mem.TinyId.Unwrap(),
Title: mem.GetTitle(), Title: mem.Title.Unwrap(),
Nickname: mem.GetNickname(), Nickname: mem.Nickname.Unwrap(),
LastSpeakTime: mem.GetLastSpeakTime(), LastSpeakTime: mem.LastSpeakTime.Unwrap(),
Role: memberWithRole.GetRoleId(), Role: memberWithRole.RoleId.Unwrap(),
RoleName: memberWithRole.GetRoleName(), RoleName: memberWithRole.RoleName.Unwrap(),
}) })
} }
} }
for _, mem := range body.Members { for _, mem := range body.Members {
ret = append(ret, &GuildMemberInfo{ ret = append(ret, &GuildMemberInfo{
TinyId: mem.GetTinyId(), TinyId: mem.TinyId.Unwrap(),
Title: mem.GetTitle(), Title: mem.Title.Unwrap(),
Nickname: mem.GetNickname(), Nickname: mem.Nickname.Unwrap(),
LastSpeakTime: mem.GetLastSpeakTime(), LastSpeakTime: mem.LastSpeakTime.Unwrap(),
Role: 1, Role: 1,
RoleName: "普通成员", RoleName: "普通成员",
}) })
} }
return &FetchGuildMemberListWithRoleResult{ return &FetchGuildMemberListWithRoleResult{
Members: ret, Members: ret,
NextIndex: body.GetNextIndex(), NextIndex: body.NextIndex.Unwrap(),
NextRoleId: body.GetNextRoleIdIndex(), NextRoleId: body.NextRoleIdIndex.Unwrap(),
NextQueryParam: body.GetNextQueryParam(), NextQueryParam: body.NextQueryParam.Unwrap(),
Finished: body.NextIndex == nil, Finished: body.NextIndex.IsNone(),
}, nil }, nil
} }
@ -295,9 +295,9 @@ func (s *GuildService) FetchGuildMemberProfileInfo(guildId, tinyId uint64) (*Gui
// todo: 解析个性档案 // todo: 解析个性档案
return &GuildUserProfile{ return &GuildUserProfile{
TinyId: tinyId, TinyId: tinyId,
Nickname: body.Profile.GetNickname(), Nickname: body.Profile.Nickname.Unwrap(),
AvatarUrl: body.Profile.GetAvatarUrl(), AvatarUrl: body.Profile.AvatarUrl.Unwrap(),
JoinTime: body.Profile.GetJoinTime(), JoinTime: body.Profile.JoinTime.Unwrap(),
Roles: roles, Roles: roles,
}, nil }, nil
} }
@ -316,14 +316,14 @@ func (s *GuildService) GetGuildRoles(guildId uint64) ([]*GuildRole, error) {
roles := make([]*GuildRole, 0, len(body.Roles)) roles := make([]*GuildRole, 0, len(body.Roles))
for _, role := range body.Roles { for _, role := range body.Roles {
roles = append(roles, &GuildRole{ roles = append(roles, &GuildRole{
RoleId: role.GetRoleId(), RoleId: role.RoleId.Unwrap(),
RoleName: role.GetName(), RoleName: role.Name.Unwrap(),
ArgbColor: role.GetArgbColor(), ArgbColor: role.ArgbColor.Unwrap(),
Independent: role.GetIndependent() == 1, Independent: role.Independent.Unwrap() == 1,
Num: role.GetNum(), Num: role.Num.Unwrap(),
Owned: role.GetOwned() == 1, Owned: role.Owned.Unwrap() == 1,
Disabled: role.GetDisabled() == 1, Disabled: role.Disabled.Unwrap() == 1,
MaxNum: role.GetMaxNum(), MaxNum: role.MaxNum.Unwrap(),
}) })
} }
return roles, nil return roles, nil
@ -353,7 +353,7 @@ func (s *GuildService) CreateGuildRole(guildId uint64, name string, color uint32
if err = unpackOIDBPackage(rsp, body); err != nil { if err = unpackOIDBPackage(rsp, body); err != nil {
return 0, errors.Wrap(err, "decode packet error") return 0, errors.Wrap(err, "decode packet error")
} }
return body.GetRoleId(), nil return body.RoleId.Unwrap(), nil
} }
func (s *GuildService) DeleteGuildRole(guildId uint64, roleId uint64) error { func (s *GuildService) DeleteGuildRole(guildId uint64, roleId uint64) error {
@ -437,14 +437,14 @@ func (s *GuildService) FetchGuestGuild(guildId uint64) (*GuildMeta, error) {
return nil, errors.Wrap(err, "decode packet error") return nil, errors.Wrap(err, "decode packet error")
} }
return &GuildMeta{ return &GuildMeta{
GuildName: body.Rsp.Meta.GetName(), GuildName: body.Rsp.Meta.Name.Unwrap(),
GuildProfile: body.Rsp.Meta.GetProfile(), GuildProfile: body.Rsp.Meta.Profile.Unwrap(),
MaxMemberCount: body.Rsp.Meta.GetMaxMemberCount(), MaxMemberCount: body.Rsp.Meta.MaxMemberCount.Unwrap(),
MemberCount: body.Rsp.Meta.GetMemberCount(), MemberCount: body.Rsp.Meta.MemberCount.Unwrap(),
CreateTime: body.Rsp.Meta.GetCreateTime(), CreateTime: body.Rsp.Meta.CreateTime.Unwrap(),
MaxRobotCount: body.Rsp.Meta.GetRobotMaxNum(), MaxRobotCount: body.Rsp.Meta.RobotMaxNum.Unwrap(),
MaxAdminCount: body.Rsp.Meta.GetAdminMaxNum(), MaxAdminCount: body.Rsp.Meta.AdminMaxNum.Unwrap(),
OwnerId: body.Rsp.Meta.GetOwnerId(), OwnerId: body.Rsp.Meta.OwnerId.Unwrap(),
}, nil }, nil
} }
@ -500,8 +500,8 @@ func (s *GuildService) GetTopicChannelFeeds(guildId, channelId uint64) ([]*topic
Count: proto.Uint32(12), Count: proto.Uint32(12),
From: proto.Uint32(0), From: proto.Uint32(0),
ChannelSign: &channel.StChannelSign{ ChannelSign: &channel.StChannelSign{
GuildId: &guildId, GuildId: proto.Some(guildId),
ChannelId: &channelId, ChannelId: proto.Some(channelId),
}, },
FeedAttchInfo: proto.String(""), // isLoadMore FeedAttchInfo: proto.String(""), // isLoadMore
}) })
@ -609,7 +609,7 @@ func (s *GuildService) PostTopicChannelFeed(guildId, channelId uint64, feed *top
if err = proto.Unmarshal(pkg.BusiBuff, body); err != nil { if err = proto.Unmarshal(pkg.BusiBuff, body); err != nil {
return errors.Wrap(err, "failed to unmarshal protobuf message") return errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if body.Feed != nil && body.Feed.Id != nil { if body.Feed != nil && body.Feed.Id.IsNone() {
return nil return nil
} }
return errors.New("post feed error") return errors.New("post feed error")
@ -641,9 +641,9 @@ func (s *GuildService) fetchMemberRoles(guildId uint64, tinyId uint64) ([]*Guild
roles := make([]*GuildRole, 0, len(p1.Roles)) roles := make([]*GuildRole, 0, len(p1.Roles))
for _, role := range p1.Roles { for _, role := range p1.Roles {
roles = append(roles, &GuildRole{ roles = append(roles, &GuildRole{
RoleId: role.GetRoleId(), RoleId: role.RoleId.Unwrap(),
RoleName: role.GetName(), RoleName: role.Name.Unwrap(),
ArgbColor: role.GetArgbColor(), ArgbColor: role.ArgbColor.Unwrap(),
}) })
} }
return roles, nil return roles, nil
@ -676,32 +676,32 @@ func (s *GuildService) fetchChannelListState(guildId uint64, channels []*Channel
func convertChannelInfo(info *channel.GuildChannelInfo) *ChannelInfo { func convertChannelInfo(info *channel.GuildChannelInfo) *ChannelInfo {
meta := &ChannelMeta{ meta := &ChannelMeta{
CreatorUin: info.GetCreatorUin(), CreatorUin: info.CreatorUin.Unwrap(),
CreatorTinyId: info.GetCreatorTinyId(), CreatorTinyId: info.CreatorTinyId.Unwrap(),
CreateTime: info.GetCreateTime(), CreateTime: info.CreateTime.Unwrap(),
GuildId: info.GetGuildId(), GuildId: info.GuildId.Unwrap(),
VisibleType: info.GetVisibleType(), VisibleType: info.VisibleType.Unwrap(),
CurrentSlowMode: info.GetCurrentSlowModeKey(), CurrentSlowMode: info.CurrentSlowModeKey.Unwrap(),
TalkPermission: info.GetTalkPermission(), TalkPermission: info.TalkPermission.Unwrap(),
} }
if info.TopMsg != nil { if info.TopMsg != nil {
meta.TopMessageSeq = info.TopMsg.GetTopMsgSeq() meta.TopMessageSeq = info.TopMsg.TopMsgSeq.Unwrap()
meta.TopMessageTime = info.TopMsg.GetTopMsgTime() meta.TopMessageTime = info.TopMsg.TopMsgTime.Unwrap()
meta.TopMessageOperatorId = info.TopMsg.GetTopMsgOperatorTinyId() meta.TopMessageOperatorId = info.TopMsg.TopMsgOperatorTinyId.Unwrap()
} }
for _, slow := range info.SlowModeInfos { for _, slow := range info.SlowModeInfos {
meta.SlowModes = append(meta.SlowModes, &ChannelSlowModeInfo{ meta.SlowModes = append(meta.SlowModes, &ChannelSlowModeInfo{
SlowModeKey: slow.GetSlowModeKey(), SlowModeKey: slow.SlowModeKey.Unwrap(),
SpeakFrequency: slow.GetSpeakFrequency(), SpeakFrequency: slow.SpeakFrequency.Unwrap(),
SlowModeCircle: slow.GetSlowModeCircle(), SlowModeCircle: slow.SlowModeCircle.Unwrap(),
SlowModeText: slow.GetSlowModeText(), SlowModeText: slow.SlowModeText.Unwrap(),
}) })
} }
return &ChannelInfo{ return &ChannelInfo{
ChannelId: info.GetChannelId(), ChannelId: info.ChannelId.Unwrap(),
ChannelName: info.GetChannelName(), ChannelName: info.ChannelName.Unwrap(),
NotifyType: uint32(info.GetFinalNotifyType()), NotifyType: uint32(info.FinalNotifyType.Unwrap()),
ChannelType: ChannelType(info.GetChannelType()), ChannelType: ChannelType(info.ChannelType.Unwrap()),
Meta: meta, Meta: meta,
fetchTime: time.Now().Unix(), fetchTime: time.Now().Unix(),
} }
@ -717,8 +717,8 @@ func (c *QQClient) syncChannelFirstView() {
if err = proto.Unmarshal(rsp, firstViewRsp); err != nil { if err = proto.Unmarshal(rsp, firstViewRsp); err != nil {
return return
} }
c.GuildService.TinyId = firstViewRsp.GetSelfTinyid() c.GuildService.TinyId = firstViewRsp.SelfTinyid.Unwrap()
c.GuildService.GuildCount = firstViewRsp.GetGuildCount() c.GuildService.GuildCount = firstViewRsp.GuildCount.Unwrap()
if self, err := c.GuildService.GetUserProfile(c.GuildService.TinyId); err == nil { if self, err := c.GuildService.GetUserProfile(c.GuildService.TinyId); err == nil {
c.GuildService.Nickname = self.Nickname c.GuildService.Nickname = self.Nickname
c.GuildService.AvatarUrl = self.AvatarUrl c.GuildService.AvatarUrl = self.AvatarUrl
@ -746,11 +746,11 @@ func decodeGuildPushFirstView(c *QQClient, _ *network.IncomingPacketInfo, payloa
c.GuildService.Guilds = []*GuildInfo{} c.GuildService.Guilds = []*GuildInfo{}
for _, guild := range firstViewMsg.GuildNodes { for _, guild := range firstViewMsg.GuildNodes {
info := &GuildInfo{ info := &GuildInfo{
GuildId: guild.GetGuildId(), GuildId: guild.GuildId.Unwrap(),
GuildCode: guild.GetGuildCode(), GuildCode: guild.GuildCode.Unwrap(),
GuildName: utils.B2S(guild.GuildName), GuildName: utils.B2S(guild.GuildName),
CoverUrl: fmt.Sprintf("https://groupprocover-76483.picgzc.qpic.cn/%v", guild.GetGuildId()), CoverUrl: fmt.Sprintf("https://groupprocover-76483.picgzc.qpic.cn/%v", guild.GuildId.Unwrap()),
AvatarUrl: fmt.Sprintf("https://groupprohead-76292.picgzc.qpic.cn/%v", guild.GetGuildId()), AvatarUrl: fmt.Sprintf("https://groupprohead-76292.picgzc.qpic.cn/%v", guild.GuildId.Unwrap()),
} }
channels, err := c.GuildService.FetchChannelList(info.GuildId) channels, err := c.GuildService.FetchChannelList(info.GuildId)
if err != nil { if err != nil {
@ -759,13 +759,13 @@ func decodeGuildPushFirstView(c *QQClient, _ *network.IncomingPacketInfo, payloa
meta := new(channel.ChannelMsgMeta) meta := new(channel.ChannelMsgMeta)
_ = proto.Unmarshal(node.Meta, meta) _ = proto.Unmarshal(node.Meta, meta)
info.Channels = append(info.Channels, &ChannelInfo{ info.Channels = append(info.Channels, &ChannelInfo{
ChannelId: node.GetChannelId(), ChannelId: node.ChannelId.Unwrap(),
ChannelName: utils.B2S(node.ChannelName), ChannelName: utils.B2S(node.ChannelName),
Time: node.GetTime(), Time: node.Time.Unwrap(),
EventTime: node.GetEventTime(), EventTime: node.EventTime.Unwrap(),
NotifyType: node.GetNotifyType(), NotifyType: node.NotifyType.Unwrap(),
ChannelType: ChannelType(node.GetChannelType()), ChannelType: ChannelType(node.ChannelType.Unwrap()),
AtAllSeq: meta.GetAtAllSeq(), AtAllSeq: meta.AtAllSeq.Unwrap(),
}) })
} }
} else { } else {

View File

@ -32,7 +32,7 @@ func decodeGuildEventFlowPacket(c *QQClient, _ *network.IncomingPacketInfo, payl
if err := proto.Unmarshal(payload, push); err != nil { if err := proto.Unmarshal(payload, push); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if push.GetCompressFlag() == 1 && len(push.CompressMsg) > 0 { if push.CompressFlag.Unwrap() == 1 && len(push.CompressMsg) > 0 {
press := new(channel.PressMsg) press := new(channel.PressMsg)
dst := make([]byte, len(push.CompressMsg)*2) dst := make([]byte, len(push.CompressMsg)*2)
i, err := lz4.UncompressBlock(push.CompressMsg, dst) i, err := lz4.UncompressBlock(push.CompressMsg, dst)
@ -49,7 +49,7 @@ func decodeGuildEventFlowPacket(c *QQClient, _ *network.IncomingPacketInfo, payl
push.Msgs = press.Msgs push.Msgs = press.Msgs
} }
for _, m := range push.Msgs { for _, m := range push.Msgs {
if m.Head.ContentHead.GetType() == 3841 { if m.Head.ContentHead.Type.Unwrap() == 3841 {
// todo: 回头 event flow 的处理移出去重构下逻辑, 先暂时这样方便改 // todo: 回头 event flow 的处理移出去重构下逻辑, 先暂时这样方便改
var common *msg.CommonElem var common *msg.CommonElem
if m.Body != nil && m.Body.RichText != nil { if m.Body != nil && m.Body.RichText != nil {
@ -60,13 +60,13 @@ func decodeGuildEventFlowPacket(c *QQClient, _ *network.IncomingPacketInfo, payl
} }
} }
} }
if m.Head.ContentHead.GetSubType() == 2 { // todo: tips? if m.Head.ContentHead.SubType.Unwrap() == 2 { // todo: tips?
if common == nil { // empty tips if common == nil { // empty tips
} }
tipsInfo := &tipsPushInfo{ tipsInfo := &tipsPushInfo{
TinyId: m.Head.RoutingHead.GetFromTinyid(), TinyId: m.Head.RoutingHead.FromTinyid.Unwrap(),
GuildId: m.Head.RoutingHead.GetGuildId(), GuildId: m.Head.RoutingHead.GuildId.Unwrap(),
ChannelId: m.Head.RoutingHead.GetChannelId(), ChannelId: m.Head.RoutingHead.ChannelId.Unwrap(),
} }
/* /*
if len(m.CtrlHead.IncludeUin) > 0 { if len(m.CtrlHead.IncludeUin) > 0 {
@ -75,7 +75,7 @@ func decodeGuildEventFlowPacket(c *QQClient, _ *network.IncomingPacketInfo, payl
*/ */
return tipsInfo, nil return tipsInfo, nil
} }
if common == nil || common.GetServiceType() != 500 { if common == nil || common.ServiceType.Unwrap() != 500 {
continue continue
} }
eventBody := new(channel.EventBody) eventBody := new(channel.EventBody)
@ -86,12 +86,12 @@ func decodeGuildEventFlowPacket(c *QQClient, _ *network.IncomingPacketInfo, payl
c.processGuildEventBody(m, eventBody) c.processGuildEventBody(m, eventBody)
continue continue
} }
if m.Head.ContentHead.GetType() == 3840 { if m.Head.ContentHead.Type.Unwrap() == 3840 {
if m.Head.RoutingHead.GetDirectMessageFlag() == 1 { if m.Head.RoutingHead.DirectMessageFlag.Unwrap() == 1 {
// todo: direct message decode // todo: direct message decode
continue continue
} }
if m.Head.RoutingHead.GetFromTinyid() == c.GuildService.TinyId { if m.Head.RoutingHead.FromTinyid.Unwrap() == c.GuildService.TinyId {
continue continue
} }
if cm := c.GuildService.parseGuildChannelMessage(m); cm != nil { if cm := c.GuildService.parseGuildChannelMessage(m); cm != nil {
@ -104,8 +104,8 @@ func decodeGuildEventFlowPacket(c *QQClient, _ *network.IncomingPacketInfo, payl
func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody *channel.EventBody) { func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody *channel.EventBody) {
var guild *GuildInfo var guild *GuildInfo
if m.Head.RoutingHead.GetGuildId() != 0 { if m.Head.RoutingHead.GuildId.Unwrap() != 0 {
if guild = c.GuildService.FindGuild(m.Head.RoutingHead.GetGuildId()); guild == nil { if guild = c.GuildService.FindGuild(m.Head.RoutingHead.GuildId.Unwrap()); guild == nil {
c.warning("process channel event error: guild not found.") c.warning("process channel event error: guild not found.")
return return
} }
@ -113,30 +113,30 @@ func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody
switch { switch {
case eventBody.CreateChan != nil: case eventBody.CreateChan != nil:
for _, chanId := range eventBody.CreateChan.CreateId { for _, chanId := range eventBody.CreateChan.CreateId {
if guild.FindChannel(chanId.GetChanId()) != nil { if guild.FindChannel(chanId.ChanId.Unwrap()) != nil {
continue continue
} }
channelInfo, err := c.GuildService.FetchChannelInfo(guild.GuildId, chanId.GetChanId()) channelInfo, err := c.GuildService.FetchChannelInfo(guild.GuildId, chanId.ChanId.Unwrap())
if err != nil { if err != nil {
c.warning("process create channel event error: fetch channel info error: %v", err) c.warning("process create channel event error: fetch channel info error: %v", err)
continue continue
} }
guild.Channels = append(guild.Channels, channelInfo) guild.Channels = append(guild.Channels, channelInfo)
c.dispatchGuildChannelCreatedEvent(&GuildChannelOperationEvent{ c.dispatchGuildChannelCreatedEvent(&GuildChannelOperationEvent{
OperatorId: m.Head.RoutingHead.GetFromTinyid(), OperatorId: m.Head.RoutingHead.FromTinyid.Unwrap(),
GuildId: m.Head.RoutingHead.GetGuildId(), GuildId: m.Head.RoutingHead.GuildId.Unwrap(),
ChannelInfo: channelInfo, ChannelInfo: channelInfo,
}) })
} }
case eventBody.DestroyChan != nil: case eventBody.DestroyChan != nil:
for _, chanId := range eventBody.DestroyChan.DeleteId { for _, chanId := range eventBody.DestroyChan.DeleteId {
channelInfo := guild.FindChannel(chanId.GetChanId()) channelInfo := guild.FindChannel(chanId.ChanId.Unwrap())
if channelInfo == nil { if channelInfo == nil {
continue continue
} }
guild.removeChannel(chanId.GetChanId()) guild.removeChannel(chanId.ChanId.Unwrap())
c.dispatchGuildChannelDestroyedEvent(&GuildChannelOperationEvent{ c.dispatchGuildChannelDestroyedEvent(&GuildChannelOperationEvent{
OperatorId: m.Head.RoutingHead.GetFromTinyid(), OperatorId: m.Head.RoutingHead.FromTinyid.Unwrap(),
GuildId: guild.GuildId, GuildId: guild.GuildId,
ChannelInfo: channelInfo, ChannelInfo: channelInfo,
}) })
@ -144,9 +144,9 @@ func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody
case eventBody.ChangeChanInfo != nil: case eventBody.ChangeChanInfo != nil:
updateChanLock.Lock() updateChanLock.Lock()
defer updateChanLock.Unlock() defer updateChanLock.Unlock()
oldInfo := guild.FindChannel(eventBody.ChangeChanInfo.GetChanId()) oldInfo := guild.FindChannel(eventBody.ChangeChanInfo.ChanId.Unwrap())
if oldInfo == nil { if oldInfo == nil {
info, err := c.GuildService.FetchChannelInfo(m.Head.RoutingHead.GetGuildId(), eventBody.ChangeChanInfo.GetChanId()) info, err := c.GuildService.FetchChannelInfo(m.Head.RoutingHead.GuildId.Unwrap(), eventBody.ChangeChanInfo.ChanId.Unwrap())
if err != nil { if err != nil {
c.error("error to decode channel info updated event: fetch channel info failed: %v", err) c.error("error to decode channel info updated event: fetch channel info failed: %v", err)
return return
@ -157,7 +157,7 @@ func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody
if time.Now().Unix()-oldInfo.fetchTime <= 2 { if time.Now().Unix()-oldInfo.fetchTime <= 2 {
return return
} }
newInfo, err := c.GuildService.FetchChannelInfo(m.Head.RoutingHead.GetGuildId(), eventBody.ChangeChanInfo.GetChanId()) newInfo, err := c.GuildService.FetchChannelInfo(m.Head.RoutingHead.GuildId.Unwrap(), eventBody.ChangeChanInfo.ChanId.Unwrap())
if err != nil { if err != nil {
c.error("error to decode channel info updated event: fetch channel info failed: %v", err) c.error("error to decode channel info updated event: fetch channel info failed: %v", err)
return return
@ -169,20 +169,20 @@ func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody
} }
} }
c.dispatchGuildChannelUpdatedEvent(&GuildChannelUpdatedEvent{ c.dispatchGuildChannelUpdatedEvent(&GuildChannelUpdatedEvent{
OperatorId: m.Head.RoutingHead.GetFromTinyid(), OperatorId: m.Head.RoutingHead.FromTinyid.Unwrap(),
GuildId: m.Head.RoutingHead.GetGuildId(), GuildId: m.Head.RoutingHead.GuildId.Unwrap(),
ChannelId: eventBody.ChangeChanInfo.GetChanId(), ChannelId: eventBody.ChangeChanInfo.ChanId.Unwrap(),
OldChannelInfo: oldInfo, OldChannelInfo: oldInfo,
NewChannelInfo: newInfo, NewChannelInfo: newInfo,
}) })
case eventBody.JoinGuild != nil: case eventBody.JoinGuild != nil:
/* 应该不会重复推送把, 不会吧不会吧 /* 应该不会重复推送把, 不会吧不会吧
if mem := guild.FindMember(eventBody.JoinGuild.GetMemberTinyid()); mem != nil { if mem := guild.FindMember(eventBody.JoinGuild.MemberTinyid.Unwrap()); mem != nil {
c.info("ignore join guild event: member %v already exists", mem.TinyId) c.info("ignore join guild event: member %v already exists", mem.TinyId)
return return
} }
*/ */
profile, err := c.GuildService.FetchGuildMemberProfileInfo(guild.GuildId, eventBody.JoinGuild.GetMemberTinyid()) profile, err := c.GuildService.FetchGuildMemberProfileInfo(guild.GuildId, eventBody.JoinGuild.MemberTinyid.Unwrap())
if err != nil { if err != nil {
c.error("error to decode member join guild event: get member profile error: %v", err) c.error("error to decode member join guild event: get member profile error: %v", err)
return return
@ -197,30 +197,30 @@ func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody
Member: info, Member: info,
}) })
case eventBody.UpdateMsg != nil: case eventBody.UpdateMsg != nil:
if eventBody.UpdateMsg.GetEventType() == 1 || eventBody.UpdateMsg.GetEventType() == 2 { if eventBody.UpdateMsg.EventType.Unwrap() == 1 || eventBody.UpdateMsg.EventType.Unwrap() == 2 {
c.dispatchGuildMessageRecalledEvent(&GuildMessageRecalledEvent{ c.dispatchGuildMessageRecalledEvent(&GuildMessageRecalledEvent{
OperatorId: eventBody.UpdateMsg.GetOperatorTinyid(), OperatorId: eventBody.UpdateMsg.OperatorTinyid.Unwrap(),
GuildId: m.Head.RoutingHead.GetGuildId(), GuildId: m.Head.RoutingHead.GuildId.Unwrap(),
ChannelId: m.Head.RoutingHead.GetChannelId(), ChannelId: m.Head.RoutingHead.ChannelId.Unwrap(),
MessageId: eventBody.UpdateMsg.GetMsgSeq(), MessageId: eventBody.UpdateMsg.MsgSeq.Unwrap(),
RecallTime: int64(m.Head.ContentHead.GetTime()), RecallTime: int64(m.Head.ContentHead.Time.Unwrap()),
}) })
return return
} }
if eventBody.UpdateMsg.GetEventType() == 4 { // 消息贴表情更新 (包含添加或删除) if eventBody.UpdateMsg.EventType.Unwrap() == 4 { // 消息贴表情更新 (包含添加或删除)
t, err := c.GuildService.pullChannelMessages(m.Head.RoutingHead.GetGuildId(), m.Head.RoutingHead.GetChannelId(), eventBody.UpdateMsg.GetMsgSeq(), eventBody.UpdateMsg.GetMsgSeq(), eventBody.UpdateMsg.GetEventVersion()-1, false) t, err := c.GuildService.pullChannelMessages(m.Head.RoutingHead.GuildId.Unwrap(), m.Head.RoutingHead.ChannelId.Unwrap(), eventBody.UpdateMsg.MsgSeq.Unwrap(), eventBody.UpdateMsg.MsgSeq.Unwrap(), eventBody.UpdateMsg.EventVersion.Unwrap()-1, false)
if err != nil || len(t) == 0 { if err != nil || len(t) == 0 {
c.error("process guild event flow error: pull eventMsg message error: %v", err) c.error("process guild event flow error: pull eventMsg message error: %v", err)
return return
} }
// 自己的消息被贴表情会单独推送一个tips, 这里不需要解析 // 自己的消息被贴表情会单独推送一个tips, 这里不需要解析
if t[0].Head.RoutingHead.GetFromTinyid() == c.GuildService.TinyId { if t[0].Head.RoutingHead.FromTinyid.Unwrap() == c.GuildService.TinyId {
return return
} }
updatedEvent := &GuildMessageReactionsUpdatedEvent{ updatedEvent := &GuildMessageReactionsUpdatedEvent{
GuildId: m.Head.RoutingHead.GetGuildId(), GuildId: m.Head.RoutingHead.GuildId.Unwrap(),
ChannelId: m.Head.RoutingHead.GetChannelId(), ChannelId: m.Head.RoutingHead.ChannelId.Unwrap(),
MessageId: t[0].Head.ContentHead.GetSeq(), MessageId: t[0].Head.ContentHead.Seq.Unwrap(),
CurrentReactions: decodeGuildMessageEmojiReactions(t[0]), CurrentReactions: decodeGuildMessageEmojiReactions(t[0]),
} }
tipsInfo, err := c.waitPacketTimeoutSyncF("MsgPush.PushGroupProMsg", time.Second, func(i any) bool { tipsInfo, err := c.waitPacketTimeoutSyncF("MsgPush.PushGroupProMsg", time.Second, func(i any) bool {

View File

@ -33,8 +33,8 @@ func (s *GuildService) SendGuildChannelMessage(guildId, channelId uint64, m *mes
req := &channel.DF62ReqBody{Msg: &channel.ChannelMsgContent{ req := &channel.DF62ReqBody{Msg: &channel.ChannelMsgContent{
Head: &channel.ChannelMsgHead{ Head: &channel.ChannelMsgHead{
RoutingHead: &channel.ChannelRoutingHead{ RoutingHead: &channel.ChannelRoutingHead{
GuildId: &guildId, GuildId: proto.Some(guildId),
ChannelId: &channelId, ChannelId: proto.Some(channelId),
FromUin: proto.Uint64(uint64(s.c.Uin)), FromUin: proto.Uint64(uint64(s.c.Uin)),
}, },
ContentHead: &channel.ChannelContentHead{ ContentHead: &channel.ChannelContentHead{
@ -58,21 +58,21 @@ func (s *GuildService) SendGuildChannelMessage(guildId, channelId uint64, m *mes
if err = proto.Unmarshal(rsp, body); err != nil { if err = proto.Unmarshal(rsp, body); err != nil {
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if body.GetResult() != 0 { if body.Result.Unwrap() != 0 {
return nil, errors.Errorf("send channel message error: server response %v", body.GetResult()) return nil, errors.Errorf("send channel message error: server response %v", body.Result.Unwrap())
} }
elements := m.Elements elements := m.Elements
if body.Body != nil && body.Body.RichText != nil { if body.Body != nil && body.Body.RichText != nil {
elements = message.ParseMessageElems(body.Body.RichText.Elems) elements = message.ParseMessageElems(body.Body.RichText.Elems)
} }
return &message.GuildChannelMessage{ return &message.GuildChannelMessage{
Id: body.Head.ContentHead.GetSeq(), Id: body.Head.ContentHead.Seq.Unwrap(),
InternalId: body.Head.ContentHead.GetRandom(), InternalId: body.Head.ContentHead.Random.Unwrap(),
GuildId: guildId, GuildId: guildId,
ChannelId: channelId, ChannelId: channelId,
Time: int64(body.GetSendTime()), Time: int64(body.SendTime.Unwrap()),
Sender: &message.GuildSender{ Sender: &message.GuildSender{
TinyId: body.Head.RoutingHead.GetFromTinyid(), TinyId: body.Head.RoutingHead.FromTinyid.Unwrap(),
Nickname: s.Nickname, Nickname: s.Nickname,
}, },
Elements: elements, Elements: elements,
@ -132,10 +132,10 @@ func (s *GuildService) PullGuildChannelMessage(guildId, channelId, beginSeq, end
func (s *GuildService) pullChannelMessages(guildId, channelId, beginSeq, endSeq, eventVersion uint64, direct bool) ([]*channel.ChannelMsgContent, error) { func (s *GuildService) pullChannelMessages(guildId, channelId, beginSeq, endSeq, eventVersion uint64, direct bool) ([]*channel.ChannelMsgContent, error) {
param := &channel.ChannelParam{ param := &channel.ChannelParam{
GuildId: &guildId, GuildId: proto.Some(guildId),
ChannelId: &channelId, ChannelId: proto.Some(channelId),
BeginSeq: &beginSeq, BeginSeq: proto.Some(beginSeq),
EndSeq: &endSeq, EndSeq: proto.Some(endSeq),
} }
if eventVersion != 0 { if eventVersion != 0 {
param.Version = []uint64{eventVersion} param.Version = []uint64{eventVersion}
@ -151,8 +151,8 @@ func (s *GuildService) pullChannelMessages(guildId, channelId, beginSeq, endSeq,
} }
payload, _ := proto.Marshal(&channel.ChannelMsgReq{ payload, _ := proto.Marshal(&channel.ChannelMsgReq{
ChannelParam: param, ChannelParam: param,
WithVersionFlag: &withVersionFlag, WithVersionFlag: proto.Some(withVersionFlag),
DirectMessageFlag: &directFlag, DirectMessageFlag: proto.Some(directFlag),
}) })
seq, packet := s.c.uniPacket("trpc.group_pro.synclogic.SyncLogic.GetChannelMsg", payload) seq, packet := s.c.uniPacket("trpc.group_pro.synclogic.SyncLogic.GetChannelMsg", payload)
rsp, err := s.c.sendAndWaitDynamic(seq, packet) rsp, err := s.c.sendAndWaitDynamic(seq, packet)
@ -172,11 +172,11 @@ func (c *QQClient) buildGuildImageStorePacket(guildId, channelId uint64, hash []
Subcmd: proto.Uint32(1), Subcmd: proto.Uint32(1),
TryupImgReq: []*cmd0x388.TryUpImgReq{ TryupImgReq: []*cmd0x388.TryUpImgReq{
{ {
GroupCode: &channelId, GroupCode: proto.Some(channelId),
SrcUin: proto.Uint64(uint64(c.Uin)), SrcUin: proto.Uint64(uint64(c.Uin)),
FileId: proto.Uint64(0), FileId: proto.Uint64(0),
FileMd5: hash, FileMd5: hash,
FileSize: &size, FileSize: proto.Some(size),
FileName: []byte(fmt.Sprintf("%x.jpg", hash)), FileName: []byte(fmt.Sprintf("%x.jpg", hash)),
SrcTerm: proto.Uint32(5), SrcTerm: proto.Uint32(5),
PlatformType: proto.Uint32(9), PlatformType: proto.Uint32(9),
@ -185,8 +185,8 @@ func (c *QQClient) buildGuildImageStorePacket(guildId, channelId uint64, hash []
BuildVer: []byte("8.8.38.2266"), BuildVer: []byte("8.8.38.2266"),
AppPicType: proto.Uint32(1052), AppPicType: proto.Uint32(1052),
SrvUpload: proto.Uint32(0), SrvUpload: proto.Uint32(0),
QqmeetGuildId: &guildId, QqmeetGuildId: proto.Some(guildId),
QqmeetChannelId: &channelId, QqmeetChannelId: proto.Some(channelId),
}, },
}, },
CommandId: proto.Uint32(83), CommandId: proto.Uint32(83),
@ -198,7 +198,7 @@ func decodeGuildMessageEmojiReactions(content *channel.ChannelMsgContent) (r []*
r = []*message.GuildMessageEmojiReaction{} r = []*message.GuildMessageEmojiReaction{}
var common *msg.CommonElem var common *msg.CommonElem
for _, elem := range content.Body.RichText.Elems { for _, elem := range content.Body.RichText.Elems {
if elem.CommonElem != nil && elem.CommonElem.GetServiceType() == 38 { if elem.CommonElem != nil && elem.CommonElem.ServiceType.Unwrap() == 38 {
common = elem.CommonElem common = elem.CommonElem
break break
} }
@ -216,12 +216,12 @@ func decodeGuildMessageEmojiReactions(content *channel.ChannelMsgContent) (r []*
} }
for _, e := range cnt.EmojiReaction { for _, e := range cnt.EmojiReaction {
reaction := &message.GuildMessageEmojiReaction{ reaction := &message.GuildMessageEmojiReaction{
EmojiId: e.GetEmojiId(), EmojiId: e.EmojiId.Unwrap(),
EmojiType: e.GetEmojiType(), EmojiType: e.EmojiType.Unwrap(),
Count: int32(e.GetCnt()), Count: int32(e.Cnt.Unwrap()),
Clicked: e.GetIsClicked(), Clicked: e.IsClicked.Unwrap(),
} }
if index, err := strconv.ParseInt(e.GetEmojiId(), 10, 32); err == nil { if index, err := strconv.ParseInt(e.EmojiId.Unwrap(), 10, 32); err == nil {
reaction.Face = message.NewFace(int32(index)) reaction.Face = message.NewFace(int32(index))
} }
r = append(r, reaction) r = append(r, reaction)
@ -239,26 +239,26 @@ func decodeGuildImageStoreResponse(_ *QQClient, _ *network.IncomingPacketInfo, p
return nil, errors.New("response is empty") return nil, errors.New("response is empty")
} }
rsp := body.TryupImgRsp[0] rsp := body.TryupImgRsp[0]
if rsp.GetResult() != 0 { if rsp.Result.Unwrap() != 0 {
return &imageUploadResponse{ return &imageUploadResponse{
ResultCode: int32(rsp.GetResult()), ResultCode: int32(rsp.Result.Unwrap()),
Message: string(rsp.FailMsg), Message: string(rsp.FailMsg),
}, nil }, nil
} }
if rsp.GetFileExit() { if rsp.FileExit.Unwrap() {
resp := &imageUploadResponse{ resp := &imageUploadResponse{
IsExists: true, IsExists: true,
FileId: int64(rsp.GetFileid()), FileId: int64(rsp.Fileid.Unwrap()),
DownloadIndex: string(rsp.DownloadIndex), DownloadIndex: string(rsp.DownloadIndex),
} }
if rsp.ImgInfo != nil { if rsp.ImgInfo != nil {
resp.Width = int32(rsp.ImgInfo.GetFileWidth()) resp.Width = int32(rsp.ImgInfo.FileWidth.Unwrap())
resp.Height = int32(rsp.ImgInfo.GetFileHeight()) resp.Height = int32(rsp.ImgInfo.FileHeight.Unwrap())
} }
return rsp, nil return rsp, nil
} }
return &imageUploadResponse{ return &imageUploadResponse{
FileId: int64(rsp.GetFileid()), FileId: int64(rsp.Fileid.Unwrap()),
UploadKey: rsp.UpUkey, UploadKey: rsp.UpUkey,
UploadIp: rsp.UpIp, UploadIp: rsp.UpIp,
UploadPort: rsp.UpPort, UploadPort: rsp.UpPort,
@ -267,26 +267,26 @@ func decodeGuildImageStoreResponse(_ *QQClient, _ *network.IncomingPacketInfo, p
} }
func (s *GuildService) parseGuildChannelMessage(msg *channel.ChannelMsgContent) *message.GuildChannelMessage { func (s *GuildService) parseGuildChannelMessage(msg *channel.ChannelMsgContent) *message.GuildChannelMessage {
guild := s.FindGuild(msg.Head.RoutingHead.GetGuildId()) guild := s.FindGuild(msg.Head.RoutingHead.GuildId.Unwrap())
if guild == nil { if guild == nil {
return nil // todo: sync guild info return nil // todo: sync guild info
} }
if msg.Body == nil || msg.Body.RichText == nil { if msg.Body == nil || msg.Body.RichText == nil {
return nil return nil
} }
// mem := guild.FindMember(msg.Head.RoutingHead.GetFromTinyid()) // mem := guild.FindMember(msg.Head.RoutingHead.FromTinyid.Unwrap())
memberName := msg.ExtInfo.MemberName memberName := msg.ExtInfo.MemberName
if memberName == nil { if memberName == nil {
memberName = msg.ExtInfo.FromNick memberName = msg.ExtInfo.FromNick
} }
return &message.GuildChannelMessage{ return &message.GuildChannelMessage{
Id: msg.Head.ContentHead.GetSeq(), Id: msg.Head.ContentHead.Seq.Unwrap(),
InternalId: msg.Head.ContentHead.GetRandom(), InternalId: msg.Head.ContentHead.Random.Unwrap(),
GuildId: msg.Head.RoutingHead.GetGuildId(), GuildId: msg.Head.RoutingHead.GuildId.Unwrap(),
ChannelId: msg.Head.RoutingHead.GetChannelId(), ChannelId: msg.Head.RoutingHead.ChannelId.Unwrap(),
Time: int64(msg.Head.ContentHead.GetTime()), Time: int64(msg.Head.ContentHead.Time.Unwrap()),
Sender: &message.GuildSender{ Sender: &message.GuildSender{
TinyId: msg.Head.RoutingHead.GetFromTinyid(), TinyId: msg.Head.RoutingHead.FromTinyid.Unwrap(),
Nickname: string(memberName), Nickname: string(memberName),
}, },
Elements: message.ParseMessageElems(msg.Body.RichText.Elems), Elements: message.ParseMessageElems(msg.Body.RichText.Elems),

View File

@ -368,20 +368,20 @@ func decodeGroupImageStoreResponse(_ *QQClient, _ *network.IncomingPacketInfo, p
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
rsp := pkt.TryupImgRsp[0] rsp := pkt.TryupImgRsp[0]
if rsp.GetResult() != 0 { if rsp.Result.Unwrap() != 0 {
return &imageUploadResponse{ return &imageUploadResponse{
ResultCode: int32(rsp.GetResult()), ResultCode: int32(rsp.Result.Unwrap()),
Message: utils.B2S(rsp.FailMsg), Message: utils.B2S(rsp.FailMsg),
}, nil }, nil
} }
if rsp.GetFileExit() { if rsp.FileExit.Unwrap() {
if rsp.ImgInfo != nil { if rsp.ImgInfo != nil {
return &imageUploadResponse{IsExists: true, FileId: int64(rsp.GetFileid()), Width: int32(rsp.ImgInfo.GetFileWidth()), Height: int32(rsp.ImgInfo.GetFileHeight())}, nil return &imageUploadResponse{IsExists: true, FileId: int64(rsp.Fileid.Unwrap()), Width: int32(rsp.ImgInfo.FileWidth.Unwrap()), Height: int32(rsp.ImgInfo.FileHeight.Unwrap())}, nil
} }
return &imageUploadResponse{IsExists: true, FileId: int64(rsp.GetFileid())}, nil return &imageUploadResponse{IsExists: true, FileId: int64(rsp.Fileid.Unwrap())}, nil
} }
return &imageUploadResponse{ return &imageUploadResponse{
FileId: int64(rsp.GetFileid()), FileId: int64(rsp.Fileid.Unwrap()),
UploadKey: rsp.UpUkey, UploadKey: rsp.UpUkey,
UploadIp: rsp.UpIp, UploadIp: rsp.UpIp,
UploadPort: rsp.UpPort, UploadPort: rsp.UpPort,

View File

@ -149,9 +149,9 @@ func (l *forwardMsgLinker) link(name string) *message.ForwardMessage {
} }
nodes := make([]*message.ForwardNode, 0, len(item.Buffer.Msg)) nodes := make([]*message.ForwardNode, 0, len(item.Buffer.Msg))
for _, m := range item.Buffer.Msg { for _, m := range item.Buffer.Msg {
name := m.Head.GetFromNick() name := m.Head.FromNick.Unwrap()
if m.Head.GetMsgType() == 82 && m.Head.GroupInfo != nil { if m.Head.MsgType.Unwrap() == 82 && m.Head.GroupInfo != nil {
name = m.Head.GroupInfo.GetGroupCard() name = m.Head.GroupInfo.GroupCard.Unwrap()
} }
msgElems := message.ParseMessageElems(m.Body.RichText.Elems) msgElems := message.ParseMessageElems(m.Body.RichText.Elems)
@ -164,10 +164,10 @@ func (l *forwardMsgLinker) link(name string) *message.ForwardMessage {
} }
nodes = append(nodes, &message.ForwardNode{ nodes = append(nodes, &message.ForwardNode{
GroupId: m.Head.GroupInfo.GetGroupCode(), GroupId: m.Head.GroupInfo.GroupCode.Unwrap(),
SenderId: m.Head.GetFromUin(), SenderId: m.Head.FromUin.Unwrap(),
SenderName: name, SenderName: name,
Time: m.Head.GetMsgTime(), Time: m.Head.MsgTime.Unwrap(),
Message: msgElems, Message: msgElems,
}) })
} }
@ -183,7 +183,7 @@ func (c *QQClient) GetForwardMessage(resID string) *message.ForwardMessage {
items: make(map[string]*msg.PbMultiMsgItem), items: make(map[string]*msg.PbMultiMsgItem),
} }
for _, item := range m.Items { for _, item := range m.Items {
linker.items[item.GetFileName()] = item linker.items[item.FileName.Unwrap()] = item
} }
return linker.link("MultiMsg") return linker.link("MultiMsg")
} }
@ -200,9 +200,9 @@ func (c *QQClient) DownloadForwardMessage(resId string) *message.ForwardElement
var pv bytes.Buffer var pv bytes.Buffer
for i := 0; i < int(math.Min(4, float64(len(multiMsg.Msg)))); i++ { for i := 0; i < int(math.Min(4, float64(len(multiMsg.Msg)))); i++ {
m := multiMsg.Msg[i] m := multiMsg.Msg[i]
sender := m.Head.GetFromNick() sender := m.Head.FromNick.Unwrap()
if m.Head.GetMsgType() == 82 && m.Head.GroupInfo != nil { if m.Head.MsgType.Unwrap() == 82 && m.Head.GroupInfo != nil {
sender = m.Head.GroupInfo.GetGroupCard() sender = m.Head.GroupInfo.GroupCard.Unwrap()
} }
brief := message.ToReadableString(message.ParseMessageElems(multiMsg.Msg[i].Body.RichText.Elems)) brief := message.ToReadableString(message.ParseMessageElems(multiMsg.Msg[i].Body.RichText.Elems))
fmt.Fprintf(&pv, `<title size="26" color="#777777">%s: %s</title>`, sender, brief) fmt.Fprintf(&pv, `<title size="26" color="#777777">%s: %s</title>`, sender, brief)

View File

@ -191,15 +191,15 @@ func msgType0x210Sub27Decoder(c *QQClient, protobuf []byte) error {
for _, m := range s27.ModInfos { for _, m := range s27.ModInfos {
if m.ModGroupProfile != nil { if m.ModGroupProfile != nil {
for _, info := range m.ModGroupProfile.GroupProfileInfos { for _, info := range m.ModGroupProfile.GroupProfileInfos {
if info.GetField() == 1 { if info.Field.Unwrap() == 1 {
if g := c.FindGroup(int64(m.ModGroupProfile.GetGroupCode())); g != nil { if g := c.FindGroup(int64(m.ModGroupProfile.GroupCode.Unwrap())); g != nil {
old := g.Name old := g.Name
g.Name = string(info.Value) g.Name = string(info.Value)
c.GroupNameUpdatedEvent.dispatch(c, &GroupNameUpdatedEvent{ c.GroupNameUpdatedEvent.dispatch(c, &GroupNameUpdatedEvent{
Group: g, Group: g,
OldName: old, OldName: old,
NewName: g.Name, NewName: g.Name,
OperatorUin: int64(m.ModGroupProfile.GetCmdUin()), OperatorUin: int64(m.ModGroupProfile.CmdUin.Unwrap()),
}) })
} }
} }

View File

@ -3,203 +3,67 @@
package channel package channel
import (
proto "github.com/RomiChan/protobuf/proto"
)
type ChannelUserInfo struct { type ChannelUserInfo struct {
ClientIdentity *ClientIdentity `protobuf:"bytes,1,opt"` ClientIdentity *ClientIdentity `protobuf:"bytes,1,opt"`
MemberType *uint32 `protobuf:"varint,2,opt"` MemberType proto.Option[uint32] `protobuf:"varint,2,opt"`
Permission *ChannelUserPermission `protobuf:"bytes,3,opt"` Permission *ChannelUserPermission `protobuf:"bytes,3,opt"`
RoleGroups []*BaseRoleGroupInfo `protobuf:"bytes,4,rep"` RoleGroups []*BaseRoleGroupInfo `protobuf:"bytes,4,rep"`
} }
func (x *ChannelUserInfo) GetMemberType() uint32 {
if x != nil && x.MemberType != nil {
return *x.MemberType
}
return 0
}
type ChannelUserPermission struct { type ChannelUserPermission struct {
AllowReadFeed *bool `protobuf:"varint,1,opt"` AllowReadFeed proto.Option[bool] `protobuf:"varint,1,opt"`
AllowWriteFeed *bool `protobuf:"varint,2,opt"` AllowWriteFeed proto.Option[bool] `protobuf:"varint,2,opt"`
}
func (x *ChannelUserPermission) GetAllowReadFeed() bool {
if x != nil && x.AllowReadFeed != nil {
return *x.AllowReadFeed
}
return false
}
func (x *ChannelUserPermission) GetAllowWriteFeed() bool {
if x != nil && x.AllowWriteFeed != nil {
return *x.AllowWriteFeed
}
return false
} }
type ClientIdentity struct { type ClientIdentity struct {
ClientId *uint32 `protobuf:"varint,1,opt"` ClientId proto.Option[uint32] `protobuf:"varint,1,opt"`
Desc *string `protobuf:"bytes,2,opt"` Desc proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *ClientIdentity) GetClientId() uint32 {
if x != nil && x.ClientId != nil {
return *x.ClientId
}
return 0
}
func (x *ClientIdentity) GetDesc() string {
if x != nil && x.Desc != nil {
return *x.Desc
}
return ""
} }
type BaseGuildInfo struct { type BaseGuildInfo struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
Name *string `protobuf:"bytes,2,opt"` Name proto.Option[string] `protobuf:"bytes,2,opt"`
JoinTime *uint64 `protobuf:"varint,3,opt"` JoinTime proto.Option[uint64] `protobuf:"varint,3,opt"`
}
func (x *BaseGuildInfo) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *BaseGuildInfo) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *BaseGuildInfo) GetJoinTime() uint64 {
if x != nil && x.JoinTime != nil {
return *x.JoinTime
}
return 0
} }
type BaseRoleGroupInfo struct { type BaseRoleGroupInfo struct {
RoleId *uint64 `protobuf:"varint,1,opt"` RoleId proto.Option[uint64] `protobuf:"varint,1,opt"`
Name *string `protobuf:"bytes,2,opt"` Name proto.Option[string] `protobuf:"bytes,2,opt"`
Color *uint32 `protobuf:"varint,3,opt"` Color proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *BaseRoleGroupInfo) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
}
func (x *BaseRoleGroupInfo) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *BaseRoleGroupInfo) GetColor() uint32 {
if x != nil && x.Color != nil {
return *x.Color
}
return 0
} }
type StChannelInfo struct { type StChannelInfo struct {
Sign *StChannelSign `protobuf:"bytes,1,opt"` Sign *StChannelSign `protobuf:"bytes,1,opt"`
Name *string `protobuf:"bytes,2,opt"` Name proto.Option[string] `protobuf:"bytes,2,opt"`
IconUrl *string `protobuf:"bytes,3,opt"` IconUrl proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *StChannelInfo) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *StChannelInfo) GetIconUrl() string {
if x != nil && x.IconUrl != nil {
return *x.IconUrl
}
return ""
} }
type StChannelSign struct { type StChannelSign struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelId *uint64 `protobuf:"varint,2,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *StChannelSign) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *StChannelSign) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
} }
type StEmotionReactionInfo struct { type StEmotionReactionInfo struct {
Id *string `protobuf:"bytes,1,opt"` Id proto.Option[string] `protobuf:"bytes,1,opt"`
EmojiReactionList []*EmojiReaction `protobuf:"bytes,2,rep"` EmojiReactionList []*EmojiReaction `protobuf:"bytes,2,rep"`
} }
func (x *StEmotionReactionInfo) GetId() string {
if x != nil && x.Id != nil {
return *x.Id
}
return ""
}
type StCommonExt struct { type StCommonExt struct {
MapInfo []*CommonEntry `protobuf:"bytes,1,rep"` MapInfo []*CommonEntry `protobuf:"bytes,1,rep"`
AttachInfo *string `protobuf:"bytes,2,opt"` AttachInfo proto.Option[string] `protobuf:"bytes,2,opt"`
MapBytesInfo []*BytesEntry `protobuf:"bytes,3,rep"` MapBytesInfo []*BytesEntry `protobuf:"bytes,3,rep"`
} }
func (x *StCommonExt) GetAttachInfo() string {
if x != nil && x.AttachInfo != nil {
return *x.AttachInfo
}
return ""
}
type BytesEntry struct { type BytesEntry struct {
Key *string `protobuf:"bytes,1,opt"` Key proto.Option[string] `protobuf:"bytes,1,opt"`
Value []byte `protobuf:"bytes,2,opt"` Value []byte `protobuf:"bytes,2,opt"`
} }
func (x *BytesEntry) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
type CommonEntry struct { type CommonEntry struct {
Key *string `protobuf:"bytes,1,opt"` Key proto.Option[string] `protobuf:"bytes,1,opt"`
Value *string `protobuf:"bytes,2,opt"` Value proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *CommonEntry) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
func (x *CommonEntry) GetValue() string {
if x != nil && x.Value != nil {
return *x.Value
}
return ""
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,142 +3,55 @@
package channel package channel
import (
proto "github.com/RomiChan/protobuf/proto"
)
type GetNoticesReq struct { type GetNoticesReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
PageNum *uint32 `protobuf:"varint,2,opt"` PageNum proto.Option[uint32] `protobuf:"varint,2,opt"`
AttachInfo *string `protobuf:"bytes,3,opt"` AttachInfo proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *GetNoticesReq) GetPageNum() uint32 {
if x != nil && x.PageNum != nil {
return *x.PageNum
}
return 0
}
func (x *GetNoticesReq) GetAttachInfo() string {
if x != nil && x.AttachInfo != nil {
return *x.AttachInfo
}
return ""
} }
type GetNoticesRsp struct { type GetNoticesRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Notices []*StNotice `protobuf:"bytes,2,rep"` Notices []*StNotice `protobuf:"bytes,2,rep"`
TotalNum *uint32 `protobuf:"varint,3,opt"` TotalNum proto.Option[uint32] `protobuf:"varint,3,opt"`
IsFinish *bool `protobuf:"varint,4,opt"` IsFinish proto.Option[bool] `protobuf:"varint,4,opt"`
AttachInfo *string `protobuf:"bytes,5,opt"` AttachInfo proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *GetNoticesRsp) GetTotalNum() uint32 {
if x != nil && x.TotalNum != nil {
return *x.TotalNum
}
return 0
}
func (x *GetNoticesRsp) GetIsFinish() bool {
if x != nil && x.IsFinish != nil {
return *x.IsFinish
}
return false
}
func (x *GetNoticesRsp) GetAttachInfo() string {
if x != nil && x.AttachInfo != nil {
return *x.AttachInfo
}
return ""
} }
type NeedInsertCommentInfo struct { type NeedInsertCommentInfo struct {
CommentID *string `protobuf:"bytes,1,opt"` CommentID proto.Option[string] `protobuf:"bytes,1,opt"`
}
func (x *NeedInsertCommentInfo) GetCommentID() string {
if x != nil && x.CommentID != nil {
return *x.CommentID
}
return ""
} }
type RefreshToast struct { type RefreshToast struct {
Text *string `protobuf:"bytes,1,opt"` Text proto.Option[string] `protobuf:"bytes,1,opt"`
}
func (x *RefreshToast) GetText() string {
if x != nil && x.Text != nil {
return *x.Text
}
return ""
} }
type StGetChannelFeedsReq struct { type StGetChannelFeedsReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Count *uint32 `protobuf:"varint,2,opt"` Count proto.Option[uint32] `protobuf:"varint,2,opt"`
From *uint32 `protobuf:"varint,3,opt"` From proto.Option[uint32] `protobuf:"varint,3,opt"`
ChannelSign *StChannelSign `protobuf:"bytes,4,opt"` ChannelSign *StChannelSign `protobuf:"bytes,4,opt"`
FeedAttchInfo *string `protobuf:"bytes,5,opt"` FeedAttchInfo proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *StGetChannelFeedsReq) GetCount() uint32 {
if x != nil && x.Count != nil {
return *x.Count
}
return 0
}
func (x *StGetChannelFeedsReq) GetFrom() uint32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StGetChannelFeedsReq) GetFeedAttchInfo() string {
if x != nil && x.FeedAttchInfo != nil {
return *x.FeedAttchInfo
}
return ""
} }
type StGetChannelFeedsRsp struct { type StGetChannelFeedsRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
VecFeed []*StFeed `protobuf:"bytes,2,rep"` VecFeed []*StFeed `protobuf:"bytes,2,rep"`
IsFinish *uint32 `protobuf:"varint,3,opt"` IsFinish proto.Option[uint32] `protobuf:"varint,3,opt"`
User *StUser `protobuf:"bytes,4,opt"` User *StUser `protobuf:"bytes,4,opt"`
FeedAttchInfo *string `protobuf:"bytes,5,opt"` FeedAttchInfo proto.Option[string] `protobuf:"bytes,5,opt"`
RefreshToast *RefreshToast `protobuf:"bytes,6,opt"` RefreshToast *RefreshToast `protobuf:"bytes,6,opt"`
} }
func (x *StGetChannelFeedsRsp) GetIsFinish() uint32 {
if x != nil && x.IsFinish != nil {
return *x.IsFinish
}
return 0
}
func (x *StGetChannelFeedsRsp) GetFeedAttchInfo() string {
if x != nil && x.FeedAttchInfo != nil {
return *x.FeedAttchInfo
}
return ""
}
type StGetChannelShareFeedReq struct { type StGetChannelShareFeedReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
From *uint32 `protobuf:"varint,2,opt"` From proto.Option[uint32] `protobuf:"varint,2,opt"`
ChannelShareInfo *StChannelShareInfo `protobuf:"bytes,3,opt"` ChannelShareInfo *StChannelShareInfo `protobuf:"bytes,3,opt"`
} }
func (x *StGetChannelShareFeedReq) GetFrom() uint32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
type StGetChannelShareFeedRsp struct { type StGetChannelShareFeedRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`
@ -146,130 +59,32 @@ type StGetChannelShareFeedRsp struct {
type StGetFeedCommentsReq struct { type StGetFeedCommentsReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
UserId *string `protobuf:"bytes,2,opt"` UserId proto.Option[string] `protobuf:"bytes,2,opt"`
FeedId *string `protobuf:"bytes,3,opt"` FeedId proto.Option[string] `protobuf:"bytes,3,opt"`
ListNum *uint32 `protobuf:"varint,4,opt"` ListNum proto.Option[uint32] `protobuf:"varint,4,opt"`
From *uint32 `protobuf:"varint,5,opt"` From proto.Option[uint32] `protobuf:"varint,5,opt"`
AttchInfo *string `protobuf:"bytes,6,opt"` AttchInfo proto.Option[string] `protobuf:"bytes,6,opt"`
EntrySchema *string `protobuf:"bytes,7,opt"` EntrySchema proto.Option[string] `protobuf:"bytes,7,opt"`
}
func (x *StGetFeedCommentsReq) GetUserId() string {
if x != nil && x.UserId != nil {
return *x.UserId
}
return ""
}
func (x *StGetFeedCommentsReq) GetFeedId() string {
if x != nil && x.FeedId != nil {
return *x.FeedId
}
return ""
}
func (x *StGetFeedCommentsReq) GetListNum() uint32 {
if x != nil && x.ListNum != nil {
return *x.ListNum
}
return 0
}
func (x *StGetFeedCommentsReq) GetFrom() uint32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StGetFeedCommentsReq) GetAttchInfo() string {
if x != nil && x.AttchInfo != nil {
return *x.AttchInfo
}
return ""
}
func (x *StGetFeedCommentsReq) GetEntrySchema() string {
if x != nil && x.EntrySchema != nil {
return *x.EntrySchema
}
return ""
} }
type StGetFeedCommentsRsp struct { type StGetFeedCommentsRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
VecComment []*StComment `protobuf:"bytes,2,rep"` VecComment []*StComment `protobuf:"bytes,2,rep"`
TotalNum *uint32 `protobuf:"varint,3,opt"` TotalNum proto.Option[uint32] `protobuf:"varint,3,opt"`
IsFinish *uint32 `protobuf:"varint,4,opt"` IsFinish proto.Option[uint32] `protobuf:"varint,4,opt"`
AttchInfo *string `protobuf:"bytes,5,opt"` AttchInfo proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *StGetFeedCommentsRsp) GetTotalNum() uint32 {
if x != nil && x.TotalNum != nil {
return *x.TotalNum
}
return 0
}
func (x *StGetFeedCommentsRsp) GetIsFinish() uint32 {
if x != nil && x.IsFinish != nil {
return *x.IsFinish
}
return 0
}
func (x *StGetFeedCommentsRsp) GetAttchInfo() string {
if x != nil && x.AttchInfo != nil {
return *x.AttchInfo
}
return ""
} }
type StGetFeedDetailReq struct { type StGetFeedDetailReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
From *uint32 `protobuf:"varint,2,opt"` From proto.Option[uint32] `protobuf:"varint,2,opt"`
UserId *string `protobuf:"bytes,3,opt"` UserId proto.Option[string] `protobuf:"bytes,3,opt"`
FeedId *string `protobuf:"bytes,4,opt"` FeedId proto.Option[string] `protobuf:"bytes,4,opt"`
CreateTime *uint64 `protobuf:"varint,5,opt"` CreateTime proto.Option[uint64] `protobuf:"varint,5,opt"`
DetailType *uint32 `protobuf:"varint,6,opt"` DetailType proto.Option[uint32] `protobuf:"varint,6,opt"`
ChannelSign *StChannelSign `protobuf:"bytes,7,opt"` ChannelSign *StChannelSign `protobuf:"bytes,7,opt"`
} }
func (x *StGetFeedDetailReq) GetFrom() uint32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StGetFeedDetailReq) GetUserId() string {
if x != nil && x.UserId != nil {
return *x.UserId
}
return ""
}
func (x *StGetFeedDetailReq) GetFeedId() string {
if x != nil && x.FeedId != nil {
return *x.FeedId
}
return ""
}
func (x *StGetFeedDetailReq) GetCreateTime() uint64 {
if x != nil && x.CreateTime != nil {
return *x.CreateTime
}
return 0
}
func (x *StGetFeedDetailReq) GetDetailType() uint32 {
if x != nil && x.DetailType != nil {
return *x.DetailType
}
return 0
}
type StGetFeedDetailRsp struct { type StGetFeedDetailRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`

View File

@ -3,46 +3,22 @@
package channel package channel
import (
proto "github.com/RomiChan/protobuf/proto"
)
type StAlterFeedReq struct { type StAlterFeedReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`
BusiReqData []byte `protobuf:"bytes,3,opt"` BusiReqData []byte `protobuf:"bytes,3,opt"`
MBitmap *uint64 `protobuf:"varint,4,opt"` MBitmap proto.Option[uint64] `protobuf:"varint,4,opt"`
From *int32 `protobuf:"varint,5,opt"` From proto.Option[int32] `protobuf:"varint,5,opt"`
Src *int32 `protobuf:"varint,6,opt"` Src proto.Option[int32] `protobuf:"varint,6,opt"`
AlterFeedExtInfo []*CommonEntry `protobuf:"bytes,7,rep"` AlterFeedExtInfo []*CommonEntry `protobuf:"bytes,7,rep"`
JsonFeed *string `protobuf:"bytes,8,opt"` JsonFeed proto.Option[string] `protobuf:"bytes,8,opt"`
ClientContent *StClientContent `protobuf:"bytes,9,opt"` ClientContent *StClientContent `protobuf:"bytes,9,opt"`
} }
func (x *StAlterFeedReq) GetMBitmap() uint64 {
if x != nil && x.MBitmap != nil {
return *x.MBitmap
}
return 0
}
func (x *StAlterFeedReq) GetFrom() int32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StAlterFeedReq) GetSrc() int32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
}
func (x *StAlterFeedReq) GetJsonFeed() string {
if x != nil && x.JsonFeed != nil {
return *x.JsonFeed
}
return ""
}
type StAlterFeedRsp struct { type StAlterFeedRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`
@ -55,86 +31,23 @@ type StClientContent struct {
} }
type StClientImageContent struct { type StClientImageContent struct {
TaskId *string `protobuf:"bytes,1,opt"` TaskId proto.Option[string] `protobuf:"bytes,1,opt"`
PicId *string `protobuf:"bytes,2,opt"` PicId proto.Option[string] `protobuf:"bytes,2,opt"`
Url *string `protobuf:"bytes,3,opt"` Url proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *StClientImageContent) GetTaskId() string {
if x != nil && x.TaskId != nil {
return *x.TaskId
}
return ""
}
func (x *StClientImageContent) GetPicId() string {
if x != nil && x.PicId != nil {
return *x.PicId
}
return ""
}
func (x *StClientImageContent) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
} }
type StClientVideoContent struct { type StClientVideoContent struct {
TaskId *string `protobuf:"bytes,1,opt"` TaskId proto.Option[string] `protobuf:"bytes,1,opt"`
VideoId *string `protobuf:"bytes,2,opt"` VideoId proto.Option[string] `protobuf:"bytes,2,opt"`
VideoUrl *string `protobuf:"bytes,3,opt"` VideoUrl proto.Option[string] `protobuf:"bytes,3,opt"`
CoverUrl *string `protobuf:"bytes,4,opt"` CoverUrl proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *StClientVideoContent) GetTaskId() string {
if x != nil && x.TaskId != nil {
return *x.TaskId
}
return ""
}
func (x *StClientVideoContent) GetVideoId() string {
if x != nil && x.VideoId != nil {
return *x.VideoId
}
return ""
}
func (x *StClientVideoContent) GetVideoUrl() string {
if x != nil && x.VideoUrl != nil {
return *x.VideoUrl
}
return ""
}
func (x *StClientVideoContent) GetCoverUrl() string {
if x != nil && x.CoverUrl != nil {
return *x.CoverUrl
}
return ""
} }
type StDelFeedReq struct { type StDelFeedReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`
From *int32 `protobuf:"varint,3,opt"` From proto.Option[int32] `protobuf:"varint,3,opt"`
Src *int32 `protobuf:"varint,4,opt"` Src proto.Option[int32] `protobuf:"varint,4,opt"`
}
func (x *StDelFeedReq) GetFrom() int32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StDelFeedReq) GetSrc() int32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
} }
type StDelFeedRsp struct { type StDelFeedRsp struct {
@ -143,33 +56,12 @@ type StDelFeedRsp struct {
type StDoCommentReq struct { type StDoCommentReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
CommentType *uint32 `protobuf:"varint,2,opt"` CommentType proto.Option[uint32] `protobuf:"varint,2,opt"`
Comment *StComment `protobuf:"bytes,3,opt"` Comment *StComment `protobuf:"bytes,3,opt"`
Feed *StFeed `protobuf:"bytes,4,opt"` Feed *StFeed `protobuf:"bytes,4,opt"`
From *int32 `protobuf:"varint,5,opt"` From proto.Option[int32] `protobuf:"varint,5,opt"`
BusiReqData []byte `protobuf:"bytes,6,opt"` BusiReqData []byte `protobuf:"bytes,6,opt"`
Src *int32 `protobuf:"varint,7,opt"` Src proto.Option[int32] `protobuf:"varint,7,opt"`
}
func (x *StDoCommentReq) GetCommentType() uint32 {
if x != nil && x.CommentType != nil {
return *x.CommentType
}
return 0
}
func (x *StDoCommentReq) GetFrom() int32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StDoCommentReq) GetSrc() int32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
} }
type StDoCommentRsp struct { type StDoCommentRsp struct {
@ -180,38 +72,17 @@ type StDoCommentRsp struct {
type StDoLikeReq struct { type StDoLikeReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
LikeType *uint32 `protobuf:"varint,2,opt"` LikeType proto.Option[uint32] `protobuf:"varint,2,opt"`
Like *StLike `protobuf:"bytes,3,opt"` Like *StLike `protobuf:"bytes,3,opt"`
Feed *StFeed `protobuf:"bytes,4,opt"` Feed *StFeed `protobuf:"bytes,4,opt"`
BusiReqData []byte `protobuf:"bytes,5,opt"` BusiReqData []byte `protobuf:"bytes,5,opt"`
Comment *StComment `protobuf:"bytes,6,opt"` Comment *StComment `protobuf:"bytes,6,opt"`
Reply *StReply `protobuf:"bytes,7,opt"` Reply *StReply `protobuf:"bytes,7,opt"`
From *int32 `protobuf:"varint,8,opt"` From proto.Option[int32] `protobuf:"varint,8,opt"`
Src *int32 `protobuf:"varint,9,opt"` Src proto.Option[int32] `protobuf:"varint,9,opt"`
EmotionReaction *StEmotionReactionInfo `protobuf:"bytes,10,opt"` EmotionReaction *StEmotionReactionInfo `protobuf:"bytes,10,opt"`
} }
func (x *StDoLikeReq) GetLikeType() uint32 {
if x != nil && x.LikeType != nil {
return *x.LikeType
}
return 0
}
func (x *StDoLikeReq) GetFrom() int32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StDoLikeReq) GetSrc() int32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
}
type StDoLikeRsp struct { type StDoLikeRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Like *StLike `protobuf:"bytes,2,opt"` Like *StLike `protobuf:"bytes,2,opt"`
@ -221,34 +92,13 @@ type StDoLikeRsp struct {
type StDoReplyReq struct { type StDoReplyReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
ReplyType *uint32 `protobuf:"varint,2,opt"` ReplyType proto.Option[uint32] `protobuf:"varint,2,opt"`
Reply *StReply `protobuf:"bytes,3,opt"` Reply *StReply `protobuf:"bytes,3,opt"`
Comment *StComment `protobuf:"bytes,4,opt"` Comment *StComment `protobuf:"bytes,4,opt"`
Feed *StFeed `protobuf:"bytes,5,opt"` Feed *StFeed `protobuf:"bytes,5,opt"`
From *int32 `protobuf:"varint,6,opt"` From proto.Option[int32] `protobuf:"varint,6,opt"`
BusiReqData []byte `protobuf:"bytes,7,opt"` BusiReqData []byte `protobuf:"bytes,7,opt"`
Src *int32 `protobuf:"varint,8,opt"` Src proto.Option[int32] `protobuf:"varint,8,opt"`
}
func (x *StDoReplyReq) GetReplyType() uint32 {
if x != nil && x.ReplyType != nil {
return *x.ReplyType
}
return 0
}
func (x *StDoReplyReq) GetFrom() int32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StDoReplyReq) GetSrc() int32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
} }
type StDoReplyRsp struct { type StDoReplyRsp struct {
@ -263,14 +113,7 @@ type StDoSecurityReq struct {
Comment *StComment `protobuf:"bytes,3,opt"` Comment *StComment `protobuf:"bytes,3,opt"`
Reply *StReply `protobuf:"bytes,4,opt"` Reply *StReply `protobuf:"bytes,4,opt"`
Poster *StUser `protobuf:"bytes,5,opt"` Poster *StUser `protobuf:"bytes,5,opt"`
SecType *int32 `protobuf:"varint,6,opt"` SecType proto.Option[int32] `protobuf:"varint,6,opt"`
}
func (x *StDoSecurityReq) GetSecType() int32 {
if x != nil && x.SecType != nil {
return *x.SecType
}
return 0
} }
type StDoSecurityRsp struct { type StDoSecurityRsp struct {
@ -280,33 +123,12 @@ type StDoSecurityRsp struct {
type StModifyFeedReq struct { type StModifyFeedReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`
MBitmap *uint64 `protobuf:"varint,3,opt"` MBitmap proto.Option[uint64] `protobuf:"varint,3,opt"`
From *int32 `protobuf:"varint,4,opt"` From proto.Option[int32] `protobuf:"varint,4,opt"`
Src *int32 `protobuf:"varint,5,opt"` Src proto.Option[int32] `protobuf:"varint,5,opt"`
ModifyFeedExtInfo []*CommonEntry `protobuf:"bytes,6,rep"` ModifyFeedExtInfo []*CommonEntry `protobuf:"bytes,6,rep"`
} }
func (x *StModifyFeedReq) GetMBitmap() uint64 {
if x != nil && x.MBitmap != nil {
return *x.MBitmap
}
return 0
}
func (x *StModifyFeedReq) GetFrom() int32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StModifyFeedReq) GetSrc() int32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
}
type StModifyFeedRsp struct { type StModifyFeedRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`
@ -317,34 +139,13 @@ type StPublishFeedReq struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`
BusiReqData []byte `protobuf:"bytes,3,opt"` BusiReqData []byte `protobuf:"bytes,3,opt"`
From *int32 `protobuf:"varint,4,opt"` From proto.Option[int32] `protobuf:"varint,4,opt"`
Src *int32 `protobuf:"varint,5,opt"` Src proto.Option[int32] `protobuf:"varint,5,opt"`
StoreFeedExtInfo []*CommonEntry `protobuf:"bytes,6,rep"` StoreFeedExtInfo []*CommonEntry `protobuf:"bytes,6,rep"`
JsonFeed *string `protobuf:"bytes,7,opt"` JsonFeed proto.Option[string] `protobuf:"bytes,7,opt"`
ClientContent *StClientContent `protobuf:"bytes,8,opt"` ClientContent *StClientContent `protobuf:"bytes,8,opt"`
} }
func (x *StPublishFeedReq) GetFrom() int32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *StPublishFeedReq) GetSrc() int32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
}
func (x *StPublishFeedReq) GetJsonFeed() string {
if x != nil && x.JsonFeed != nil {
return *x.JsonFeed
}
return ""
}
type StPublishFeedRsp struct { type StPublishFeedRsp struct {
ExtInfo *StCommonExt `protobuf:"bytes,1,opt"` ExtInfo *StCommonExt `protobuf:"bytes,1,opt"`
Feed *StFeed `protobuf:"bytes,2,opt"` Feed *StFeed `protobuf:"bytes,2,opt"`

View File

@ -3,6 +3,10 @@
package channel package channel
import (
proto "github.com/RomiChan/protobuf/proto"
)
type BatchGetMsgRspCountReq struct { type BatchGetMsgRspCountReq struct {
GuildMsgList []*GuildMsg `protobuf:"bytes,1,rep"` GuildMsgList []*GuildMsg `protobuf:"bytes,1,rep"`
} }
@ -12,118 +16,41 @@ type BatchGetMsgRspCountRsp struct {
} }
type SvrChannelMsg struct { type SvrChannelMsg struct {
ChannelId *uint64 `protobuf:"varint,1,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,1,opt"`
Id []*MsgId `protobuf:"bytes,2,rep"` Id []*MsgId `protobuf:"bytes,2,rep"`
} }
func (x *SvrChannelMsg) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
type ChannelMsgInfo struct { type ChannelMsgInfo struct {
ChannelId *uint64 `protobuf:"varint,1,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,1,opt"`
RespData []*MsgRespData `protobuf:"bytes,2,rep"` RespData []*MsgRespData `protobuf:"bytes,2,rep"`
} }
func (x *ChannelMsgInfo) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
type EmojiReaction struct { type EmojiReaction struct {
EmojiId *string `protobuf:"bytes,1,opt"` EmojiId proto.Option[string] `protobuf:"bytes,1,opt"`
EmojiType *uint64 `protobuf:"varint,2,opt"` EmojiType proto.Option[uint64] `protobuf:"varint,2,opt"`
Cnt *uint64 `protobuf:"varint,3,opt"` Cnt proto.Option[uint64] `protobuf:"varint,3,opt"`
IsClicked *bool `protobuf:"varint,4,opt"` IsClicked proto.Option[bool] `protobuf:"varint,4,opt"`
IsDefaultEmoji *bool `protobuf:"varint,10001,opt"` IsDefaultEmoji proto.Option[bool] `protobuf:"varint,10001,opt"`
}
func (x *EmojiReaction) GetEmojiId() string {
if x != nil && x.EmojiId != nil {
return *x.EmojiId
}
return ""
}
func (x *EmojiReaction) GetEmojiType() uint64 {
if x != nil && x.EmojiType != nil {
return *x.EmojiType
}
return 0
}
func (x *EmojiReaction) GetCnt() uint64 {
if x != nil && x.Cnt != nil {
return *x.Cnt
}
return 0
}
func (x *EmojiReaction) GetIsClicked() bool {
if x != nil && x.IsClicked != nil {
return *x.IsClicked
}
return false
}
func (x *EmojiReaction) GetIsDefaultEmoji() bool {
if x != nil && x.IsDefaultEmoji != nil {
return *x.IsDefaultEmoji
}
return false
} }
type GuildMsg struct { type GuildMsg struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelMsgList []*SvrChannelMsg `protobuf:"bytes,2,rep"` ChannelMsgList []*SvrChannelMsg `protobuf:"bytes,2,rep"`
} }
func (x *GuildMsg) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
type GuildMsgInfo struct { type GuildMsgInfo struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelMsgInfoList []*ChannelMsgInfo `protobuf:"bytes,2,rep"` ChannelMsgInfoList []*ChannelMsgInfo `protobuf:"bytes,2,rep"`
} }
func (x *GuildMsgInfo) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
type MsgCnt struct { type MsgCnt struct {
Id *MsgId `protobuf:"bytes,1,opt"` Id *MsgId `protobuf:"bytes,1,opt"`
EmojiReaction []*EmojiReaction `protobuf:"bytes,2,rep"` EmojiReaction []*EmojiReaction `protobuf:"bytes,2,rep"`
} }
type MsgId struct { type MsgId struct {
Version *uint64 `protobuf:"varint,1,opt"` Version proto.Option[uint64] `protobuf:"varint,1,opt"`
Seq *uint64 `protobuf:"varint,2,opt"` Seq proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *MsgId) GetVersion() uint64 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
}
func (x *MsgId) GetSeq() uint64 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
} }
type MsgRespData struct { type MsgRespData struct {

View File

@ -5,264 +5,76 @@ package channel
import ( import (
msg "github.com/Mrs4s/MiraiGo/client/pb/msg" msg "github.com/Mrs4s/MiraiGo/client/pb/msg"
proto "github.com/RomiChan/protobuf/proto"
) )
type ChannelContentHead struct { type ChannelContentHead struct {
Type *uint64 `protobuf:"varint,1,opt"` Type proto.Option[uint64] `protobuf:"varint,1,opt"`
SubType *uint64 `protobuf:"varint,2,opt"` SubType proto.Option[uint64] `protobuf:"varint,2,opt"`
Random *uint64 `protobuf:"varint,3,opt"` Random proto.Option[uint64] `protobuf:"varint,3,opt"`
Seq *uint64 `protobuf:"varint,4,opt"` Seq proto.Option[uint64] `protobuf:"varint,4,opt"`
CntSeq *uint64 `protobuf:"varint,5,opt"` CntSeq proto.Option[uint64] `protobuf:"varint,5,opt"`
Time *uint64 `protobuf:"varint,6,opt"` Time proto.Option[uint64] `protobuf:"varint,6,opt"`
Meta []byte `protobuf:"bytes,7,opt"` Meta []byte `protobuf:"bytes,7,opt"`
} }
func (x *ChannelContentHead) GetType() uint64 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *ChannelContentHead) GetSubType() uint64 {
if x != nil && x.SubType != nil {
return *x.SubType
}
return 0
}
func (x *ChannelContentHead) GetRandom() uint64 {
if x != nil && x.Random != nil {
return *x.Random
}
return 0
}
func (x *ChannelContentHead) GetSeq() uint64 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *ChannelContentHead) GetCntSeq() uint64 {
if x != nil && x.CntSeq != nil {
return *x.CntSeq
}
return 0
}
func (x *ChannelContentHead) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
type DirectMessageMember struct { type DirectMessageMember struct {
Uin *uint64 `protobuf:"varint,1,opt"` Uin proto.Option[uint64] `protobuf:"varint,1,opt"`
Tinyid *uint64 `protobuf:"varint,2,opt"` Tinyid proto.Option[uint64] `protobuf:"varint,2,opt"`
SourceGuildId *uint64 `protobuf:"varint,3,opt"` SourceGuildId proto.Option[uint64] `protobuf:"varint,3,opt"`
SourceGuildName []byte `protobuf:"bytes,4,opt"` SourceGuildName []byte `protobuf:"bytes,4,opt"`
NickName []byte `protobuf:"bytes,5,opt"` NickName []byte `protobuf:"bytes,5,opt"`
MemberName []byte `protobuf:"bytes,6,opt"` MemberName []byte `protobuf:"bytes,6,opt"`
NotifyType *uint32 `protobuf:"varint,7,opt"` NotifyType proto.Option[uint32] `protobuf:"varint,7,opt"`
}
func (x *DirectMessageMember) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *DirectMessageMember) GetTinyid() uint64 {
if x != nil && x.Tinyid != nil {
return *x.Tinyid
}
return 0
}
func (x *DirectMessageMember) GetSourceGuildId() uint64 {
if x != nil && x.SourceGuildId != nil {
return *x.SourceGuildId
}
return 0
}
func (x *DirectMessageMember) GetNotifyType() uint32 {
if x != nil && x.NotifyType != nil {
return *x.NotifyType
}
return 0
} }
type ChannelEvent struct { type ChannelEvent struct {
Type *uint64 `protobuf:"varint,1,opt"` Type proto.Option[uint64] `protobuf:"varint,1,opt"`
Version *uint64 `protobuf:"varint,2,opt"` Version proto.Option[uint64] `protobuf:"varint,2,opt"`
OpInfo *ChannelMsgOpInfo `protobuf:"bytes,3,opt"` OpInfo *ChannelMsgOpInfo `protobuf:"bytes,3,opt"`
} }
func (x *ChannelEvent) GetType() uint64 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *ChannelEvent) GetVersion() uint64 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
}
type ChannelExtInfo struct { type ChannelExtInfo struct {
FromNick []byte `protobuf:"bytes,1,opt"` FromNick []byte `protobuf:"bytes,1,opt"`
GuildName []byte `protobuf:"bytes,2,opt"` GuildName []byte `protobuf:"bytes,2,opt"`
ChannelName []byte `protobuf:"bytes,3,opt"` ChannelName []byte `protobuf:"bytes,3,opt"`
Visibility *uint32 `protobuf:"varint,4,opt"` Visibility proto.Option[uint32] `protobuf:"varint,4,opt"`
NotifyType *uint32 `protobuf:"varint,5,opt"` NotifyType proto.Option[uint32] `protobuf:"varint,5,opt"`
OfflineFlag *uint32 `protobuf:"varint,6,opt"` OfflineFlag proto.Option[uint32] `protobuf:"varint,6,opt"`
NameType *uint32 `protobuf:"varint,7,opt"` NameType proto.Option[uint32] `protobuf:"varint,7,opt"`
MemberName []byte `protobuf:"bytes,8,opt"` MemberName []byte `protobuf:"bytes,8,opt"`
Timestamp *uint32 `protobuf:"varint,9,opt"` Timestamp proto.Option[uint32] `protobuf:"varint,9,opt"`
EventVersion *uint64 `protobuf:"varint,10,opt"` EventVersion proto.Option[uint64] `protobuf:"varint,10,opt"`
Events []*ChannelEvent `protobuf:"bytes,11,rep"` Events []*ChannelEvent `protobuf:"bytes,11,rep"`
FromRoleInfo *ChannelRole `protobuf:"bytes,12,opt"` FromRoleInfo *ChannelRole `protobuf:"bytes,12,opt"`
FreqLimitInfo *ChannelFreqLimitInfo `protobuf:"bytes,13,opt"` FreqLimitInfo *ChannelFreqLimitInfo `protobuf:"bytes,13,opt"`
DirectMessageMember []*DirectMessageMember `protobuf:"bytes,14,rep"` DirectMessageMember []*DirectMessageMember `protobuf:"bytes,14,rep"`
} }
func (x *ChannelExtInfo) GetVisibility() uint32 {
if x != nil && x.Visibility != nil {
return *x.Visibility
}
return 0
}
func (x *ChannelExtInfo) GetNotifyType() uint32 {
if x != nil && x.NotifyType != nil {
return *x.NotifyType
}
return 0
}
func (x *ChannelExtInfo) GetOfflineFlag() uint32 {
if x != nil && x.OfflineFlag != nil {
return *x.OfflineFlag
}
return 0
}
func (x *ChannelExtInfo) GetNameType() uint32 {
if x != nil && x.NameType != nil {
return *x.NameType
}
return 0
}
func (x *ChannelExtInfo) GetTimestamp() uint32 {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return 0
}
func (x *ChannelExtInfo) GetEventVersion() uint64 {
if x != nil && x.EventVersion != nil {
return *x.EventVersion
}
return 0
}
type ChannelFreqLimitInfo struct { type ChannelFreqLimitInfo struct {
IsLimited *uint32 `protobuf:"varint,1,opt"` IsLimited proto.Option[uint32] `protobuf:"varint,1,opt"`
LeftCount *uint32 `protobuf:"varint,2,opt"` LeftCount proto.Option[uint32] `protobuf:"varint,2,opt"`
LimitTimestamp *uint64 `protobuf:"varint,3,opt"` LimitTimestamp proto.Option[uint64] `protobuf:"varint,3,opt"`
}
func (x *ChannelFreqLimitInfo) GetIsLimited() uint32 {
if x != nil && x.IsLimited != nil {
return *x.IsLimited
}
return 0
}
func (x *ChannelFreqLimitInfo) GetLeftCount() uint32 {
if x != nil && x.LeftCount != nil {
return *x.LeftCount
}
return 0
}
func (x *ChannelFreqLimitInfo) GetLimitTimestamp() uint64 {
if x != nil && x.LimitTimestamp != nil {
return *x.LimitTimestamp
}
return 0
} }
type ChannelInfo struct { type ChannelInfo struct {
Id *uint64 `protobuf:"varint,1,opt"` Id proto.Option[uint64] `protobuf:"varint,1,opt"`
Name []byte `protobuf:"bytes,2,opt"` Name []byte `protobuf:"bytes,2,opt"`
Color *uint32 `protobuf:"varint,3,opt"` Color proto.Option[uint32] `protobuf:"varint,3,opt"`
Hoist *uint32 `protobuf:"varint,4,opt"` Hoist proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *ChannelInfo) GetId() uint64 {
if x != nil && x.Id != nil {
return *x.Id
}
return 0
}
func (x *ChannelInfo) GetColor() uint32 {
if x != nil && x.Color != nil {
return *x.Color
}
return 0
}
func (x *ChannelInfo) GetHoist() uint32 {
if x != nil && x.Hoist != nil {
return *x.Hoist
}
return 0
} }
type ChannelLoginSig struct { type ChannelLoginSig struct {
Type *uint32 `protobuf:"varint,1,opt"` Type proto.Option[uint32] `protobuf:"varint,1,opt"`
Sig []byte `protobuf:"bytes,2,opt"` Sig []byte `protobuf:"bytes,2,opt"`
Appid *uint32 `protobuf:"varint,3,opt"` Appid proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *ChannelLoginSig) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *ChannelLoginSig) GetAppid() uint32 {
if x != nil && x.Appid != nil {
return *x.Appid
}
return 0
} }
type ChannelMeta struct { type ChannelMeta struct {
FromUin *uint64 `protobuf:"varint,1,opt"` FromUin proto.Option[uint64] `protobuf:"varint,1,opt"`
LoginSig *ChannelLoginSig `protobuf:"bytes,2,opt"` LoginSig *ChannelLoginSig `protobuf:"bytes,2,opt"`
} }
func (x *ChannelMeta) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
type ChannelMsgContent struct { type ChannelMsgContent struct {
Head *ChannelMsgHead `protobuf:"bytes,1,opt"` Head *ChannelMsgHead `protobuf:"bytes,1,opt"`
CtrlHead *ChannelMsgCtrlHead `protobuf:"bytes,2,opt"` CtrlHead *ChannelMsgCtrlHead `protobuf:"bytes,2,opt"`
@ -274,72 +86,16 @@ type ChannelMsgCtrlHead struct {
IncludeUin [][]byte `protobuf:"bytes,1,rep"` IncludeUin [][]byte `protobuf:"bytes,1,rep"`
// repeated uint64 excludeUin = 2; // bytes? // repeated uint64 excludeUin = 2; // bytes?
// repeated uint64 featureid = 3; // repeated uint64 featureid = 3;
OfflineFlag *uint32 `protobuf:"varint,4,opt"` OfflineFlag proto.Option[uint32] `protobuf:"varint,4,opt"`
Visibility *uint32 `protobuf:"varint,5,opt"` Visibility proto.Option[uint32] `protobuf:"varint,5,opt"`
CtrlFlag *uint64 `protobuf:"varint,6,opt"` CtrlFlag proto.Option[uint64] `protobuf:"varint,6,opt"`
Events []*ChannelEvent `protobuf:"bytes,7,rep"` Events []*ChannelEvent `protobuf:"bytes,7,rep"`
Level *uint64 `protobuf:"varint,8,opt"` Level proto.Option[uint64] `protobuf:"varint,8,opt"`
PersonalLevels []*PersonalLevel `protobuf:"bytes,9,rep"` PersonalLevels []*PersonalLevel `protobuf:"bytes,9,rep"`
GuildSyncSeq *uint64 `protobuf:"varint,10,opt"` GuildSyncSeq proto.Option[uint64] `protobuf:"varint,10,opt"`
MemberNum *uint32 `protobuf:"varint,11,opt"` MemberNum proto.Option[uint32] `protobuf:"varint,11,opt"`
ChannelType *uint32 `protobuf:"varint,12,opt"` ChannelType proto.Option[uint32] `protobuf:"varint,12,opt"`
PrivateType *uint32 `protobuf:"varint,13,opt"` PrivateType proto.Option[uint32] `protobuf:"varint,13,opt"`
}
func (x *ChannelMsgCtrlHead) GetOfflineFlag() uint32 {
if x != nil && x.OfflineFlag != nil {
return *x.OfflineFlag
}
return 0
}
func (x *ChannelMsgCtrlHead) GetVisibility() uint32 {
if x != nil && x.Visibility != nil {
return *x.Visibility
}
return 0
}
func (x *ChannelMsgCtrlHead) GetCtrlFlag() uint64 {
if x != nil && x.CtrlFlag != nil {
return *x.CtrlFlag
}
return 0
}
func (x *ChannelMsgCtrlHead) GetLevel() uint64 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
}
func (x *ChannelMsgCtrlHead) GetGuildSyncSeq() uint64 {
if x != nil && x.GuildSyncSeq != nil {
return *x.GuildSyncSeq
}
return 0
}
func (x *ChannelMsgCtrlHead) GetMemberNum() uint32 {
if x != nil && x.MemberNum != nil {
return *x.MemberNum
}
return 0
}
func (x *ChannelMsgCtrlHead) GetChannelType() uint32 {
if x != nil && x.ChannelType != nil {
return *x.ChannelType
}
return 0
}
func (x *ChannelMsgCtrlHead) GetPrivateType() uint32 {
if x != nil && x.PrivateType != nil {
return *x.PrivateType
}
return 0
} }
type ChannelMsgHead struct { type ChannelMsgHead struct {
@ -348,153 +104,34 @@ type ChannelMsgHead struct {
} }
type ChannelMsgMeta struct { type ChannelMsgMeta struct {
AtAllSeq *uint64 `protobuf:"varint,1,opt"` AtAllSeq proto.Option[uint64] `protobuf:"varint,1,opt"`
}
func (x *ChannelMsgMeta) GetAtAllSeq() uint64 {
if x != nil && x.AtAllSeq != nil {
return *x.AtAllSeq
}
return 0
} }
type ChannelMsgOpInfo struct { type ChannelMsgOpInfo struct {
OperatorTinyid *uint64 `protobuf:"varint,1,opt"` OperatorTinyid proto.Option[uint64] `protobuf:"varint,1,opt"`
OperatorRole *uint64 `protobuf:"varint,2,opt"` OperatorRole proto.Option[uint64] `protobuf:"varint,2,opt"`
Reason *uint64 `protobuf:"varint,3,opt"` Reason proto.Option[uint64] `protobuf:"varint,3,opt"`
Timestamp *uint64 `protobuf:"varint,4,opt"` Timestamp proto.Option[uint64] `protobuf:"varint,4,opt"`
AtType *uint64 `protobuf:"varint,5,opt"` AtType proto.Option[uint64] `protobuf:"varint,5,opt"`
}
func (x *ChannelMsgOpInfo) GetOperatorTinyid() uint64 {
if x != nil && x.OperatorTinyid != nil {
return *x.OperatorTinyid
}
return 0
}
func (x *ChannelMsgOpInfo) GetOperatorRole() uint64 {
if x != nil && x.OperatorRole != nil {
return *x.OperatorRole
}
return 0
}
func (x *ChannelMsgOpInfo) GetReason() uint64 {
if x != nil && x.Reason != nil {
return *x.Reason
}
return 0
}
func (x *ChannelMsgOpInfo) GetTimestamp() uint64 {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return 0
}
func (x *ChannelMsgOpInfo) GetAtType() uint64 {
if x != nil && x.AtType != nil {
return *x.AtType
}
return 0
} }
type PersonalLevel struct { type PersonalLevel struct {
ToUin *uint64 `protobuf:"varint,1,opt"` ToUin proto.Option[uint64] `protobuf:"varint,1,opt"`
Level *uint64 `protobuf:"varint,2,opt"` Level proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *PersonalLevel) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *PersonalLevel) GetLevel() uint64 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
} }
type ChannelRole struct { type ChannelRole struct {
Id *uint64 `protobuf:"varint,1,opt"` Id proto.Option[uint64] `protobuf:"varint,1,opt"`
Info []byte `protobuf:"bytes,2,opt"` Info []byte `protobuf:"bytes,2,opt"`
Flag *uint32 `protobuf:"varint,3,opt"` Flag proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *ChannelRole) GetId() uint64 {
if x != nil && x.Id != nil {
return *x.Id
}
return 0
}
func (x *ChannelRole) GetFlag() uint32 {
if x != nil && x.Flag != nil {
return *x.Flag
}
return 0
} }
type ChannelRoutingHead struct { type ChannelRoutingHead struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelId *uint64 `protobuf:"varint,2,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,2,opt"`
FromUin *uint64 `protobuf:"varint,3,opt"` FromUin proto.Option[uint64] `protobuf:"varint,3,opt"`
FromTinyid *uint64 `protobuf:"varint,4,opt"` FromTinyid proto.Option[uint64] `protobuf:"varint,4,opt"`
GuildCode *uint64 `protobuf:"varint,5,opt"` GuildCode proto.Option[uint64] `protobuf:"varint,5,opt"`
FromAppid *uint64 `protobuf:"varint,6,opt"` FromAppid proto.Option[uint64] `protobuf:"varint,6,opt"`
DirectMessageFlag *uint32 `protobuf:"varint,7,opt"` DirectMessageFlag proto.Option[uint32] `protobuf:"varint,7,opt"`
}
func (x *ChannelRoutingHead) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *ChannelRoutingHead) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
func (x *ChannelRoutingHead) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *ChannelRoutingHead) GetFromTinyid() uint64 {
if x != nil && x.FromTinyid != nil {
return *x.FromTinyid
}
return 0
}
func (x *ChannelRoutingHead) GetGuildCode() uint64 {
if x != nil && x.GuildCode != nil {
return *x.GuildCode
}
return 0
}
func (x *ChannelRoutingHead) GetFromAppid() uint64 {
if x != nil && x.FromAppid != nil {
return *x.FromAppid
}
return 0
}
func (x *ChannelRoutingHead) GetDirectMessageFlag() uint32 {
if x != nil && x.DirectMessageFlag != nil {
return *x.DirectMessageFlag
}
return 0
} }

View File

@ -3,47 +3,23 @@
package channel package channel
import (
proto "github.com/RomiChan/protobuf/proto"
)
type FocusInfo struct { type FocusInfo struct {
ChannelIdList []uint64 `protobuf:"varint,1,rep"` ChannelIdList []uint64 `protobuf:"varint,1,rep"`
} }
type MsgOnlinePush struct { type MsgOnlinePush struct {
Msgs []*ChannelMsgContent `protobuf:"bytes,1,rep"` Msgs []*ChannelMsgContent `protobuf:"bytes,1,rep"`
GeneralFlag *uint32 `protobuf:"varint,2,opt"` GeneralFlag proto.Option[uint32] `protobuf:"varint,2,opt"`
NeedResp *uint32 `protobuf:"varint,3,opt"` NeedResp proto.Option[uint32] `protobuf:"varint,3,opt"`
ServerBuf []byte `protobuf:"bytes,4,opt"` ServerBuf []byte `protobuf:"bytes,4,opt"`
CompressFlag *uint32 `protobuf:"varint,5,opt"` CompressFlag proto.Option[uint32] `protobuf:"varint,5,opt"`
CompressMsg []byte `protobuf:"bytes,6,opt"` CompressMsg []byte `protobuf:"bytes,6,opt"`
FocusInfo *FocusInfo `protobuf:"bytes,7,opt"` FocusInfo *FocusInfo `protobuf:"bytes,7,opt"`
HugeFlag *uint32 `protobuf:"varint,8,opt"` HugeFlag proto.Option[uint32] `protobuf:"varint,8,opt"`
}
func (x *MsgOnlinePush) GetGeneralFlag() uint32 {
if x != nil && x.GeneralFlag != nil {
return *x.GeneralFlag
}
return 0
}
func (x *MsgOnlinePush) GetNeedResp() uint32 {
if x != nil && x.NeedResp != nil {
return *x.NeedResp
}
return 0
}
func (x *MsgOnlinePush) GetCompressFlag() uint32 {
if x != nil && x.CompressFlag != nil {
return *x.CompressFlag
}
return 0
}
func (x *MsgOnlinePush) GetHugeFlag() uint32 {
if x != nil && x.HugeFlag != nil {
return *x.HugeFlag
}
return 0
} }
type MsgPushResp struct { type MsgPushResp struct {
@ -55,21 +31,7 @@ type PressMsg struct {
} }
type ServerBuf struct { type ServerBuf struct {
SvrIp *uint32 `protobuf:"varint,1,opt"` SvrIp proto.Option[uint32] `protobuf:"varint,1,opt"`
SvrPort *uint32 `protobuf:"varint,2,opt"` SvrPort proto.Option[uint32] `protobuf:"varint,2,opt"`
EchoKey []byte `protobuf:"bytes,3,opt"` EchoKey []byte `protobuf:"bytes,3,opt"`
} }
func (x *ServerBuf) GetSvrIp() uint32 {
if x != nil && x.SvrIp != nil {
return *x.SvrIp
}
return 0
}
func (x *ServerBuf) GetSvrPort() uint32 {
if x != nil && x.SvrPort != nil {
return *x.SvrPort
}
return 0
}

View File

@ -5,6 +5,7 @@ package channel
import ( import (
msg "github.com/Mrs4s/MiraiGo/client/pb/msg" msg "github.com/Mrs4s/MiraiGo/client/pb/msg"
proto "github.com/RomiChan/protobuf/proto"
) )
type DF62ReqBody struct { type DF62ReqBody struct {
@ -12,54 +13,19 @@ type DF62ReqBody struct {
} }
type DF62RspBody struct { type DF62RspBody struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
Errmsg []byte `protobuf:"bytes,2,opt"` Errmsg []byte `protobuf:"bytes,2,opt"`
SendTime *uint32 `protobuf:"varint,3,opt"` SendTime proto.Option[uint32] `protobuf:"varint,3,opt"`
Head *ChannelMsgHead `protobuf:"bytes,4,opt"` Head *ChannelMsgHead `protobuf:"bytes,4,opt"`
ErrType *uint32 `protobuf:"varint,5,opt"` ErrType proto.Option[uint32] `protobuf:"varint,5,opt"`
TransSvrInfo *TransSvrInfo `protobuf:"bytes,6,opt"` TransSvrInfo *TransSvrInfo `protobuf:"bytes,6,opt"`
FreqLimitInfo *ChannelFreqLimitInfo `protobuf:"bytes,7,opt"` FreqLimitInfo *ChannelFreqLimitInfo `protobuf:"bytes,7,opt"`
Body *msg.MessageBody `protobuf:"bytes,8,opt"` Body *msg.MessageBody `protobuf:"bytes,8,opt"`
} }
func (x *DF62RspBody) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *DF62RspBody) GetSendTime() uint32 {
if x != nil && x.SendTime != nil {
return *x.SendTime
}
return 0
}
func (x *DF62RspBody) GetErrType() uint32 {
if x != nil && x.ErrType != nil {
return *x.ErrType
}
return 0
}
type TransSvrInfo struct { type TransSvrInfo struct {
SubType *uint32 `protobuf:"varint,1,opt"` SubType proto.Option[uint32] `protobuf:"varint,1,opt"`
RetCode *int32 `protobuf:"varint,2,opt"` RetCode proto.Option[int32] `protobuf:"varint,2,opt"`
ErrMsg []byte `protobuf:"bytes,3,opt"` ErrMsg []byte `protobuf:"bytes,3,opt"`
TransInfo []byte `protobuf:"bytes,4,opt"` TransInfo []byte `protobuf:"bytes,4,opt"`
} }
func (x *TransSvrInfo) GetSubType() uint32 {
if x != nil && x.SubType != nil {
return *x.SubType
}
return 0
}
func (x *TransSvrInfo) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}

File diff suppressed because it is too large Load Diff

View File

@ -3,499 +3,132 @@
package channel package channel
import (
proto "github.com/RomiChan/protobuf/proto"
)
type ChannelMsg struct { type ChannelMsg struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelId *uint64 `protobuf:"varint,2,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,2,opt"`
Result *uint32 `protobuf:"varint,3,opt"` Result proto.Option[uint32] `protobuf:"varint,3,opt"`
RspBeginSeq *uint64 `protobuf:"varint,4,opt"` RspBeginSeq proto.Option[uint64] `protobuf:"varint,4,opt"`
RspEndSeq *uint64 `protobuf:"varint,5,opt"` RspEndSeq proto.Option[uint64] `protobuf:"varint,5,opt"`
Msgs []*ChannelMsgContent `protobuf:"bytes,6,rep"` Msgs []*ChannelMsgContent `protobuf:"bytes,6,rep"`
} }
func (x *ChannelMsg) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *ChannelMsg) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
func (x *ChannelMsg) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *ChannelMsg) GetRspBeginSeq() uint64 {
if x != nil && x.RspBeginSeq != nil {
return *x.RspBeginSeq
}
return 0
}
func (x *ChannelMsg) GetRspEndSeq() uint64 {
if x != nil && x.RspEndSeq != nil {
return *x.RspEndSeq
}
return 0
}
type ChannelMsgReq struct { type ChannelMsgReq struct {
ChannelParam *ChannelParam `protobuf:"bytes,1,opt"` ChannelParam *ChannelParam `protobuf:"bytes,1,opt"`
WithVersionFlag *uint32 `protobuf:"varint,2,opt"` WithVersionFlag proto.Option[uint32] `protobuf:"varint,2,opt"`
DirectMessageFlag *uint32 `protobuf:"varint,3,opt"` DirectMessageFlag proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *ChannelMsgReq) GetWithVersionFlag() uint32 {
if x != nil && x.WithVersionFlag != nil {
return *x.WithVersionFlag
}
return 0
}
func (x *ChannelMsgReq) GetDirectMessageFlag() uint32 {
if x != nil && x.DirectMessageFlag != nil {
return *x.DirectMessageFlag
}
return 0
} }
type ChannelMsgRsp struct { type ChannelMsgRsp struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
ErrMsg []byte `protobuf:"bytes,2,opt"` ErrMsg []byte `protobuf:"bytes,2,opt"`
ChannelMsg *ChannelMsg `protobuf:"bytes,3,opt"` ChannelMsg *ChannelMsg `protobuf:"bytes,3,opt"`
WithVersionFlag *uint32 `protobuf:"varint,4,opt"` WithVersionFlag proto.Option[uint32] `protobuf:"varint,4,opt"`
GetMsgTime *uint64 `protobuf:"varint,5,opt"` GetMsgTime proto.Option[uint64] `protobuf:"varint,5,opt"`
}
func (x *ChannelMsgRsp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *ChannelMsgRsp) GetWithVersionFlag() uint32 {
if x != nil && x.WithVersionFlag != nil {
return *x.WithVersionFlag
}
return 0
}
func (x *ChannelMsgRsp) GetGetMsgTime() uint64 {
if x != nil && x.GetMsgTime != nil {
return *x.GetMsgTime
}
return 0
} }
type ChannelNode struct { type ChannelNode struct {
ChannelId *uint64 `protobuf:"varint,1,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,1,opt"`
Seq *uint64 `protobuf:"varint,2,opt"` Seq proto.Option[uint64] `protobuf:"varint,2,opt"`
CntSeq *uint64 `protobuf:"varint,3,opt"` CntSeq proto.Option[uint64] `protobuf:"varint,3,opt"`
Time *uint64 `protobuf:"varint,4,opt"` Time proto.Option[uint64] `protobuf:"varint,4,opt"`
MemberReadMsgSeq *uint64 `protobuf:"varint,5,opt"` MemberReadMsgSeq proto.Option[uint64] `protobuf:"varint,5,opt"`
MemberReadCntSeq *uint64 `protobuf:"varint,6,opt"` MemberReadCntSeq proto.Option[uint64] `protobuf:"varint,6,opt"`
NotifyType *uint32 `protobuf:"varint,7,opt"` NotifyType proto.Option[uint32] `protobuf:"varint,7,opt"`
ChannelName []byte `protobuf:"bytes,8,opt"` ChannelName []byte `protobuf:"bytes,8,opt"`
ChannelType *uint32 `protobuf:"varint,9,opt"` ChannelType proto.Option[uint32] `protobuf:"varint,9,opt"`
Meta []byte `protobuf:"bytes,10,opt"` Meta []byte `protobuf:"bytes,10,opt"`
ReadMsgMeta []byte `protobuf:"bytes,11,opt"` ReadMsgMeta []byte `protobuf:"bytes,11,opt"`
EventTime *uint32 `protobuf:"varint,12,opt"` EventTime proto.Option[uint32] `protobuf:"varint,12,opt"`
}
func (x *ChannelNode) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
func (x *ChannelNode) GetSeq() uint64 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *ChannelNode) GetCntSeq() uint64 {
if x != nil && x.CntSeq != nil {
return *x.CntSeq
}
return 0
}
func (x *ChannelNode) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *ChannelNode) GetMemberReadMsgSeq() uint64 {
if x != nil && x.MemberReadMsgSeq != nil {
return *x.MemberReadMsgSeq
}
return 0
}
func (x *ChannelNode) GetMemberReadCntSeq() uint64 {
if x != nil && x.MemberReadCntSeq != nil {
return *x.MemberReadCntSeq
}
return 0
}
func (x *ChannelNode) GetNotifyType() uint32 {
if x != nil && x.NotifyType != nil {
return *x.NotifyType
}
return 0
}
func (x *ChannelNode) GetChannelType() uint32 {
if x != nil && x.ChannelType != nil {
return *x.ChannelType
}
return 0
}
func (x *ChannelNode) GetEventTime() uint32 {
if x != nil && x.EventTime != nil {
return *x.EventTime
}
return 0
} }
type ChannelParam struct { type ChannelParam struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelId *uint64 `protobuf:"varint,2,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,2,opt"`
BeginSeq *uint64 `protobuf:"varint,3,opt"` BeginSeq proto.Option[uint64] `protobuf:"varint,3,opt"`
EndSeq *uint64 `protobuf:"varint,4,opt"` EndSeq proto.Option[uint64] `protobuf:"varint,4,opt"`
Time *uint64 `protobuf:"varint,5,opt"` Time proto.Option[uint64] `protobuf:"varint,5,opt"`
Version []uint64 `protobuf:"varint,6,rep"` Version []uint64 `protobuf:"varint,6,rep"`
Seqs []*MsgCond `protobuf:"bytes,7,rep"` Seqs []*MsgCond `protobuf:"bytes,7,rep"`
} }
func (x *ChannelParam) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *ChannelParam) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
func (x *ChannelParam) GetBeginSeq() uint64 {
if x != nil && x.BeginSeq != nil {
return *x.BeginSeq
}
return 0
}
func (x *ChannelParam) GetEndSeq() uint64 {
if x != nil && x.EndSeq != nil {
return *x.EndSeq
}
return 0
}
func (x *ChannelParam) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
type DirectMessageSource struct { type DirectMessageSource struct {
TinyId *uint64 `protobuf:"varint,1,opt"` TinyId proto.Option[uint64] `protobuf:"varint,1,opt"`
GuildId *uint64 `protobuf:"varint,2,opt"` GuildId proto.Option[uint64] `protobuf:"varint,2,opt"`
GuildName []byte `protobuf:"bytes,3,opt"` GuildName []byte `protobuf:"bytes,3,opt"`
MemberName []byte `protobuf:"bytes,4,opt"` MemberName []byte `protobuf:"bytes,4,opt"`
NickName []byte `protobuf:"bytes,5,opt"` NickName []byte `protobuf:"bytes,5,opt"`
} }
func (x *DirectMessageSource) GetTinyId() uint64 {
if x != nil && x.TinyId != nil {
return *x.TinyId
}
return 0
}
func (x *DirectMessageSource) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
type FirstViewMsg struct { type FirstViewMsg struct {
PushFlag *uint32 `protobuf:"varint,1,opt"` PushFlag proto.Option[uint32] `protobuf:"varint,1,opt"`
Seq *uint32 `protobuf:"varint,2,opt"` Seq proto.Option[uint32] `protobuf:"varint,2,opt"`
GuildNodes []*GuildNode `protobuf:"bytes,3,rep"` GuildNodes []*GuildNode `protobuf:"bytes,3,rep"`
ChannelMsgs []*ChannelMsg `protobuf:"bytes,4,rep"` ChannelMsgs []*ChannelMsg `protobuf:"bytes,4,rep"`
GetMsgTime *uint64 `protobuf:"varint,5,opt"` GetMsgTime proto.Option[uint64] `protobuf:"varint,5,opt"`
DirectMessageGuildNodes []*GuildNode `protobuf:"bytes,6,rep"` DirectMessageGuildNodes []*GuildNode `protobuf:"bytes,6,rep"`
} }
func (x *FirstViewMsg) GetPushFlag() uint32 {
if x != nil && x.PushFlag != nil {
return *x.PushFlag
}
return 0
}
func (x *FirstViewMsg) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *FirstViewMsg) GetGetMsgTime() uint64 {
if x != nil && x.GetMsgTime != nil {
return *x.GetMsgTime
}
return 0
}
type FirstViewReq struct { type FirstViewReq struct {
LastMsgTime *uint64 `protobuf:"varint,1,opt"` LastMsgTime proto.Option[uint64] `protobuf:"varint,1,opt"`
UdcFlag *uint32 `protobuf:"varint,2,opt"` UdcFlag proto.Option[uint32] `protobuf:"varint,2,opt"`
Seq *uint32 `protobuf:"varint,3,opt"` Seq proto.Option[uint32] `protobuf:"varint,3,opt"`
DirectMessageFlag *uint32 `protobuf:"varint,4,opt"` DirectMessageFlag proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *FirstViewReq) GetLastMsgTime() uint64 {
if x != nil && x.LastMsgTime != nil {
return *x.LastMsgTime
}
return 0
}
func (x *FirstViewReq) GetUdcFlag() uint32 {
if x != nil && x.UdcFlag != nil {
return *x.UdcFlag
}
return 0
}
func (x *FirstViewReq) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *FirstViewReq) GetDirectMessageFlag() uint32 {
if x != nil && x.DirectMessageFlag != nil {
return *x.DirectMessageFlag
}
return 0
} }
type FirstViewRsp struct { type FirstViewRsp struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
ErrMsg []byte `protobuf:"bytes,2,opt"` ErrMsg []byte `protobuf:"bytes,2,opt"`
Seq *uint32 `protobuf:"varint,3,opt"` Seq proto.Option[uint32] `protobuf:"varint,3,opt"`
UdcFlag *uint32 `protobuf:"varint,4,opt"` UdcFlag proto.Option[uint32] `protobuf:"varint,4,opt"`
GuildCount *uint32 `protobuf:"varint,5,opt"` GuildCount proto.Option[uint32] `protobuf:"varint,5,opt"`
SelfTinyid *uint64 `protobuf:"varint,6,opt"` SelfTinyid proto.Option[uint64] `protobuf:"varint,6,opt"`
DirectMessageSwitch *uint32 `protobuf:"varint,7,opt"` DirectMessageSwitch proto.Option[uint32] `protobuf:"varint,7,opt"`
DirectMessageGuildCount *uint32 `protobuf:"varint,8,opt"` DirectMessageGuildCount proto.Option[uint32] `protobuf:"varint,8,opt"`
}
func (x *FirstViewRsp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *FirstViewRsp) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *FirstViewRsp) GetUdcFlag() uint32 {
if x != nil && x.UdcFlag != nil {
return *x.UdcFlag
}
return 0
}
func (x *FirstViewRsp) GetGuildCount() uint32 {
if x != nil && x.GuildCount != nil {
return *x.GuildCount
}
return 0
}
func (x *FirstViewRsp) GetSelfTinyid() uint64 {
if x != nil && x.SelfTinyid != nil {
return *x.SelfTinyid
}
return 0
}
func (x *FirstViewRsp) GetDirectMessageSwitch() uint32 {
if x != nil && x.DirectMessageSwitch != nil {
return *x.DirectMessageSwitch
}
return 0
}
func (x *FirstViewRsp) GetDirectMessageGuildCount() uint32 {
if x != nil && x.DirectMessageGuildCount != nil {
return *x.DirectMessageGuildCount
}
return 0
} }
type GuildNode struct { type GuildNode struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
GuildCode *uint64 `protobuf:"varint,2,opt"` GuildCode proto.Option[uint64] `protobuf:"varint,2,opt"`
ChannelNodes []*ChannelNode `protobuf:"bytes,3,rep"` ChannelNodes []*ChannelNode `protobuf:"bytes,3,rep"`
GuildName []byte `protobuf:"bytes,4,opt"` GuildName []byte `protobuf:"bytes,4,opt"`
PeerSource *DirectMessageSource `protobuf:"bytes,5,opt"` PeerSource *DirectMessageSource `protobuf:"bytes,5,opt"`
} }
func (x *GuildNode) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *GuildNode) GetGuildCode() uint64 {
if x != nil && x.GuildCode != nil {
return *x.GuildCode
}
return 0
}
type MsgCond struct { type MsgCond struct {
Seq *uint64 `protobuf:"varint,1,opt"` Seq proto.Option[uint64] `protobuf:"varint,1,opt"`
EventVersion *uint64 `protobuf:"varint,2,opt"` EventVersion proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *MsgCond) GetSeq() uint64 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *MsgCond) GetEventVersion() uint64 {
if x != nil && x.EventVersion != nil {
return *x.EventVersion
}
return 0
} }
type MultiChannelMsg struct { type MultiChannelMsg struct {
PushFlag *uint32 `protobuf:"varint,1,opt"` PushFlag proto.Option[uint32] `protobuf:"varint,1,opt"`
Seq *uint32 `protobuf:"varint,2,opt"` Seq proto.Option[uint32] `protobuf:"varint,2,opt"`
ChannelMsgs []*ChannelMsg `protobuf:"bytes,3,rep"` ChannelMsgs []*ChannelMsg `protobuf:"bytes,3,rep"`
GetMsgTime *uint64 `protobuf:"varint,4,opt"` GetMsgTime proto.Option[uint64] `protobuf:"varint,4,opt"`
}
func (x *MultiChannelMsg) GetPushFlag() uint32 {
if x != nil && x.PushFlag != nil {
return *x.PushFlag
}
return 0
}
func (x *MultiChannelMsg) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *MultiChannelMsg) GetGetMsgTime() uint64 {
if x != nil && x.GetMsgTime != nil {
return *x.GetMsgTime
}
return 0
} }
type MultiChannelMsgReq struct { type MultiChannelMsgReq struct {
ChannelParams []*ChannelParam `protobuf:"bytes,1,rep"` ChannelParams []*ChannelParam `protobuf:"bytes,1,rep"`
Seq *uint32 `protobuf:"varint,2,opt"` Seq proto.Option[uint32] `protobuf:"varint,2,opt"`
DirectMessageFlag *uint32 `protobuf:"varint,3,opt"` DirectMessageFlag proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *MultiChannelMsgReq) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *MultiChannelMsgReq) GetDirectMessageFlag() uint32 {
if x != nil && x.DirectMessageFlag != nil {
return *x.DirectMessageFlag
}
return 0
} }
type MultiChannelMsgRsp struct { type MultiChannelMsgRsp struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
ErrMsg []byte `protobuf:"bytes,2,opt"` ErrMsg []byte `protobuf:"bytes,2,opt"`
Seq *uint32 `protobuf:"varint,3,opt"` Seq proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *MultiChannelMsgRsp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *MultiChannelMsgRsp) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
} }
type ReqBody struct { type ReqBody struct {
ChannelParam *ChannelParam `protobuf:"bytes,1,opt"` ChannelParam *ChannelParam `protobuf:"bytes,1,opt"`
DirectMessageFlag *uint32 `protobuf:"varint,2,opt"` DirectMessageFlag proto.Option[uint32] `protobuf:"varint,2,opt"`
}
func (x *ReqBody) GetDirectMessageFlag() uint32 {
if x != nil && x.DirectMessageFlag != nil {
return *x.DirectMessageFlag
}
return 0
} }
type RspBody struct { type RspBody struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
ErrMsg []byte `protobuf:"bytes,2,opt"` ErrMsg []byte `protobuf:"bytes,2,opt"`
ChannelMsg *ChannelMsg `protobuf:"bytes,3,opt"` ChannelMsg *ChannelMsg `protobuf:"bytes,3,opt"`
} }
func (x *RspBody) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}

View File

@ -3,51 +3,20 @@
package channel package channel
import (
proto "github.com/RomiChan/protobuf/proto"
)
// see sub_37628C // see sub_37628C
type ChannelOidb0Xf5BRsp struct { type ChannelOidb0Xf5BRsp struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
Bots []*GuildMemberInfo `protobuf:"bytes,4,rep"` Bots []*GuildMemberInfo `protobuf:"bytes,4,rep"`
Members []*GuildMemberInfo `protobuf:"bytes,5,rep"` Members []*GuildMemberInfo `protobuf:"bytes,5,rep"`
NextIndex *uint32 `protobuf:"varint,10,opt"` NextIndex proto.Option[uint32] `protobuf:"varint,10,opt"`
Finished *uint32 `protobuf:"varint,9,opt"` Finished proto.Option[uint32] `protobuf:"varint,9,opt"`
NextQueryParam *string `protobuf:"bytes,24,opt"` NextQueryParam proto.Option[string] `protobuf:"bytes,24,opt"`
MemberWithRoles []*GuildGroupMembersInfo `protobuf:"bytes,25,rep"` MemberWithRoles []*GuildGroupMembersInfo `protobuf:"bytes,25,rep"`
NextRoleIdIndex *uint64 `protobuf:"varint,26,opt"` NextRoleIdIndex proto.Option[uint64] `protobuf:"varint,26,opt"`
}
func (x *ChannelOidb0Xf5BRsp) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *ChannelOidb0Xf5BRsp) GetNextIndex() uint32 {
if x != nil && x.NextIndex != nil {
return *x.NextIndex
}
return 0
}
func (x *ChannelOidb0Xf5BRsp) GetFinished() uint32 {
if x != nil && x.Finished != nil {
return *x.Finished
}
return 0
}
func (x *ChannelOidb0Xf5BRsp) GetNextQueryParam() string {
if x != nil && x.NextQueryParam != nil {
return *x.NextQueryParam
}
return ""
}
func (x *ChannelOidb0Xf5BRsp) GetNextRoleIdIndex() uint64 {
if x != nil && x.NextRoleIdIndex != nil {
return *x.NextRoleIdIndex
}
return 0
} }
type ChannelOidb0Xf88Rsp struct { type ChannelOidb0Xf88Rsp struct {
@ -75,527 +44,114 @@ type ChannelOidb0X1017Rsp struct {
} }
type P10X1017 struct { type P10X1017 struct {
TinyId *uint64 `protobuf:"varint,1,opt"` TinyId proto.Option[uint64] `protobuf:"varint,1,opt"`
Roles []*GuildUserRole `protobuf:"bytes,3,rep"` Roles []*GuildUserRole `protobuf:"bytes,3,rep"`
} }
func (x *P10X1017) GetTinyId() uint64 {
if x != nil && x.TinyId != nil {
return *x.TinyId
}
return 0
}
type ChannelOidb0X1019Rsp struct { type ChannelOidb0X1019Rsp struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
Roles []*GuildRole `protobuf:"bytes,2,rep"` Roles []*GuildRole `protobuf:"bytes,2,rep"`
} }
func (x *ChannelOidb0X1019Rsp) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
type ChannelOidb0X1016Rsp struct { type ChannelOidb0X1016Rsp struct {
RoleId *uint64 `protobuf:"varint,2,opt"` RoleId proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *ChannelOidb0X1016Rsp) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
} }
type GuildMetaRsp struct { type GuildMetaRsp struct {
GuildId *uint64 `protobuf:"varint,3,opt"` GuildId proto.Option[uint64] `protobuf:"varint,3,opt"`
Meta *GuildMeta `protobuf:"bytes,4,opt"` Meta *GuildMeta `protobuf:"bytes,4,opt"`
} }
func (x *GuildMetaRsp) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
type ChannelListRsp struct { type ChannelListRsp struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
Channels []*GuildChannelInfo `protobuf:"bytes,2,rep"` // 5: Category infos Channels []*GuildChannelInfo `protobuf:"bytes,2,rep"` // 5: Category infos
} }
func (x *ChannelListRsp) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
type GuildGroupMembersInfo struct { type GuildGroupMembersInfo struct {
RoleId *uint64 `protobuf:"varint,1,opt"` RoleId proto.Option[uint64] `protobuf:"varint,1,opt"`
Members []*GuildMemberInfo `protobuf:"bytes,2,rep"` Members []*GuildMemberInfo `protobuf:"bytes,2,rep"`
RoleName *string `protobuf:"bytes,3,opt"` RoleName proto.Option[string] `protobuf:"bytes,3,opt"`
Color *uint32 `protobuf:"varint,4,opt"` Color proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *GuildGroupMembersInfo) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
}
func (x *GuildGroupMembersInfo) GetRoleName() string {
if x != nil && x.RoleName != nil {
return *x.RoleName
}
return ""
}
func (x *GuildGroupMembersInfo) GetColor() uint32 {
if x != nil && x.Color != nil {
return *x.Color
}
return 0
} }
// see sub_374334 // see sub_374334
type GuildMemberInfo struct { type GuildMemberInfo struct {
Title *string `protobuf:"bytes,2,opt"` Title proto.Option[string] `protobuf:"bytes,2,opt"`
Nickname *string `protobuf:"bytes,3,opt"` Nickname proto.Option[string] `protobuf:"bytes,3,opt"`
LastSpeakTime *int64 `protobuf:"varint,4,opt"` // uncertainty LastSpeakTime proto.Option[int64] `protobuf:"varint,4,opt"` // uncertainty
Role *int32 `protobuf:"varint,5,opt"` // uncertainty Role proto.Option[int32] `protobuf:"varint,5,opt"` // uncertainty
TinyId *uint64 `protobuf:"varint,8,opt"` TinyId proto.Option[uint64] `protobuf:"varint,8,opt"`
}
func (x *GuildMemberInfo) GetTitle() string {
if x != nil && x.Title != nil {
return *x.Title
}
return ""
}
func (x *GuildMemberInfo) GetNickname() string {
if x != nil && x.Nickname != nil {
return *x.Nickname
}
return ""
}
func (x *GuildMemberInfo) GetLastSpeakTime() int64 {
if x != nil && x.LastSpeakTime != nil {
return *x.LastSpeakTime
}
return 0
}
func (x *GuildMemberInfo) GetRole() int32 {
if x != nil && x.Role != nil {
return *x.Role
}
return 0
}
func (x *GuildMemberInfo) GetTinyId() uint64 {
if x != nil && x.TinyId != nil {
return *x.TinyId
}
return 0
} }
// 频道系统用户资料 // 频道系统用户资料
type GuildUserProfile struct { type GuildUserProfile struct {
TinyId *uint64 `protobuf:"varint,2,opt"` TinyId proto.Option[uint64] `protobuf:"varint,2,opt"`
Nickname *string `protobuf:"bytes,3,opt"` Nickname proto.Option[string] `protobuf:"bytes,3,opt"`
AvatarUrl *string `protobuf:"bytes,6,opt"` AvatarUrl proto.Option[string] `protobuf:"bytes,6,opt"`
// 15: avatar url info // 15: avatar url info
JoinTime *int64 `protobuf:"varint,16,opt"` // uncertainty JoinTime proto.Option[int64] `protobuf:"varint,16,opt"` // uncertainty
}
func (x *GuildUserProfile) GetTinyId() uint64 {
if x != nil && x.TinyId != nil {
return *x.TinyId
}
return 0
}
func (x *GuildUserProfile) GetNickname() string {
if x != nil && x.Nickname != nil {
return *x.Nickname
}
return ""
}
func (x *GuildUserProfile) GetAvatarUrl() string {
if x != nil && x.AvatarUrl != nil {
return *x.AvatarUrl
}
return ""
}
func (x *GuildUserProfile) GetJoinTime() int64 {
if x != nil && x.JoinTime != nil {
return *x.JoinTime
}
return 0
} }
type GuildRole struct { type GuildRole struct {
RoleId *uint64 `protobuf:"varint,1,opt"` RoleId proto.Option[uint64] `protobuf:"varint,1,opt"`
Name *string `protobuf:"bytes,2,opt"` Name proto.Option[string] `protobuf:"bytes,2,opt"`
ArgbColor *uint32 `protobuf:"varint,3,opt"` ArgbColor proto.Option[uint32] `protobuf:"varint,3,opt"`
Independent *int32 `protobuf:"varint,4,opt"` Independent proto.Option[int32] `protobuf:"varint,4,opt"`
Num *int32 `protobuf:"varint,5,opt"` Num proto.Option[int32] `protobuf:"varint,5,opt"`
Owned *int32 `protobuf:"varint,6,opt"` // 是否拥有 存疑 Owned proto.Option[int32] `protobuf:"varint,6,opt"` // 是否拥有 存疑
Disabled *int32 `protobuf:"varint,7,opt"` // 权限不足或不显示 Disabled proto.Option[int32] `protobuf:"varint,7,opt"` // 权限不足或不显示
MaxNum *int32 `protobuf:"varint,8,opt"` // 9: ? MaxNum proto.Option[int32] `protobuf:"varint,8,opt"` // 9: ?
}
func (x *GuildRole) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
}
func (x *GuildRole) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *GuildRole) GetArgbColor() uint32 {
if x != nil && x.ArgbColor != nil {
return *x.ArgbColor
}
return 0
}
func (x *GuildRole) GetIndependent() int32 {
if x != nil && x.Independent != nil {
return *x.Independent
}
return 0
}
func (x *GuildRole) GetNum() int32 {
if x != nil && x.Num != nil {
return *x.Num
}
return 0
}
func (x *GuildRole) GetOwned() int32 {
if x != nil && x.Owned != nil {
return *x.Owned
}
return 0
}
func (x *GuildRole) GetDisabled() int32 {
if x != nil && x.Disabled != nil {
return *x.Disabled
}
return 0
}
func (x *GuildRole) GetMaxNum() int32 {
if x != nil && x.MaxNum != nil {
return *x.MaxNum
}
return 0
} }
type GuildUserRole struct { type GuildUserRole struct {
RoleId *uint64 `protobuf:"varint,1,opt"` RoleId proto.Option[uint64] `protobuf:"varint,1,opt"`
Name *string `protobuf:"bytes,2,opt"` Name proto.Option[string] `protobuf:"bytes,2,opt"`
ArgbColor *uint32 `protobuf:"varint,3,opt"` ArgbColor proto.Option[uint32] `protobuf:"varint,3,opt"`
Independent *int32 `protobuf:"varint,4,opt"` Independent proto.Option[int32] `protobuf:"varint,4,opt"`
}
func (x *GuildUserRole) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
}
func (x *GuildUserRole) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *GuildUserRole) GetArgbColor() uint32 {
if x != nil && x.ArgbColor != nil {
return *x.ArgbColor
}
return 0
}
func (x *GuildUserRole) GetIndependent() int32 {
if x != nil && x.Independent != nil {
return *x.Independent
}
return 0
} }
type GuildMeta struct { type GuildMeta struct {
GuildCode *uint64 `protobuf:"varint,2,opt"` GuildCode proto.Option[uint64] `protobuf:"varint,2,opt"`
CreateTime *int64 `protobuf:"varint,4,opt"` CreateTime proto.Option[int64] `protobuf:"varint,4,opt"`
MaxMemberCount *int64 `protobuf:"varint,5,opt"` MaxMemberCount proto.Option[int64] `protobuf:"varint,5,opt"`
MemberCount *int64 `protobuf:"varint,6,opt"` MemberCount proto.Option[int64] `protobuf:"varint,6,opt"`
Name *string `protobuf:"bytes,8,opt"` Name proto.Option[string] `protobuf:"bytes,8,opt"`
RobotMaxNum *int32 `protobuf:"varint,11,opt"` RobotMaxNum proto.Option[int32] `protobuf:"varint,11,opt"`
AdminMaxNum *int32 `protobuf:"varint,12,opt"` AdminMaxNum proto.Option[int32] `protobuf:"varint,12,opt"`
Profile *string `protobuf:"bytes,13,opt"` Profile proto.Option[string] `protobuf:"bytes,13,opt"`
AvatarSeq *int64 `protobuf:"varint,14,opt"` AvatarSeq proto.Option[int64] `protobuf:"varint,14,opt"`
OwnerId *uint64 `protobuf:"varint,18,opt"` OwnerId proto.Option[uint64] `protobuf:"varint,18,opt"`
CoverSeq *int64 `protobuf:"varint,19,opt"` CoverSeq proto.Option[int64] `protobuf:"varint,19,opt"`
ClientId *int32 `protobuf:"varint,20,opt"` ClientId proto.Option[int32] `protobuf:"varint,20,opt"`
}
func (x *GuildMeta) GetGuildCode() uint64 {
if x != nil && x.GuildCode != nil {
return *x.GuildCode
}
return 0
}
func (x *GuildMeta) GetCreateTime() int64 {
if x != nil && x.CreateTime != nil {
return *x.CreateTime
}
return 0
}
func (x *GuildMeta) GetMaxMemberCount() int64 {
if x != nil && x.MaxMemberCount != nil {
return *x.MaxMemberCount
}
return 0
}
func (x *GuildMeta) GetMemberCount() int64 {
if x != nil && x.MemberCount != nil {
return *x.MemberCount
}
return 0
}
func (x *GuildMeta) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *GuildMeta) GetRobotMaxNum() int32 {
if x != nil && x.RobotMaxNum != nil {
return *x.RobotMaxNum
}
return 0
}
func (x *GuildMeta) GetAdminMaxNum() int32 {
if x != nil && x.AdminMaxNum != nil {
return *x.AdminMaxNum
}
return 0
}
func (x *GuildMeta) GetProfile() string {
if x != nil && x.Profile != nil {
return *x.Profile
}
return ""
}
func (x *GuildMeta) GetAvatarSeq() int64 {
if x != nil && x.AvatarSeq != nil {
return *x.AvatarSeq
}
return 0
}
func (x *GuildMeta) GetOwnerId() uint64 {
if x != nil && x.OwnerId != nil {
return *x.OwnerId
}
return 0
}
func (x *GuildMeta) GetCoverSeq() int64 {
if x != nil && x.CoverSeq != nil {
return *x.CoverSeq
}
return 0
}
func (x *GuildMeta) GetClientId() int32 {
if x != nil && x.ClientId != nil {
return *x.ClientId
}
return 0
} }
type GuildChannelInfo struct { type GuildChannelInfo struct {
ChannelId *uint64 `protobuf:"varint,1,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelName *string `protobuf:"bytes,2,opt"` ChannelName proto.Option[string] `protobuf:"bytes,2,opt"`
CreatorUin *int64 `protobuf:"varint,3,opt"` CreatorUin proto.Option[int64] `protobuf:"varint,3,opt"`
CreateTime *int64 `protobuf:"varint,4,opt"` CreateTime proto.Option[int64] `protobuf:"varint,4,opt"`
GuildId *uint64 `protobuf:"varint,5,opt"` GuildId proto.Option[uint64] `protobuf:"varint,5,opt"`
FinalNotifyType *int32 `protobuf:"varint,6,opt"` FinalNotifyType proto.Option[int32] `protobuf:"varint,6,opt"`
ChannelType *int32 `protobuf:"varint,7,opt"` ChannelType proto.Option[int32] `protobuf:"varint,7,opt"`
TalkPermission *int32 `protobuf:"varint,8,opt"` TalkPermission proto.Option[int32] `protobuf:"varint,8,opt"`
// 11 - 14 : MsgInfo // 11 - 14 : MsgInfo
CreatorTinyId *uint64 `protobuf:"varint,15,opt"` CreatorTinyId proto.Option[uint64] `protobuf:"varint,15,opt"`
// 16: Member info ? // 16: Member info ?
VisibleType *int32 `protobuf:"varint,22,opt"` VisibleType proto.Option[int32] `protobuf:"varint,22,opt"`
TopMsg *GuildChannelTopMsgInfo `protobuf:"bytes,28,opt"` TopMsg *GuildChannelTopMsgInfo `protobuf:"bytes,28,opt"`
CurrentSlowModeKey *int32 `protobuf:"varint,31,opt"` CurrentSlowModeKey proto.Option[int32] `protobuf:"varint,31,opt"`
SlowModeInfos []*GuildChannelSlowModeInfo `protobuf:"bytes,32,rep"` SlowModeInfos []*GuildChannelSlowModeInfo `protobuf:"bytes,32,rep"`
} }
func (x *GuildChannelInfo) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
func (x *GuildChannelInfo) GetChannelName() string {
if x != nil && x.ChannelName != nil {
return *x.ChannelName
}
return ""
}
func (x *GuildChannelInfo) GetCreatorUin() int64 {
if x != nil && x.CreatorUin != nil {
return *x.CreatorUin
}
return 0
}
func (x *GuildChannelInfo) GetCreateTime() int64 {
if x != nil && x.CreateTime != nil {
return *x.CreateTime
}
return 0
}
func (x *GuildChannelInfo) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *GuildChannelInfo) GetFinalNotifyType() int32 {
if x != nil && x.FinalNotifyType != nil {
return *x.FinalNotifyType
}
return 0
}
func (x *GuildChannelInfo) GetChannelType() int32 {
if x != nil && x.ChannelType != nil {
return *x.ChannelType
}
return 0
}
func (x *GuildChannelInfo) GetTalkPermission() int32 {
if x != nil && x.TalkPermission != nil {
return *x.TalkPermission
}
return 0
}
func (x *GuildChannelInfo) GetCreatorTinyId() uint64 {
if x != nil && x.CreatorTinyId != nil {
return *x.CreatorTinyId
}
return 0
}
func (x *GuildChannelInfo) GetVisibleType() int32 {
if x != nil && x.VisibleType != nil {
return *x.VisibleType
}
return 0
}
func (x *GuildChannelInfo) GetCurrentSlowModeKey() int32 {
if x != nil && x.CurrentSlowModeKey != nil {
return *x.CurrentSlowModeKey
}
return 0
}
type GuildChannelSlowModeInfo struct { type GuildChannelSlowModeInfo struct {
SlowModeKey *int32 `protobuf:"varint,1,opt"` SlowModeKey proto.Option[int32] `protobuf:"varint,1,opt"`
SpeakFrequency *int32 `protobuf:"varint,2,opt"` SpeakFrequency proto.Option[int32] `protobuf:"varint,2,opt"`
SlowModeCircle *int32 `protobuf:"varint,3,opt"` SlowModeCircle proto.Option[int32] `protobuf:"varint,3,opt"`
SlowModeText *string `protobuf:"bytes,4,opt"` SlowModeText proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *GuildChannelSlowModeInfo) GetSlowModeKey() int32 {
if x != nil && x.SlowModeKey != nil {
return *x.SlowModeKey
}
return 0
}
func (x *GuildChannelSlowModeInfo) GetSpeakFrequency() int32 {
if x != nil && x.SpeakFrequency != nil {
return *x.SpeakFrequency
}
return 0
}
func (x *GuildChannelSlowModeInfo) GetSlowModeCircle() int32 {
if x != nil && x.SlowModeCircle != nil {
return *x.SlowModeCircle
}
return 0
}
func (x *GuildChannelSlowModeInfo) GetSlowModeText() string {
if x != nil && x.SlowModeText != nil {
return *x.SlowModeText
}
return ""
} }
type GuildChannelTopMsgInfo struct { type GuildChannelTopMsgInfo struct {
TopMsgSeq *uint64 `protobuf:"varint,1,opt"` TopMsgSeq proto.Option[uint64] `protobuf:"varint,1,opt"`
TopMsgTime *int64 `protobuf:"varint,2,opt"` TopMsgTime proto.Option[int64] `protobuf:"varint,2,opt"`
TopMsgOperatorTinyId *uint64 `protobuf:"varint,3,opt"` TopMsgOperatorTinyId proto.Option[uint64] `protobuf:"varint,3,opt"`
}
func (x *GuildChannelTopMsgInfo) GetTopMsgSeq() uint64 {
if x != nil && x.TopMsgSeq != nil {
return *x.TopMsgSeq
}
return 0
}
func (x *GuildChannelTopMsgInfo) GetTopMsgTime() int64 {
if x != nil && x.TopMsgTime != nil {
return *x.TopMsgTime
}
return 0
}
func (x *GuildChannelTopMsgInfo) GetTopMsgOperatorTinyId() uint64 {
if x != nil && x.TopMsgOperatorTinyId != nil {
return *x.TopMsgOperatorTinyId
}
return 0
} }

View File

@ -3,219 +3,69 @@
package cmd0x352 package cmd0x352
import (
proto "github.com/RomiChan/protobuf/proto"
)
type ReqBody struct { type ReqBody struct {
Subcmd *uint32 `protobuf:"varint,1,opt"` Subcmd proto.Option[uint32] `protobuf:"varint,1,opt"`
TryupImgReq []*D352TryUpImgReq `protobuf:"bytes,2,rep"` TryupImgReq []*D352TryUpImgReq `protobuf:"bytes,2,rep"`
// repeated GetImgUrlReq getimgUrlReq = 3; // repeated GetImgUrlReq getimgUrlReq = 3;
// repeated DelImgReq delImgReq = 4; // repeated DelImgReq delImgReq = 4;
NetType *uint32 `protobuf:"varint,10,opt"` NetType proto.Option[uint32] `protobuf:"varint,10,opt"`
}
func (x *ReqBody) GetSubcmd() uint32 {
if x != nil && x.Subcmd != nil {
return *x.Subcmd
}
return 0
}
func (x *ReqBody) GetNetType() uint32 {
if x != nil && x.NetType != nil {
return *x.NetType
}
return 0
} }
type RspBody struct { type RspBody struct {
Subcmd *uint32 `protobuf:"varint,1,opt"` Subcmd proto.Option[uint32] `protobuf:"varint,1,opt"`
TryupImgRsp []*TryUpImgRsp `protobuf:"bytes,2,rep"` TryupImgRsp []*TryUpImgRsp `protobuf:"bytes,2,rep"`
// repeated GetImgUrlRsp getimgUrlRsp = 3; // repeated GetImgUrlRsp getimgUrlRsp = 3;
NewBigchan *bool `protobuf:"varint,4,opt"` NewBigchan proto.Option[bool] `protobuf:"varint,4,opt"`
// repeated DelImgRsp delImgRsp = 5; // repeated DelImgRsp delImgRsp = 5;
FailMsg []byte `protobuf:"bytes,10,opt"` FailMsg []byte `protobuf:"bytes,10,opt"`
} }
func (x *RspBody) GetSubcmd() uint32 {
if x != nil && x.Subcmd != nil {
return *x.Subcmd
}
return 0
}
func (x *RspBody) GetNewBigchan() bool {
if x != nil && x.NewBigchan != nil {
return *x.NewBigchan
}
return false
}
type D352TryUpImgReq struct { type D352TryUpImgReq struct {
SrcUin *uint64 `protobuf:"varint,1,opt"` SrcUin proto.Option[uint64] `protobuf:"varint,1,opt"`
DstUin *uint64 `protobuf:"varint,2,opt"` DstUin proto.Option[uint64] `protobuf:"varint,2,opt"`
FileId *uint64 `protobuf:"varint,3,opt"` FileId proto.Option[uint64] `protobuf:"varint,3,opt"`
FileMd5 []byte `protobuf:"bytes,4,opt"` FileMd5 []byte `protobuf:"bytes,4,opt"`
FileSize *uint64 `protobuf:"varint,5,opt"` FileSize proto.Option[uint64] `protobuf:"varint,5,opt"`
FileName []byte `protobuf:"bytes,6,opt"` FileName []byte `protobuf:"bytes,6,opt"`
SrcTerm *uint32 `protobuf:"varint,7,opt"` SrcTerm proto.Option[uint32] `protobuf:"varint,7,opt"`
PlatformType *uint32 `protobuf:"varint,8,opt"` PlatformType proto.Option[uint32] `protobuf:"varint,8,opt"`
InnerIp *uint32 `protobuf:"varint,9,opt"` InnerIp proto.Option[uint32] `protobuf:"varint,9,opt"`
AddressBook *bool `protobuf:"varint,10,opt"` AddressBook proto.Option[bool] `protobuf:"varint,10,opt"`
Retry *uint32 `protobuf:"varint,11,opt"` Retry proto.Option[uint32] `protobuf:"varint,11,opt"`
BuType *uint32 `protobuf:"varint,12,opt"` BuType proto.Option[uint32] `protobuf:"varint,12,opt"`
PicOriginal *bool `protobuf:"varint,13,opt"` PicOriginal proto.Option[bool] `protobuf:"varint,13,opt"`
PicWidth *uint32 `protobuf:"varint,14,opt"` PicWidth proto.Option[uint32] `protobuf:"varint,14,opt"`
PicHeight *uint32 `protobuf:"varint,15,opt"` PicHeight proto.Option[uint32] `protobuf:"varint,15,opt"`
PicType *uint32 `protobuf:"varint,16,opt"` PicType proto.Option[uint32] `protobuf:"varint,16,opt"`
BuildVer []byte `protobuf:"bytes,17,opt"` BuildVer []byte `protobuf:"bytes,17,opt"`
FileIndex []byte `protobuf:"bytes,18,opt"` FileIndex []byte `protobuf:"bytes,18,opt"`
StoreDays *uint32 `protobuf:"varint,19,opt"` StoreDays proto.Option[uint32] `protobuf:"varint,19,opt"`
TryupStepflag *uint32 `protobuf:"varint,20,opt"` TryupStepflag proto.Option[uint32] `protobuf:"varint,20,opt"`
RejectTryfast *bool `protobuf:"varint,21,opt"` RejectTryfast proto.Option[bool] `protobuf:"varint,21,opt"`
SrvUpload *uint32 `protobuf:"varint,22,opt"` SrvUpload proto.Option[uint32] `protobuf:"varint,22,opt"`
TransferUrl []byte `protobuf:"bytes,23,opt"` TransferUrl []byte `protobuf:"bytes,23,opt"`
} }
func (x *D352TryUpImgReq) GetSrcUin() uint64 {
if x != nil && x.SrcUin != nil {
return *x.SrcUin
}
return 0
}
func (x *D352TryUpImgReq) GetDstUin() uint64 {
if x != nil && x.DstUin != nil {
return *x.DstUin
}
return 0
}
func (x *D352TryUpImgReq) GetFileId() uint64 {
if x != nil && x.FileId != nil {
return *x.FileId
}
return 0
}
func (x *D352TryUpImgReq) GetFileSize() uint64 {
if x != nil && x.FileSize != nil {
return *x.FileSize
}
return 0
}
func (x *D352TryUpImgReq) GetSrcTerm() uint32 {
if x != nil && x.SrcTerm != nil {
return *x.SrcTerm
}
return 0
}
func (x *D352TryUpImgReq) GetPlatformType() uint32 {
if x != nil && x.PlatformType != nil {
return *x.PlatformType
}
return 0
}
func (x *D352TryUpImgReq) GetInnerIp() uint32 {
if x != nil && x.InnerIp != nil {
return *x.InnerIp
}
return 0
}
func (x *D352TryUpImgReq) GetAddressBook() bool {
if x != nil && x.AddressBook != nil {
return *x.AddressBook
}
return false
}
func (x *D352TryUpImgReq) GetRetry() uint32 {
if x != nil && x.Retry != nil {
return *x.Retry
}
return 0
}
func (x *D352TryUpImgReq) GetBuType() uint32 {
if x != nil && x.BuType != nil {
return *x.BuType
}
return 0
}
func (x *D352TryUpImgReq) GetPicOriginal() bool {
if x != nil && x.PicOriginal != nil {
return *x.PicOriginal
}
return false
}
func (x *D352TryUpImgReq) GetPicWidth() uint32 {
if x != nil && x.PicWidth != nil {
return *x.PicWidth
}
return 0
}
func (x *D352TryUpImgReq) GetPicHeight() uint32 {
if x != nil && x.PicHeight != nil {
return *x.PicHeight
}
return 0
}
func (x *D352TryUpImgReq) GetPicType() uint32 {
if x != nil && x.PicType != nil {
return *x.PicType
}
return 0
}
func (x *D352TryUpImgReq) GetStoreDays() uint32 {
if x != nil && x.StoreDays != nil {
return *x.StoreDays
}
return 0
}
func (x *D352TryUpImgReq) GetTryupStepflag() uint32 {
if x != nil && x.TryupStepflag != nil {
return *x.TryupStepflag
}
return 0
}
func (x *D352TryUpImgReq) GetRejectTryfast() bool {
if x != nil && x.RejectTryfast != nil {
return *x.RejectTryfast
}
return false
}
func (x *D352TryUpImgReq) GetSrvUpload() uint32 {
if x != nil && x.SrvUpload != nil {
return *x.SrvUpload
}
return 0
}
type TryUpImgRsp struct { type TryUpImgRsp struct {
FileId *uint64 `protobuf:"varint,1,opt"` FileId proto.Option[uint64] `protobuf:"varint,1,opt"`
ClientIp *uint32 `protobuf:"varint,2,opt"` ClientIp proto.Option[uint32] `protobuf:"varint,2,opt"`
Result *uint32 `protobuf:"varint,3,opt"` Result proto.Option[uint32] `protobuf:"varint,3,opt"`
FailMsg []byte `protobuf:"bytes,4,opt"` FailMsg []byte `protobuf:"bytes,4,opt"`
FileExit *bool `protobuf:"varint,5,opt"` FileExit proto.Option[bool] `protobuf:"varint,5,opt"`
// optional ImgInfo imgInfo = 6; // optional ImgInfo imgInfo = 6;
UpIp []uint32 `protobuf:"varint,7,rep"` UpIp []uint32 `protobuf:"varint,7,rep"`
UpPort []uint32 `protobuf:"varint,8,rep"` UpPort []uint32 `protobuf:"varint,8,rep"`
UpUkey []byte `protobuf:"bytes,9,opt"` UpUkey []byte `protobuf:"bytes,9,opt"`
UpResid []byte `protobuf:"bytes,10,opt"` UpResid []byte `protobuf:"bytes,10,opt"`
UpUuid []byte `protobuf:"bytes,11,opt"` UpUuid []byte `protobuf:"bytes,11,opt"`
UpOffset *uint64 `protobuf:"varint,12,opt"` UpOffset proto.Option[uint64] `protobuf:"varint,12,opt"`
BlockSize *uint64 `protobuf:"varint,13,opt"` BlockSize proto.Option[uint64] `protobuf:"varint,13,opt"`
EncryptDstip []byte `protobuf:"bytes,14,opt"` EncryptDstip []byte `protobuf:"bytes,14,opt"`
Roamdays *uint32 `protobuf:"varint,15,opt"` Roamdays proto.Option[uint32] `protobuf:"varint,15,opt"`
// repeated IPv6Info upIp6 = 26; // repeated IPv6Info upIp6 = 26;
ClientIp6 []byte `protobuf:"bytes,27,opt"` ClientIp6 []byte `protobuf:"bytes,27,opt"`
ThumbDownPara []byte `protobuf:"bytes,60,opt"` ThumbDownPara []byte `protobuf:"bytes,60,opt"`
@ -223,61 +73,5 @@ type TryUpImgRsp struct {
DownDomain []byte `protobuf:"bytes,62,opt"` DownDomain []byte `protobuf:"bytes,62,opt"`
BigDownPara []byte `protobuf:"bytes,64,opt"` BigDownPara []byte `protobuf:"bytes,64,opt"`
BigThumbDownPara []byte `protobuf:"bytes,65,opt"` BigThumbDownPara []byte `protobuf:"bytes,65,opt"`
HttpsUrlFlag *uint32 `protobuf:"varint,66,opt"` // optional TryUpInfo4Busi info4Busi = 1001; HttpsUrlFlag proto.Option[uint32] `protobuf:"varint,66,opt"` // optional TryUpInfo4Busi info4Busi = 1001;
}
func (x *TryUpImgRsp) GetFileId() uint64 {
if x != nil && x.FileId != nil {
return *x.FileId
}
return 0
}
func (x *TryUpImgRsp) GetClientIp() uint32 {
if x != nil && x.ClientIp != nil {
return *x.ClientIp
}
return 0
}
func (x *TryUpImgRsp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *TryUpImgRsp) GetFileExit() bool {
if x != nil && x.FileExit != nil {
return *x.FileExit
}
return false
}
func (x *TryUpImgRsp) GetUpOffset() uint64 {
if x != nil && x.UpOffset != nil {
return *x.UpOffset
}
return 0
}
func (x *TryUpImgRsp) GetBlockSize() uint64 {
if x != nil && x.BlockSize != nil {
return *x.BlockSize
}
return 0
}
func (x *TryUpImgRsp) GetRoamdays() uint32 {
if x != nil && x.Roamdays != nil {
return *x.Roamdays
}
return 0
}
func (x *TryUpImgRsp) GetHttpsUrlFlag() uint32 {
if x != nil && x.HttpsUrlFlag != nil {
return *x.HttpsUrlFlag
}
return 0
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,395 +3,77 @@
package cmd0x3f6 package cmd0x3f6
import (
proto "github.com/RomiChan/protobuf/proto"
)
type C3F6ReqBody struct { type C3F6ReqBody struct {
SubCmd *uint32 `protobuf:"varint,1,opt"` SubCmd proto.Option[uint32] `protobuf:"varint,1,opt"`
CrmCommonHead *C3F6CRMMsgHead `protobuf:"bytes,2,opt"` CrmCommonHead *C3F6CRMMsgHead `protobuf:"bytes,2,opt"`
SubcmdLoginProcessCompleteReqBody *QDUserLoginProcessCompleteReqBody `protobuf:"bytes,42,opt"` SubcmdLoginProcessCompleteReqBody *QDUserLoginProcessCompleteReqBody `protobuf:"bytes,42,opt"`
} }
func (x *C3F6ReqBody) GetSubCmd() uint32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
type C3F6RspBody struct { type C3F6RspBody struct {
SubCmd *uint32 `protobuf:"varint,1,opt"` SubCmd proto.Option[uint32] `protobuf:"varint,1,opt"`
CrmCommonHead *C3F6CRMMsgHead `protobuf:"bytes,2,opt"` CrmCommonHead *C3F6CRMMsgHead `protobuf:"bytes,2,opt"`
SubcmdLoginProcessCompleteRspBody *QDUserLoginProcessCompleteRspBody `protobuf:"bytes,42,opt"` SubcmdLoginProcessCompleteRspBody *QDUserLoginProcessCompleteRspBody `protobuf:"bytes,42,opt"`
} }
func (x *C3F6RspBody) GetSubCmd() uint32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
type QDUserLoginProcessCompleteReqBody struct { type QDUserLoginProcessCompleteReqBody struct {
Kfext *uint64 `protobuf:"varint,1,opt"` Kfext proto.Option[uint64] `protobuf:"varint,1,opt"`
Pubno *uint32 `protobuf:"varint,2,opt"` Pubno proto.Option[uint32] `protobuf:"varint,2,opt"`
Buildno *uint32 `protobuf:"varint,3,opt"` Buildno proto.Option[uint32] `protobuf:"varint,3,opt"`
TerminalType *uint32 `protobuf:"varint,4,opt"` TerminalType proto.Option[uint32] `protobuf:"varint,4,opt"`
Status *uint32 `protobuf:"varint,5,opt"` Status proto.Option[uint32] `protobuf:"varint,5,opt"`
LoginTime *uint32 `protobuf:"varint,6,opt"` LoginTime proto.Option[uint32] `protobuf:"varint,6,opt"`
HardwareInfo *string `protobuf:"bytes,7,opt"` HardwareInfo proto.Option[string] `protobuf:"bytes,7,opt"`
SoftwareInfo *string `protobuf:"bytes,8,opt"` SoftwareInfo proto.Option[string] `protobuf:"bytes,8,opt"`
Guid []byte `protobuf:"bytes,9,opt"` Guid []byte `protobuf:"bytes,9,opt"`
AppName *string `protobuf:"bytes,10,opt"` AppName proto.Option[string] `protobuf:"bytes,10,opt"`
SubAppId *uint32 `protobuf:"varint,11,opt"` SubAppId proto.Option[uint32] `protobuf:"varint,11,opt"`
}
func (x *QDUserLoginProcessCompleteReqBody) GetKfext() uint64 {
if x != nil && x.Kfext != nil {
return *x.Kfext
}
return 0
}
func (x *QDUserLoginProcessCompleteReqBody) GetPubno() uint32 {
if x != nil && x.Pubno != nil {
return *x.Pubno
}
return 0
}
func (x *QDUserLoginProcessCompleteReqBody) GetBuildno() uint32 {
if x != nil && x.Buildno != nil {
return *x.Buildno
}
return 0
}
func (x *QDUserLoginProcessCompleteReqBody) GetTerminalType() uint32 {
if x != nil && x.TerminalType != nil {
return *x.TerminalType
}
return 0
}
func (x *QDUserLoginProcessCompleteReqBody) GetStatus() uint32 {
if x != nil && x.Status != nil {
return *x.Status
}
return 0
}
func (x *QDUserLoginProcessCompleteReqBody) GetLoginTime() uint32 {
if x != nil && x.LoginTime != nil {
return *x.LoginTime
}
return 0
}
func (x *QDUserLoginProcessCompleteReqBody) GetHardwareInfo() string {
if x != nil && x.HardwareInfo != nil {
return *x.HardwareInfo
}
return ""
}
func (x *QDUserLoginProcessCompleteReqBody) GetSoftwareInfo() string {
if x != nil && x.SoftwareInfo != nil {
return *x.SoftwareInfo
}
return ""
}
func (x *QDUserLoginProcessCompleteReqBody) GetAppName() string {
if x != nil && x.AppName != nil {
return *x.AppName
}
return ""
}
func (x *QDUserLoginProcessCompleteReqBody) GetSubAppId() uint32 {
if x != nil && x.SubAppId != nil {
return *x.SubAppId
}
return 0
} }
type QDUserLoginProcessCompleteRspBody struct { type QDUserLoginProcessCompleteRspBody struct {
Ret *RetInfo `protobuf:"bytes,1,opt"` Ret *RetInfo `protobuf:"bytes,1,opt"`
Url *string `protobuf:"bytes,2,opt"` Url proto.Option[string] `protobuf:"bytes,2,opt"`
Mobile *string `protobuf:"bytes,3,opt"` Mobile proto.Option[string] `protobuf:"bytes,3,opt"`
ExternalMobile *string `protobuf:"bytes,4,opt"` ExternalMobile proto.Option[string] `protobuf:"bytes,4,opt"`
DataAnalysisPriv *bool `protobuf:"varint,5,opt"` DataAnalysisPriv proto.Option[bool] `protobuf:"varint,5,opt"`
DeviceLock *bool `protobuf:"varint,6,opt"` DeviceLock proto.Option[bool] `protobuf:"varint,6,opt"`
ModulePrivilege *uint64 `protobuf:"varint,7,opt"` ModulePrivilege proto.Option[uint64] `protobuf:"varint,7,opt"`
ModuleSubPrivilege []uint32 `protobuf:"varint,8,rep"` ModuleSubPrivilege []uint32 `protobuf:"varint,8,rep"`
MasterSet *uint32 `protobuf:"varint,9,opt"` MasterSet proto.Option[uint32] `protobuf:"varint,9,opt"`
ExtSet *uint32 `protobuf:"varint,10,opt"` ExtSet proto.Option[uint32] `protobuf:"varint,10,opt"`
CorpConfProperty *uint64 `protobuf:"varint,11,opt"` CorpConfProperty proto.Option[uint64] `protobuf:"varint,11,opt"`
Corpuin *uint64 `protobuf:"varint,12,opt"` Corpuin proto.Option[uint64] `protobuf:"varint,12,opt"`
Kfaccount *uint64 `protobuf:"varint,13,opt"` Kfaccount proto.Option[uint64] `protobuf:"varint,13,opt"`
SecurityLevel *uint32 `protobuf:"varint,14,opt"` SecurityLevel proto.Option[uint32] `protobuf:"varint,14,opt"`
MsgTitle *string `protobuf:"bytes,15,opt"` MsgTitle proto.Option[string] `protobuf:"bytes,15,opt"`
SuccNoticeMsg *string `protobuf:"bytes,16,opt"` SuccNoticeMsg proto.Option[string] `protobuf:"bytes,16,opt"`
NameAccount *uint64 `protobuf:"varint,17,opt"` NameAccount proto.Option[uint64] `protobuf:"varint,17,opt"`
CrmMigrateFlag *uint32 `protobuf:"varint,18,opt"` CrmMigrateFlag proto.Option[uint32] `protobuf:"varint,18,opt"`
ExtuinName *string `protobuf:"bytes,19,opt"` ExtuinName proto.Option[string] `protobuf:"bytes,19,opt"`
OpenAccountTime *uint32 `protobuf:"varint,20,opt"` OpenAccountTime proto.Option[uint32] `protobuf:"varint,20,opt"`
}
func (x *QDUserLoginProcessCompleteRspBody) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
}
func (x *QDUserLoginProcessCompleteRspBody) GetMobile() string {
if x != nil && x.Mobile != nil {
return *x.Mobile
}
return ""
}
func (x *QDUserLoginProcessCompleteRspBody) GetExternalMobile() string {
if x != nil && x.ExternalMobile != nil {
return *x.ExternalMobile
}
return ""
}
func (x *QDUserLoginProcessCompleteRspBody) GetDataAnalysisPriv() bool {
if x != nil && x.DataAnalysisPriv != nil {
return *x.DataAnalysisPriv
}
return false
}
func (x *QDUserLoginProcessCompleteRspBody) GetDeviceLock() bool {
if x != nil && x.DeviceLock != nil {
return *x.DeviceLock
}
return false
}
func (x *QDUserLoginProcessCompleteRspBody) GetModulePrivilege() uint64 {
if x != nil && x.ModulePrivilege != nil {
return *x.ModulePrivilege
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetMasterSet() uint32 {
if x != nil && x.MasterSet != nil {
return *x.MasterSet
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetExtSet() uint32 {
if x != nil && x.ExtSet != nil {
return *x.ExtSet
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetCorpConfProperty() uint64 {
if x != nil && x.CorpConfProperty != nil {
return *x.CorpConfProperty
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetCorpuin() uint64 {
if x != nil && x.Corpuin != nil {
return *x.Corpuin
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetKfaccount() uint64 {
if x != nil && x.Kfaccount != nil {
return *x.Kfaccount
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetSecurityLevel() uint32 {
if x != nil && x.SecurityLevel != nil {
return *x.SecurityLevel
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetMsgTitle() string {
if x != nil && x.MsgTitle != nil {
return *x.MsgTitle
}
return ""
}
func (x *QDUserLoginProcessCompleteRspBody) GetSuccNoticeMsg() string {
if x != nil && x.SuccNoticeMsg != nil {
return *x.SuccNoticeMsg
}
return ""
}
func (x *QDUserLoginProcessCompleteRspBody) GetNameAccount() uint64 {
if x != nil && x.NameAccount != nil {
return *x.NameAccount
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetCrmMigrateFlag() uint32 {
if x != nil && x.CrmMigrateFlag != nil {
return *x.CrmMigrateFlag
}
return 0
}
func (x *QDUserLoginProcessCompleteRspBody) GetExtuinName() string {
if x != nil && x.ExtuinName != nil {
return *x.ExtuinName
}
return ""
}
func (x *QDUserLoginProcessCompleteRspBody) GetOpenAccountTime() uint32 {
if x != nil && x.OpenAccountTime != nil {
return *x.OpenAccountTime
}
return 0
} }
type RetInfo struct { type RetInfo struct {
RetCode *uint32 `protobuf:"varint,1,opt"` RetCode proto.Option[uint32] `protobuf:"varint,1,opt"`
ErrorMsg *string `protobuf:"bytes,2,opt"` ErrorMsg proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *RetInfo) GetRetCode() uint32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *RetInfo) GetErrorMsg() string {
if x != nil && x.ErrorMsg != nil {
return *x.ErrorMsg
}
return ""
} }
type C3F6CRMMsgHead struct { type C3F6CRMMsgHead struct {
CrmSubCmd *uint32 `protobuf:"varint,1,opt"` CrmSubCmd proto.Option[uint32] `protobuf:"varint,1,opt"`
HeadLen *uint32 `protobuf:"varint,2,opt"` HeadLen proto.Option[uint32] `protobuf:"varint,2,opt"`
VerNo *uint32 `protobuf:"varint,3,opt"` VerNo proto.Option[uint32] `protobuf:"varint,3,opt"`
KfUin *uint64 `protobuf:"varint,4,opt"` KfUin proto.Option[uint64] `protobuf:"varint,4,opt"`
Seq *uint32 `protobuf:"varint,5,opt"` Seq proto.Option[uint32] `protobuf:"varint,5,opt"`
PackNum *uint32 `protobuf:"varint,6,opt"` PackNum proto.Option[uint32] `protobuf:"varint,6,opt"`
CurPack *uint32 `protobuf:"varint,7,opt"` CurPack proto.Option[uint32] `protobuf:"varint,7,opt"`
BufSig *string `protobuf:"bytes,8,opt"` BufSig proto.Option[string] `protobuf:"bytes,8,opt"`
Clienttype *uint32 `protobuf:"varint,9,opt"` Clienttype proto.Option[uint32] `protobuf:"varint,9,opt"`
LaborUin *uint64 `protobuf:"varint,10,opt"` LaborUin proto.Option[uint64] `protobuf:"varint,10,opt"`
LaborName *string `protobuf:"bytes,11,opt"` LaborName proto.Option[string] `protobuf:"bytes,11,opt"`
Kfaccount *uint64 `protobuf:"varint,12,opt"` Kfaccount proto.Option[uint64] `protobuf:"varint,12,opt"`
TraceId *string `protobuf:"bytes,13,opt"` TraceId proto.Option[string] `protobuf:"bytes,13,opt"`
AppId *uint32 `protobuf:"varint,14,opt"` AppId proto.Option[uint32] `protobuf:"varint,14,opt"`
}
func (x *C3F6CRMMsgHead) GetCrmSubCmd() uint32 {
if x != nil && x.CrmSubCmd != nil {
return *x.CrmSubCmd
}
return 0
}
func (x *C3F6CRMMsgHead) GetHeadLen() uint32 {
if x != nil && x.HeadLen != nil {
return *x.HeadLen
}
return 0
}
func (x *C3F6CRMMsgHead) GetVerNo() uint32 {
if x != nil && x.VerNo != nil {
return *x.VerNo
}
return 0
}
func (x *C3F6CRMMsgHead) GetKfUin() uint64 {
if x != nil && x.KfUin != nil {
return *x.KfUin
}
return 0
}
func (x *C3F6CRMMsgHead) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *C3F6CRMMsgHead) GetPackNum() uint32 {
if x != nil && x.PackNum != nil {
return *x.PackNum
}
return 0
}
func (x *C3F6CRMMsgHead) GetCurPack() uint32 {
if x != nil && x.CurPack != nil {
return *x.CurPack
}
return 0
}
func (x *C3F6CRMMsgHead) GetBufSig() string {
if x != nil && x.BufSig != nil {
return *x.BufSig
}
return ""
}
func (x *C3F6CRMMsgHead) GetClienttype() uint32 {
if x != nil && x.Clienttype != nil {
return *x.Clienttype
}
return 0
}
func (x *C3F6CRMMsgHead) GetLaborUin() uint64 {
if x != nil && x.LaborUin != nil {
return *x.LaborUin
}
return 0
}
func (x *C3F6CRMMsgHead) GetLaborName() string {
if x != nil && x.LaborName != nil {
return *x.LaborName
}
return ""
}
func (x *C3F6CRMMsgHead) GetKfaccount() uint64 {
if x != nil && x.Kfaccount != nil {
return *x.Kfaccount
}
return 0
}
func (x *C3F6CRMMsgHead) GetTraceId() string {
if x != nil && x.TraceId != nil {
return *x.TraceId
}
return ""
}
func (x *C3F6CRMMsgHead) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
} }

View File

@ -3,273 +3,81 @@
package cmd0x6ff package cmd0x6ff
import (
proto "github.com/RomiChan/protobuf/proto"
)
type C519CRMMsgHead struct { type C519CRMMsgHead struct {
CrmSubCmd *uint32 `protobuf:"varint,1,opt"` CrmSubCmd proto.Option[uint32] `protobuf:"varint,1,opt"`
HeadLen *uint32 `protobuf:"varint,2,opt"` HeadLen proto.Option[uint32] `protobuf:"varint,2,opt"`
VerNo *uint32 `protobuf:"varint,3,opt"` VerNo proto.Option[uint32] `protobuf:"varint,3,opt"`
KfUin *uint64 `protobuf:"varint,4,opt"` KfUin proto.Option[uint64] `protobuf:"varint,4,opt"`
Seq *uint32 `protobuf:"varint,5,opt"` Seq proto.Option[uint32] `protobuf:"varint,5,opt"`
PackNum *uint32 `protobuf:"varint,6,opt"` PackNum proto.Option[uint32] `protobuf:"varint,6,opt"`
CurPack *uint32 `protobuf:"varint,7,opt"` CurPack proto.Option[uint32] `protobuf:"varint,7,opt"`
BufSig *string `protobuf:"bytes,8,opt"` BufSig proto.Option[string] `protobuf:"bytes,8,opt"`
PubQq *uint64 `protobuf:"varint,9,opt"` PubQq proto.Option[uint64] `protobuf:"varint,9,opt"`
Clienttype *uint32 `protobuf:"varint,10,opt"` Clienttype proto.Option[uint32] `protobuf:"varint,10,opt"`
LaborUin *uint64 `protobuf:"varint,11,opt"` LaborUin proto.Option[uint64] `protobuf:"varint,11,opt"`
LaborName *string `protobuf:"bytes,12,opt"` LaborName proto.Option[string] `protobuf:"bytes,12,opt"`
Puin *uint64 `protobuf:"varint,13,opt"` Puin proto.Option[uint64] `protobuf:"varint,13,opt"`
}
func (x *C519CRMMsgHead) GetCrmSubCmd() uint32 {
if x != nil && x.CrmSubCmd != nil {
return *x.CrmSubCmd
}
return 0
}
func (x *C519CRMMsgHead) GetHeadLen() uint32 {
if x != nil && x.HeadLen != nil {
return *x.HeadLen
}
return 0
}
func (x *C519CRMMsgHead) GetVerNo() uint32 {
if x != nil && x.VerNo != nil {
return *x.VerNo
}
return 0
}
func (x *C519CRMMsgHead) GetKfUin() uint64 {
if x != nil && x.KfUin != nil {
return *x.KfUin
}
return 0
}
func (x *C519CRMMsgHead) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *C519CRMMsgHead) GetPackNum() uint32 {
if x != nil && x.PackNum != nil {
return *x.PackNum
}
return 0
}
func (x *C519CRMMsgHead) GetCurPack() uint32 {
if x != nil && x.CurPack != nil {
return *x.CurPack
}
return 0
}
func (x *C519CRMMsgHead) GetBufSig() string {
if x != nil && x.BufSig != nil {
return *x.BufSig
}
return ""
}
func (x *C519CRMMsgHead) GetPubQq() uint64 {
if x != nil && x.PubQq != nil {
return *x.PubQq
}
return 0
}
func (x *C519CRMMsgHead) GetClienttype() uint32 {
if x != nil && x.Clienttype != nil {
return *x.Clienttype
}
return 0
}
func (x *C519CRMMsgHead) GetLaborUin() uint64 {
if x != nil && x.LaborUin != nil {
return *x.LaborUin
}
return 0
}
func (x *C519CRMMsgHead) GetLaborName() string {
if x != nil && x.LaborName != nil {
return *x.LaborName
}
return ""
}
func (x *C519CRMMsgHead) GetPuin() uint64 {
if x != nil && x.Puin != nil {
return *x.Puin
}
return 0
} }
type GetNavigationMenuReqBody struct { type GetNavigationMenuReqBody struct {
Puin *uint64 `protobuf:"varint,1,opt"` Puin proto.Option[uint64] `protobuf:"varint,1,opt"`
Uin *uint64 `protobuf:"varint,2,opt"` Uin proto.Option[uint64] `protobuf:"varint,2,opt"`
VerNo *uint32 `protobuf:"varint,3,opt"` VerNo proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *GetNavigationMenuReqBody) GetPuin() uint64 {
if x != nil && x.Puin != nil {
return *x.Puin
}
return 0
}
func (x *GetNavigationMenuReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *GetNavigationMenuReqBody) GetVerNo() uint32 {
if x != nil && x.VerNo != nil {
return *x.VerNo
}
return 0
} }
type GetNavigationMenuRspBody struct { type GetNavigationMenuRspBody struct {
Ret *C519RetInfo `protobuf:"bytes,1,opt"` Ret *C519RetInfo `protobuf:"bytes,1,opt"`
IsShow *int32 `protobuf:"varint,2,opt"` IsShow proto.Option[int32] `protobuf:"varint,2,opt"`
UctMsg *string `protobuf:"bytes,3,opt"` UctMsg proto.Option[string] `protobuf:"bytes,3,opt"`
VerNo *uint32 `protobuf:"varint,4,opt"` VerNo proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *GetNavigationMenuRspBody) GetIsShow() int32 {
if x != nil && x.IsShow != nil {
return *x.IsShow
}
return 0
}
func (x *GetNavigationMenuRspBody) GetUctMsg() string {
if x != nil && x.UctMsg != nil {
return *x.UctMsg
}
return ""
}
func (x *GetNavigationMenuRspBody) GetVerNo() uint32 {
if x != nil && x.VerNo != nil {
return *x.VerNo
}
return 0
} }
type C519ReqBody struct { type C519ReqBody struct {
SubCmd *uint32 `protobuf:"varint,1,opt"` SubCmd proto.Option[uint32] `protobuf:"varint,1,opt"`
CrmCommonHead *C519CRMMsgHead `protobuf:"bytes,2,opt"` CrmCommonHead *C519CRMMsgHead `protobuf:"bytes,2,opt"`
GetAddressDetailListReqBody *GetAddressDetailListReqBody `protobuf:"bytes,33,opt"` GetAddressDetailListReqBody *GetAddressDetailListReqBody `protobuf:"bytes,33,opt"`
GetNavigationMenuReq *GetNavigationMenuReqBody `protobuf:"bytes,35,opt"` GetNavigationMenuReq *GetNavigationMenuReqBody `protobuf:"bytes,35,opt"`
} }
func (x *C519ReqBody) GetSubCmd() uint32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
type C519RetInfo struct { type C519RetInfo struct {
RetCode *uint32 `protobuf:"varint,1,opt"` RetCode proto.Option[uint32] `protobuf:"varint,1,opt"`
ErrorMsg *string `protobuf:"bytes,2,opt"` ErrorMsg proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *C519RetInfo) GetRetCode() uint32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *C519RetInfo) GetErrorMsg() string {
if x != nil && x.ErrorMsg != nil {
return *x.ErrorMsg
}
return ""
} }
type C519RspBody struct { type C519RspBody struct {
SubCmd *uint32 `protobuf:"varint,1,opt"` SubCmd proto.Option[uint32] `protobuf:"varint,1,opt"`
CrmCommonHead *C519CRMMsgHead `protobuf:"bytes,2,opt"` CrmCommonHead *C519CRMMsgHead `protobuf:"bytes,2,opt"`
GetAddressDetailListRspBody *GetAddressDetailListRspBody `protobuf:"bytes,33,opt"` GetAddressDetailListRspBody *GetAddressDetailListRspBody `protobuf:"bytes,33,opt"`
GetNavigationMenuRsp *GetNavigationMenuRspBody `protobuf:"bytes,35,opt"` GetNavigationMenuRsp *GetNavigationMenuRspBody `protobuf:"bytes,35,opt"`
} }
func (x *C519RspBody) GetSubCmd() uint32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
type GetAddressDetailListReqBody struct { type GetAddressDetailListReqBody struct {
Timestamp *uint32 `protobuf:"fixed32,1,opt"` Timestamp proto.Option[uint32] `protobuf:"fixed32,1,opt"`
Timestamp2 *uint64 `protobuf:"fixed64,2,opt"` Timestamp2 proto.Option[uint64] `protobuf:"fixed64,2,opt"`
}
func (x *GetAddressDetailListReqBody) GetTimestamp() uint32 {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return 0
}
func (x *GetAddressDetailListReqBody) GetTimestamp2() uint64 {
if x != nil && x.Timestamp2 != nil {
return *x.Timestamp2
}
return 0
} }
type GetAddressDetailListRspBody struct { type GetAddressDetailListRspBody struct {
Ret *C519RetInfo `protobuf:"bytes,1,opt"` Ret *C519RetInfo `protobuf:"bytes,1,opt"`
Timestamp *uint32 `protobuf:"fixed32,2,opt"` Timestamp proto.Option[uint32] `protobuf:"fixed32,2,opt"`
Full *bool `protobuf:"varint,3,opt"` Full proto.Option[bool] `protobuf:"varint,3,opt"`
AddressDetail []*AddressDetail `protobuf:"bytes,4,rep"` AddressDetail []*AddressDetail `protobuf:"bytes,4,rep"`
Timestamp2 *uint64 `protobuf:"fixed64,5,opt"` Timestamp2 proto.Option[uint64] `protobuf:"fixed64,5,opt"`
}
func (x *GetAddressDetailListRspBody) GetTimestamp() uint32 {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return 0
}
func (x *GetAddressDetailListRspBody) GetFull() bool {
if x != nil && x.Full != nil {
return *x.Full
}
return false
}
func (x *GetAddressDetailListRspBody) GetTimestamp2() uint64 {
if x != nil && x.Timestamp2 != nil {
return *x.Timestamp2
}
return 0
} }
type AddressDetail struct { type AddressDetail struct {
Aid *uint32 `protobuf:"varint,1,opt"` Aid proto.Option[uint32] `protobuf:"varint,1,opt"`
ModifyTime *uint32 `protobuf:"fixed32,2,opt"` ModifyTime proto.Option[uint32] `protobuf:"fixed32,2,opt"`
CreateTime *uint32 `protobuf:"fixed32,3,opt"` CreateTime proto.Option[uint32] `protobuf:"fixed32,3,opt"`
Status *uint32 `protobuf:"varint,4,opt"` Status proto.Option[uint32] `protobuf:"varint,4,opt"`
Groupid *uint32 `protobuf:"varint,5,opt"` Groupid proto.Option[uint32] `protobuf:"varint,5,opt"`
AddGroupName []byte `protobuf:"bytes,6,opt"` AddGroupName []byte `protobuf:"bytes,6,opt"`
Name []byte `protobuf:"bytes,7,opt"` Name []byte `protobuf:"bytes,7,opt"`
Gender *uint32 `protobuf:"varint,8,opt"` Gender proto.Option[uint32] `protobuf:"varint,8,opt"`
Birthday *uint32 `protobuf:"fixed32,9,opt"` Birthday proto.Option[uint32] `protobuf:"fixed32,9,opt"`
Company0 []byte `protobuf:"bytes,10,opt"` Company0 []byte `protobuf:"bytes,10,opt"`
CompanyPosition0 []byte `protobuf:"bytes,11,opt"` CompanyPosition0 []byte `protobuf:"bytes,11,opt"`
Company1 []byte `protobuf:"bytes,12,opt"` Company1 []byte `protobuf:"bytes,12,opt"`
@ -283,182 +91,35 @@ type AddressDetail struct {
Comment []byte `protobuf:"bytes,20,opt"` Comment []byte `protobuf:"bytes,20,opt"`
HeadUrl []byte `protobuf:"bytes,21,opt"` HeadUrl []byte `protobuf:"bytes,21,opt"`
MobilePhone []*AddressMobileInfo `protobuf:"bytes,22,rep"` MobilePhone []*AddressMobileInfo `protobuf:"bytes,22,rep"`
MobilePhoneUpdated *bool `protobuf:"varint,23,opt"` MobilePhoneUpdated proto.Option[bool] `protobuf:"varint,23,opt"`
Qq []*AddressQQinfo `protobuf:"bytes,24,rep"` Qq []*AddressQQinfo `protobuf:"bytes,24,rep"`
QqPhoneUpdated *bool `protobuf:"varint,25,opt"` QqPhoneUpdated proto.Option[bool] `protobuf:"varint,25,opt"`
ModifyTime2 *uint64 `protobuf:"fixed64,26,opt"` ModifyTime2 proto.Option[uint64] `protobuf:"fixed64,26,opt"`
ClientRegion *NewBizClientRegion `protobuf:"bytes,27,opt"` ClientRegion *NewBizClientRegion `protobuf:"bytes,27,opt"`
ClientRegionCode *NewBizClientRegionCode `protobuf:"bytes,28,opt"` ClientRegionCode *NewBizClientRegionCode `protobuf:"bytes,28,opt"`
} }
func (x *AddressDetail) GetAid() uint32 {
if x != nil && x.Aid != nil {
return *x.Aid
}
return 0
}
func (x *AddressDetail) GetModifyTime() uint32 {
if x != nil && x.ModifyTime != nil {
return *x.ModifyTime
}
return 0
}
func (x *AddressDetail) GetCreateTime() uint32 {
if x != nil && x.CreateTime != nil {
return *x.CreateTime
}
return 0
}
func (x *AddressDetail) GetStatus() uint32 {
if x != nil && x.Status != nil {
return *x.Status
}
return 0
}
func (x *AddressDetail) GetGroupid() uint32 {
if x != nil && x.Groupid != nil {
return *x.Groupid
}
return 0
}
func (x *AddressDetail) GetGender() uint32 {
if x != nil && x.Gender != nil {
return *x.Gender
}
return 0
}
func (x *AddressDetail) GetBirthday() uint32 {
if x != nil && x.Birthday != nil {
return *x.Birthday
}
return 0
}
func (x *AddressDetail) GetMobilePhoneUpdated() bool {
if x != nil && x.MobilePhoneUpdated != nil {
return *x.MobilePhoneUpdated
}
return false
}
func (x *AddressDetail) GetQqPhoneUpdated() bool {
if x != nil && x.QqPhoneUpdated != nil {
return *x.QqPhoneUpdated
}
return false
}
func (x *AddressDetail) GetModifyTime2() uint64 {
if x != nil && x.ModifyTime2 != nil {
return *x.ModifyTime2
}
return 0
}
type AddressMobileInfo struct { type AddressMobileInfo struct {
Index *uint32 `protobuf:"varint,1,opt"` Index proto.Option[uint32] `protobuf:"varint,1,opt"`
Account []byte `protobuf:"bytes,2,opt"` Account []byte `protobuf:"bytes,2,opt"`
FormattedAccount []byte `protobuf:"bytes,5,opt"` FormattedAccount []byte `protobuf:"bytes,5,opt"`
} }
func (x *AddressMobileInfo) GetIndex() uint32 {
if x != nil && x.Index != nil {
return *x.Index
}
return 0
}
type AddressQQinfo struct { type AddressQQinfo struct {
Index *uint32 `protobuf:"varint,1,opt"` Index proto.Option[uint32] `protobuf:"varint,1,opt"`
Account *uint64 `protobuf:"varint,2,opt"` Account proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *AddressQQinfo) GetIndex() uint32 {
if x != nil && x.Index != nil {
return *x.Index
}
return 0
}
func (x *AddressQQinfo) GetAccount() uint64 {
if x != nil && x.Account != nil {
return *x.Account
}
return 0
} }
type NewBizClientRegion struct { type NewBizClientRegion struct {
ClientNation *string `protobuf:"bytes,1,opt"` ClientNation proto.Option[string] `protobuf:"bytes,1,opt"`
ClientProvince *string `protobuf:"bytes,2,opt"` ClientProvince proto.Option[string] `protobuf:"bytes,2,opt"`
ClientCity *string `protobuf:"bytes,3,opt"` ClientCity proto.Option[string] `protobuf:"bytes,3,opt"`
ClientRegion *string `protobuf:"bytes,4,opt"` ClientRegion proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *NewBizClientRegion) GetClientNation() string {
if x != nil && x.ClientNation != nil {
return *x.ClientNation
}
return ""
}
func (x *NewBizClientRegion) GetClientProvince() string {
if x != nil && x.ClientProvince != nil {
return *x.ClientProvince
}
return ""
}
func (x *NewBizClientRegion) GetClientCity() string {
if x != nil && x.ClientCity != nil {
return *x.ClientCity
}
return ""
}
func (x *NewBizClientRegion) GetClientRegion() string {
if x != nil && x.ClientRegion != nil {
return *x.ClientRegion
}
return ""
} }
type NewBizClientRegionCode struct { type NewBizClientRegionCode struct {
Nationid *uint64 `protobuf:"varint,1,opt"` Nationid proto.Option[uint64] `protobuf:"varint,1,opt"`
Provinceid *uint64 `protobuf:"varint,2,opt"` Provinceid proto.Option[uint64] `protobuf:"varint,2,opt"`
Cityid *uint64 `protobuf:"varint,3,opt"` Cityid proto.Option[uint64] `protobuf:"varint,3,opt"`
Regionid *uint64 `protobuf:"varint,4,opt"` Regionid proto.Option[uint64] `protobuf:"varint,4,opt"`
}
func (x *NewBizClientRegionCode) GetNationid() uint64 {
if x != nil && x.Nationid != nil {
return *x.Nationid
}
return 0
}
func (x *NewBizClientRegionCode) GetProvinceid() uint64 {
if x != nil && x.Provinceid != nil {
return *x.Provinceid
}
return 0
}
func (x *NewBizClientRegionCode) GetCityid() uint64 {
if x != nil && x.Cityid != nil {
return *x.Cityid
}
return 0
}
func (x *NewBizClientRegionCode) GetRegionid() uint64 {
if x != nil && x.Regionid != nil {
return *x.Regionid
}
return 0
} }

View File

@ -3,6 +3,10 @@
package cmd0x6ff package cmd0x6ff
import (
proto "github.com/RomiChan/protobuf/proto"
)
type C501ReqBody struct { type C501ReqBody struct {
ReqBody *SubCmd0X501ReqBody `protobuf:"bytes,1281,opt"` ReqBody *SubCmd0X501ReqBody `protobuf:"bytes,1281,opt"`
} }
@ -12,56 +16,14 @@ type C501RspBody struct {
} }
type SubCmd0X501ReqBody struct { type SubCmd0X501ReqBody struct {
Uin *uint64 `protobuf:"varint,1,opt"` Uin proto.Option[uint64] `protobuf:"varint,1,opt"`
IdcId *uint32 `protobuf:"varint,2,opt"` IdcId proto.Option[uint32] `protobuf:"varint,2,opt"`
Appid *uint32 `protobuf:"varint,3,opt"` Appid proto.Option[uint32] `protobuf:"varint,3,opt"`
LoginSigType *uint32 `protobuf:"varint,4,opt"` LoginSigType proto.Option[uint32] `protobuf:"varint,4,opt"`
LoginSigTicket []byte `protobuf:"bytes,5,opt"` LoginSigTicket []byte `protobuf:"bytes,5,opt"`
RequestFlag *uint32 `protobuf:"varint,6,opt"` RequestFlag proto.Option[uint32] `protobuf:"varint,6,opt"`
ServiceTypes []uint32 `protobuf:"varint,7,rep"` ServiceTypes []uint32 `protobuf:"varint,7,rep"`
Bid *uint32 `protobuf:"varint,8,opt"` Bid proto.Option[uint32] `protobuf:"varint,8,opt"`
}
func (x *SubCmd0X501ReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *SubCmd0X501ReqBody) GetIdcId() uint32 {
if x != nil && x.IdcId != nil {
return *x.IdcId
}
return 0
}
func (x *SubCmd0X501ReqBody) GetAppid() uint32 {
if x != nil && x.Appid != nil {
return *x.Appid
}
return 0
}
func (x *SubCmd0X501ReqBody) GetLoginSigType() uint32 {
if x != nil && x.LoginSigType != nil {
return *x.LoginSigType
}
return 0
}
func (x *SubCmd0X501ReqBody) GetRequestFlag() uint32 {
if x != nil && x.RequestFlag != nil {
return *x.RequestFlag
}
return 0
}
func (x *SubCmd0X501ReqBody) GetBid() uint32 {
if x != nil && x.Bid != nil {
return *x.Bid
}
return 0
} }
type SubCmd0X501RspBody struct { type SubCmd0X501RspBody struct {
@ -71,48 +33,13 @@ type SubCmd0X501RspBody struct {
} }
type SrvAddrs struct { type SrvAddrs struct {
ServiceType *uint32 `protobuf:"varint,1,opt"` ServiceType proto.Option[uint32] `protobuf:"varint,1,opt"`
Addrs []*IpAddr `protobuf:"bytes,2,rep"` Addrs []*IpAddr `protobuf:"bytes,2,rep"`
} }
func (x *SrvAddrs) GetServiceType() uint32 {
if x != nil && x.ServiceType != nil {
return *x.ServiceType
}
return 0
}
type IpAddr struct { type IpAddr struct {
Type *uint32 `protobuf:"varint,1,opt"` Type proto.Option[uint32] `protobuf:"varint,1,opt"`
Ip *uint32 `protobuf:"fixed32,2,opt"` Ip proto.Option[uint32] `protobuf:"fixed32,2,opt"`
Port *uint32 `protobuf:"varint,3,opt"` Port proto.Option[uint32] `protobuf:"varint,3,opt"`
Area *uint32 `protobuf:"varint,4,opt"` Area proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *IpAddr) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *IpAddr) GetIp() uint32 {
if x != nil && x.Ip != nil {
return *x.Ip
}
return 0
}
func (x *IpAddr) GetPort() uint32 {
if x != nil && x.Port != nil {
return *x.Port
}
return 0
}
func (x *IpAddr) GetArea() uint32 {
if x != nil && x.Area != nil {
return *x.Area
}
return 0
} }

View File

@ -3,32 +3,15 @@
package exciting package exciting
import (
proto "github.com/RomiChan/protobuf/proto"
)
type GroupFileUploadExt struct { type GroupFileUploadExt struct {
Unknown1 *int32 `protobuf:"varint,1,opt"` Unknown1 proto.Option[int32] `protobuf:"varint,1,opt"`
Unknown2 *int32 `protobuf:"varint,2,opt"` Unknown2 proto.Option[int32] `protobuf:"varint,2,opt"`
Entry *GroupFileUploadEntry `protobuf:"bytes,100,opt"` Entry *GroupFileUploadEntry `protobuf:"bytes,100,opt"`
Unknown3 *int32 `protobuf:"varint,3,opt"` Unknown3 proto.Option[int32] `protobuf:"varint,3,opt"`
}
func (x *GroupFileUploadExt) GetUnknown1() int32 {
if x != nil && x.Unknown1 != nil {
return *x.Unknown1
}
return 0
}
func (x *GroupFileUploadExt) GetUnknown2() int32 {
if x != nil && x.Unknown2 != nil {
return *x.Unknown2
}
return 0
}
func (x *GroupFileUploadExt) GetUnknown3() int32 {
if x != nil && x.Unknown3 != nil {
return *x.Unknown3
}
return 0
} }
type GroupFileUploadEntry struct { type GroupFileUploadEntry struct {
@ -40,107 +23,30 @@ type GroupFileUploadEntry struct {
} }
type ExcitingBusiInfo struct { type ExcitingBusiInfo struct {
BusId *int32 `protobuf:"varint,1,opt"` BusId proto.Option[int32] `protobuf:"varint,1,opt"`
SenderUin *int64 `protobuf:"varint,100,opt"` SenderUin proto.Option[int64] `protobuf:"varint,100,opt"`
ReceiverUin *int64 `protobuf:"varint,200,opt"` // probable ReceiverUin proto.Option[int64] `protobuf:"varint,200,opt"` // probable
GroupCode *int64 `protobuf:"varint,400,opt"` // probable GroupCode proto.Option[int64] `protobuf:"varint,400,opt"` // probable
}
func (x *ExcitingBusiInfo) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *ExcitingBusiInfo) GetSenderUin() int64 {
if x != nil && x.SenderUin != nil {
return *x.SenderUin
}
return 0
}
func (x *ExcitingBusiInfo) GetReceiverUin() int64 {
if x != nil && x.ReceiverUin != nil {
return *x.ReceiverUin
}
return 0
}
func (x *ExcitingBusiInfo) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
} }
type ExcitingFileEntry struct { type ExcitingFileEntry struct {
FileSize *int64 `protobuf:"varint,100,opt"` FileSize proto.Option[int64] `protobuf:"varint,100,opt"`
Md5 []byte `protobuf:"bytes,200,opt"` Md5 []byte `protobuf:"bytes,200,opt"`
Sha1 []byte `protobuf:"bytes,300,opt"` Sha1 []byte `protobuf:"bytes,300,opt"`
FileId []byte `protobuf:"bytes,600,opt"` FileId []byte `protobuf:"bytes,600,opt"`
UploadKey []byte `protobuf:"bytes,700,opt"` UploadKey []byte `protobuf:"bytes,700,opt"`
} }
func (x *ExcitingFileEntry) GetFileSize() int64 {
if x != nil && x.FileSize != nil {
return *x.FileSize
}
return 0
}
type ExcitingClientInfo struct { type ExcitingClientInfo struct {
ClientType *int32 `protobuf:"varint,100,opt"` // probable ClientType proto.Option[int32] `protobuf:"varint,100,opt"` // probable
AppId *string `protobuf:"bytes,200,opt"` AppId proto.Option[string] `protobuf:"bytes,200,opt"`
TerminalType *int32 `protobuf:"varint,300,opt"` // probable TerminalType proto.Option[int32] `protobuf:"varint,300,opt"` // probable
ClientVer *string `protobuf:"bytes,400,opt"` ClientVer proto.Option[string] `protobuf:"bytes,400,opt"`
Unknown *int32 `protobuf:"varint,600,opt"` Unknown proto.Option[int32] `protobuf:"varint,600,opt"`
}
func (x *ExcitingClientInfo) GetClientType() int32 {
if x != nil && x.ClientType != nil {
return *x.ClientType
}
return 0
}
func (x *ExcitingClientInfo) GetAppId() string {
if x != nil && x.AppId != nil {
return *x.AppId
}
return ""
}
func (x *ExcitingClientInfo) GetTerminalType() int32 {
if x != nil && x.TerminalType != nil {
return *x.TerminalType
}
return 0
}
func (x *ExcitingClientInfo) GetClientVer() string {
if x != nil && x.ClientVer != nil {
return *x.ClientVer
}
return ""
}
func (x *ExcitingClientInfo) GetUnknown() int32 {
if x != nil && x.Unknown != nil {
return *x.Unknown
}
return 0
} }
type ExcitingFileNameInfo struct { type ExcitingFileNameInfo struct {
FileName *string `protobuf:"bytes,100,opt"` FileName proto.Option[string] `protobuf:"bytes,100,opt"`
}
func (x *ExcitingFileNameInfo) GetFileName() string {
if x != nil && x.FileName != nil {
return *x.FileName
}
return ""
} }
type ExcitingHostConfig struct { type ExcitingHostConfig struct {
@ -149,31 +55,10 @@ type ExcitingHostConfig struct {
type ExcitingHostInfo struct { type ExcitingHostInfo struct {
Url *ExcitingUrlInfo `protobuf:"bytes,1,opt"` Url *ExcitingUrlInfo `protobuf:"bytes,1,opt"`
Port *int32 `protobuf:"varint,2,opt"` Port proto.Option[int32] `protobuf:"varint,2,opt"`
}
func (x *ExcitingHostInfo) GetPort() int32 {
if x != nil && x.Port != nil {
return *x.Port
}
return 0
} }
type ExcitingUrlInfo struct { type ExcitingUrlInfo struct {
Unknown *int32 `protobuf:"varint,1,opt"` // not https? Unknown proto.Option[int32] `protobuf:"varint,1,opt"` // not https?
Host *string `protobuf:"bytes,2,opt"` Host proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *ExcitingUrlInfo) GetUnknown() int32 {
if x != nil && x.Unknown != nil {
return *x.Unknown
}
return 0
}
func (x *ExcitingUrlInfo) GetHost() string {
if x != nil && x.Host != nil {
return *x.Host
}
return ""
} }

View File

@ -3,55 +3,24 @@
package faceroam package faceroam
import (
proto "github.com/RomiChan/protobuf/proto"
)
type PlatInfo struct { type PlatInfo struct {
Implat *int64 `protobuf:"varint,1,opt"` Implat proto.Option[int64] `protobuf:"varint,1,opt"`
Osver *string `protobuf:"bytes,2,opt"` Osver proto.Option[string] `protobuf:"bytes,2,opt"`
Mqqver *string `protobuf:"bytes,3,opt"` Mqqver proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *PlatInfo) GetImplat() int64 {
if x != nil && x.Implat != nil {
return *x.Implat
}
return 0
}
func (x *PlatInfo) GetOsver() string {
if x != nil && x.Osver != nil {
return *x.Osver
}
return ""
}
func (x *PlatInfo) GetMqqver() string {
if x != nil && x.Mqqver != nil {
return *x.Mqqver
}
return ""
} }
type FaceroamReqBody struct { type FaceroamReqBody struct {
Comm *PlatInfo `protobuf:"bytes,1,opt"` Comm *PlatInfo `protobuf:"bytes,1,opt"`
Uin *uint64 `protobuf:"varint,2,opt"` Uin proto.Option[uint64] `protobuf:"varint,2,opt"`
SubCmd *uint32 `protobuf:"varint,3,opt"` SubCmd proto.Option[uint32] `protobuf:"varint,3,opt"`
ReqUserInfo *ReqUserInfo `protobuf:"bytes,4,opt"` ReqUserInfo *ReqUserInfo `protobuf:"bytes,4,opt"`
ReqDeleteItem *ReqDeleteItem `protobuf:"bytes,5,opt"` ReqDeleteItem *ReqDeleteItem `protobuf:"bytes,5,opt"`
} }
func (x *FaceroamReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *FaceroamReqBody) GetSubCmd() uint32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
type ReqDeleteItem struct { type ReqDeleteItem struct {
Filename []string `protobuf:"bytes,1,rep"` Filename []string `protobuf:"bytes,1,rep"`
} }
@ -60,34 +29,13 @@ type ReqUserInfo struct {
} }
type FaceroamRspBody struct { type FaceroamRspBody struct {
Ret *int64 `protobuf:"varint,1,opt"` Ret proto.Option[int64] `protobuf:"varint,1,opt"`
Errmsg *string `protobuf:"bytes,2,opt"` Errmsg proto.Option[string] `protobuf:"bytes,2,opt"`
SubCmd *uint32 `protobuf:"varint,3,opt"` SubCmd proto.Option[uint32] `protobuf:"varint,3,opt"`
RspUserInfo *RspUserInfo `protobuf:"bytes,4,opt"` RspUserInfo *RspUserInfo `protobuf:"bytes,4,opt"`
RspDeleteItem *RspDeleteItem `protobuf:"bytes,5,opt"` RspDeleteItem *RspDeleteItem `protobuf:"bytes,5,opt"`
} }
func (x *FaceroamRspBody) GetRet() int64 {
if x != nil && x.Ret != nil {
return *x.Ret
}
return 0
}
func (x *FaceroamRspBody) GetErrmsg() string {
if x != nil && x.Errmsg != nil {
return *x.Errmsg
}
return ""
}
func (x *FaceroamRspBody) GetSubCmd() uint32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
type RspDeleteItem struct { type RspDeleteItem struct {
Filename []string `protobuf:"bytes,1,rep"` Filename []string `protobuf:"bytes,1,rep"`
Ret []int64 `protobuf:"varint,2,rep"` Ret []int64 `protobuf:"varint,2,rep"`
@ -96,21 +44,7 @@ type RspDeleteItem struct {
type RspUserInfo struct { type RspUserInfo struct {
Filename []string `protobuf:"bytes,1,rep"` Filename []string `protobuf:"bytes,1,rep"`
DeleteFile []string `protobuf:"bytes,2,rep"` DeleteFile []string `protobuf:"bytes,2,rep"`
Bid *string `protobuf:"bytes,3,opt"` Bid proto.Option[string] `protobuf:"bytes,3,opt"`
MaxRoamSize *uint32 `protobuf:"varint,4,opt"` MaxRoamSize proto.Option[uint32] `protobuf:"varint,4,opt"`
EmojiType []uint32 `protobuf:"varint,5,rep"` EmojiType []uint32 `protobuf:"varint,5,rep"`
} }
func (x *RspUserInfo) GetBid() string {
if x != nil && x.Bid != nil {
return *x.Bid
}
return ""
}
func (x *RspUserInfo) GetMaxRoamSize() uint32 {
if x != nil && x.MaxRoamSize != nil {
return *x.MaxRoamSize
}
return 0
}

View File

@ -3,291 +3,99 @@
package highway package highway
import (
proto "github.com/RomiChan/protobuf/proto"
)
type CommFileExtReq struct { type CommFileExtReq struct {
ActionType *uint32 `protobuf:"varint,1,opt"` ActionType proto.Option[uint32] `protobuf:"varint,1,opt"`
Uuid []byte `protobuf:"bytes,2,opt"` Uuid []byte `protobuf:"bytes,2,opt"`
} }
func (x *CommFileExtReq) GetActionType() uint32 {
if x != nil && x.ActionType != nil {
return *x.ActionType
}
return 0
}
type CommFileExtRsp struct { type CommFileExtRsp struct {
Retcode *int32 `protobuf:"varint,1,opt"` Retcode proto.Option[int32] `protobuf:"varint,1,opt"`
DownloadUrl []byte `protobuf:"bytes,2,opt"` DownloadUrl []byte `protobuf:"bytes,2,opt"`
} }
func (x *CommFileExtRsp) GetRetcode() int32 {
if x != nil && x.Retcode != nil {
return *x.Retcode
}
return 0
}
type PicInfo struct { type PicInfo struct {
Idx *uint32 `protobuf:"varint,1,opt"` Idx proto.Option[uint32] `protobuf:"varint,1,opt"`
Size *uint32 `protobuf:"varint,2,opt"` Size proto.Option[uint32] `protobuf:"varint,2,opt"`
BinMd5 []byte `protobuf:"bytes,3,opt"` BinMd5 []byte `protobuf:"bytes,3,opt"`
Type *uint32 `protobuf:"varint,4,opt"` Type proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *PicInfo) GetIdx() uint32 {
if x != nil && x.Idx != nil {
return *x.Idx
}
return 0
}
func (x *PicInfo) GetSize() uint32 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *PicInfo) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
} }
type QQVoiceExtReq struct { type QQVoiceExtReq struct {
Qid []byte `protobuf:"bytes,1,opt"` Qid []byte `protobuf:"bytes,1,opt"`
Fmt *uint32 `protobuf:"varint,2,opt"` Fmt proto.Option[uint32] `protobuf:"varint,2,opt"`
Rate *uint32 `protobuf:"varint,3,opt"` Rate proto.Option[uint32] `protobuf:"varint,3,opt"`
Bits *uint32 `protobuf:"varint,4,opt"` Bits proto.Option[uint32] `protobuf:"varint,4,opt"`
Channel *uint32 `protobuf:"varint,5,opt"` Channel proto.Option[uint32] `protobuf:"varint,5,opt"`
Pinyin *uint32 `protobuf:"varint,6,opt"` Pinyin proto.Option[uint32] `protobuf:"varint,6,opt"`
}
func (x *QQVoiceExtReq) GetFmt() uint32 {
if x != nil && x.Fmt != nil {
return *x.Fmt
}
return 0
}
func (x *QQVoiceExtReq) GetRate() uint32 {
if x != nil && x.Rate != nil {
return *x.Rate
}
return 0
}
func (x *QQVoiceExtReq) GetBits() uint32 {
if x != nil && x.Bits != nil {
return *x.Bits
}
return 0
}
func (x *QQVoiceExtReq) GetChannel() uint32 {
if x != nil && x.Channel != nil {
return *x.Channel
}
return 0
}
func (x *QQVoiceExtReq) GetPinyin() uint32 {
if x != nil && x.Pinyin != nil {
return *x.Pinyin
}
return 0
} }
type QQVoiceExtRsp struct { type QQVoiceExtRsp struct {
Qid []byte `protobuf:"bytes,1,opt"` Qid []byte `protobuf:"bytes,1,opt"`
Retcode *int32 `protobuf:"varint,2,opt"` Retcode proto.Option[int32] `protobuf:"varint,2,opt"`
Result []*QQVoiceResult `protobuf:"bytes,3,rep"` Result []*QQVoiceResult `protobuf:"bytes,3,rep"`
} }
func (x *QQVoiceExtRsp) GetRetcode() int32 {
if x != nil && x.Retcode != nil {
return *x.Retcode
}
return 0
}
type QQVoiceResult struct { type QQVoiceResult struct {
Text []byte `protobuf:"bytes,1,opt"` Text []byte `protobuf:"bytes,1,opt"`
Pinyin []byte `protobuf:"bytes,2,opt"` Pinyin []byte `protobuf:"bytes,2,opt"`
Source *uint32 `protobuf:"varint,3,opt"` Source proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *QQVoiceResult) GetSource() uint32 {
if x != nil && x.Source != nil {
return *x.Source
}
return 0
} }
type ShortVideoReqExtInfo struct { type ShortVideoReqExtInfo struct {
Cmd *uint32 `protobuf:"varint,1,opt"` Cmd proto.Option[uint32] `protobuf:"varint,1,opt"`
SessionId *uint64 `protobuf:"varint,2,opt"` SessionId proto.Option[uint64] `protobuf:"varint,2,opt"`
Thumbinfo *PicInfo `protobuf:"bytes,3,opt"` Thumbinfo *PicInfo `protobuf:"bytes,3,opt"`
Videoinfo *VideoInfo `protobuf:"bytes,4,opt"` Videoinfo *VideoInfo `protobuf:"bytes,4,opt"`
ShortvideoSureReq *ShortVideoSureReqInfo `protobuf:"bytes,5,opt"` ShortvideoSureReq *ShortVideoSureReqInfo `protobuf:"bytes,5,opt"`
IsMergeCmdBeforeData *bool `protobuf:"varint,6,opt"` IsMergeCmdBeforeData proto.Option[bool] `protobuf:"varint,6,opt"`
}
func (x *ShortVideoReqExtInfo) GetCmd() uint32 {
if x != nil && x.Cmd != nil {
return *x.Cmd
}
return 0
}
func (x *ShortVideoReqExtInfo) GetSessionId() uint64 {
if x != nil && x.SessionId != nil {
return *x.SessionId
}
return 0
}
func (x *ShortVideoReqExtInfo) GetIsMergeCmdBeforeData() bool {
if x != nil && x.IsMergeCmdBeforeData != nil {
return *x.IsMergeCmdBeforeData
}
return false
} }
type ShortVideoRspExtInfo struct { type ShortVideoRspExtInfo struct {
Cmd *uint32 `protobuf:"varint,1,opt"` Cmd proto.Option[uint32] `protobuf:"varint,1,opt"`
SessionId *uint64 `protobuf:"varint,2,opt"` SessionId proto.Option[uint64] `protobuf:"varint,2,opt"`
Retcode *int32 `protobuf:"varint,3,opt"` Retcode proto.Option[int32] `protobuf:"varint,3,opt"`
Errinfo []byte `protobuf:"bytes,4,opt"` Errinfo []byte `protobuf:"bytes,4,opt"`
Thumbinfo *PicInfo `protobuf:"bytes,5,opt"` Thumbinfo *PicInfo `protobuf:"bytes,5,opt"`
Videoinfo *VideoInfo `protobuf:"bytes,6,opt"` Videoinfo *VideoInfo `protobuf:"bytes,6,opt"`
ShortvideoSureRsp *ShortVideoSureRspInfo `protobuf:"bytes,7,opt"` ShortvideoSureRsp *ShortVideoSureRspInfo `protobuf:"bytes,7,opt"`
RetryFlag *uint32 `protobuf:"varint,8,opt"` RetryFlag proto.Option[uint32] `protobuf:"varint,8,opt"`
}
func (x *ShortVideoRspExtInfo) GetCmd() uint32 {
if x != nil && x.Cmd != nil {
return *x.Cmd
}
return 0
}
func (x *ShortVideoRspExtInfo) GetSessionId() uint64 {
if x != nil && x.SessionId != nil {
return *x.SessionId
}
return 0
}
func (x *ShortVideoRspExtInfo) GetRetcode() int32 {
if x != nil && x.Retcode != nil {
return *x.Retcode
}
return 0
}
func (x *ShortVideoRspExtInfo) GetRetryFlag() uint32 {
if x != nil && x.RetryFlag != nil {
return *x.RetryFlag
}
return 0
} }
type ShortVideoSureReqInfo struct { type ShortVideoSureReqInfo struct {
Fromuin *uint64 `protobuf:"varint,1,opt"` Fromuin proto.Option[uint64] `protobuf:"varint,1,opt"`
ChatType *uint32 `protobuf:"varint,2,opt"` ChatType proto.Option[uint32] `protobuf:"varint,2,opt"`
Touin *uint64 `protobuf:"varint,3,opt"` Touin proto.Option[uint64] `protobuf:"varint,3,opt"`
GroupCode *uint64 `protobuf:"varint,4,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,4,opt"`
ClientType *uint32 `protobuf:"varint,5,opt"` ClientType proto.Option[uint32] `protobuf:"varint,5,opt"`
Thumbinfo *PicInfo `protobuf:"bytes,6,opt"` Thumbinfo *PicInfo `protobuf:"bytes,6,opt"`
MergeVideoinfo []*VideoInfo `protobuf:"bytes,7,rep"` MergeVideoinfo []*VideoInfo `protobuf:"bytes,7,rep"`
DropVideoinfo []*VideoInfo `protobuf:"bytes,8,rep"` DropVideoinfo []*VideoInfo `protobuf:"bytes,8,rep"`
BusinessType *uint32 `protobuf:"varint,9,opt"` BusinessType proto.Option[uint32] `protobuf:"varint,9,opt"`
SubBusinessType *uint32 `protobuf:"varint,10,opt"` SubBusinessType proto.Option[uint32] `protobuf:"varint,10,opt"`
}
func (x *ShortVideoSureReqInfo) GetFromuin() uint64 {
if x != nil && x.Fromuin != nil {
return *x.Fromuin
}
return 0
}
func (x *ShortVideoSureReqInfo) GetChatType() uint32 {
if x != nil && x.ChatType != nil {
return *x.ChatType
}
return 0
}
func (x *ShortVideoSureReqInfo) GetTouin() uint64 {
if x != nil && x.Touin != nil {
return *x.Touin
}
return 0
}
func (x *ShortVideoSureReqInfo) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *ShortVideoSureReqInfo) GetClientType() uint32 {
if x != nil && x.ClientType != nil {
return *x.ClientType
}
return 0
}
func (x *ShortVideoSureReqInfo) GetBusinessType() uint32 {
if x != nil && x.BusinessType != nil {
return *x.BusinessType
}
return 0
}
func (x *ShortVideoSureReqInfo) GetSubBusinessType() uint32 {
if x != nil && x.SubBusinessType != nil {
return *x.SubBusinessType
}
return 0
} }
type ShortVideoSureRspInfo struct { type ShortVideoSureRspInfo struct {
Fileid []byte `protobuf:"bytes,1,opt"` Fileid []byte `protobuf:"bytes,1,opt"`
Ukey []byte `protobuf:"bytes,2,opt"` Ukey []byte `protobuf:"bytes,2,opt"`
Videoinfo *VideoInfo `protobuf:"bytes,3,opt"` Videoinfo *VideoInfo `protobuf:"bytes,3,opt"`
MergeCost *uint32 `protobuf:"varint,4,opt"` MergeCost proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *ShortVideoSureRspInfo) GetMergeCost() uint32 {
if x != nil && x.MergeCost != nil {
return *x.MergeCost
}
return 0
} }
type StoryVideoExtReq struct { type StoryVideoExtReq struct {
} }
type StoryVideoExtRsp struct { type StoryVideoExtRsp struct {
Retcode *int32 `protobuf:"varint,1,opt"` Retcode proto.Option[int32] `protobuf:"varint,1,opt"`
Msg []byte `protobuf:"bytes,2,opt"` Msg []byte `protobuf:"bytes,2,opt"`
CdnUrl []byte `protobuf:"bytes,3,opt"` CdnUrl []byte `protobuf:"bytes,3,opt"`
FileKey []byte `protobuf:"bytes,4,opt"` FileKey []byte `protobuf:"bytes,4,opt"`
FileId []byte `protobuf:"bytes,5,opt"` FileId []byte `protobuf:"bytes,5,opt"`
} }
func (x *StoryVideoExtRsp) GetRetcode() int32 {
if x != nil && x.Retcode != nil {
return *x.Retcode
}
return 0
}
type UploadPicExtInfo struct { type UploadPicExtInfo struct {
FileResid []byte `protobuf:"bytes,1,opt"` FileResid []byte `protobuf:"bytes,1,opt"`
DownloadUrl []byte `protobuf:"bytes,2,opt"` DownloadUrl []byte `protobuf:"bytes,2,opt"`
@ -295,69 +103,13 @@ type UploadPicExtInfo struct {
} }
type VideoInfo struct { type VideoInfo struct {
Idx *uint32 `protobuf:"varint,1,opt"` Idx proto.Option[uint32] `protobuf:"varint,1,opt"`
Size *uint32 `protobuf:"varint,2,opt"` Size proto.Option[uint32] `protobuf:"varint,2,opt"`
BinMd5 []byte `protobuf:"bytes,3,opt"` BinMd5 []byte `protobuf:"bytes,3,opt"`
Format *uint32 `protobuf:"varint,4,opt"` Format proto.Option[uint32] `protobuf:"varint,4,opt"`
ResLen *uint32 `protobuf:"varint,5,opt"` ResLen proto.Option[uint32] `protobuf:"varint,5,opt"`
ResWidth *uint32 `protobuf:"varint,6,opt"` ResWidth proto.Option[uint32] `protobuf:"varint,6,opt"`
Time *uint32 `protobuf:"varint,7,opt"` Time proto.Option[uint32] `protobuf:"varint,7,opt"`
Starttime *uint64 `protobuf:"varint,8,opt"` Starttime proto.Option[uint64] `protobuf:"varint,8,opt"`
IsAudio *uint32 `protobuf:"varint,9,opt"` IsAudio proto.Option[uint32] `protobuf:"varint,9,opt"`
}
func (x *VideoInfo) GetIdx() uint32 {
if x != nil && x.Idx != nil {
return *x.Idx
}
return 0
}
func (x *VideoInfo) GetSize() uint32 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *VideoInfo) GetFormat() uint32 {
if x != nil && x.Format != nil {
return *x.Format
}
return 0
}
func (x *VideoInfo) GetResLen() uint32 {
if x != nil && x.ResLen != nil {
return *x.ResLen
}
return 0
}
func (x *VideoInfo) GetResWidth() uint32 {
if x != nil && x.ResWidth != nil {
return *x.ResWidth
}
return 0
}
func (x *VideoInfo) GetTime() uint32 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *VideoInfo) GetStarttime() uint64 {
if x != nil && x.Starttime != nil {
return *x.Starttime
}
return 0
}
func (x *VideoInfo) GetIsAudio() uint32 {
if x != nil && x.IsAudio != nil {
return *x.IsAudio
}
return 0
} }

View File

@ -3,189 +3,46 @@
package msf package msf
import (
proto "github.com/RomiChan/protobuf/proto"
)
type DiscussList struct { type DiscussList struct {
DiscussCode *uint64 `protobuf:"varint,1,opt"` DiscussCode proto.Option[uint64] `protobuf:"varint,1,opt"`
DiscussSeq *uint64 `protobuf:"varint,2,opt"` DiscussSeq proto.Option[uint64] `protobuf:"varint,2,opt"`
MemberSeq *uint64 `protobuf:"varint,3,opt"` MemberSeq proto.Option[uint64] `protobuf:"varint,3,opt"`
InfoSeq *uint64 `protobuf:"varint,4,opt"` InfoSeq proto.Option[uint64] `protobuf:"varint,4,opt"`
BHotGroup *bool `protobuf:"varint,5,opt"` BHotGroup proto.Option[bool] `protobuf:"varint,5,opt"`
RedpackTime *uint64 `protobuf:"varint,6,opt"` RedpackTime proto.Option[uint64] `protobuf:"varint,6,opt"`
HasMsg *bool `protobuf:"varint,7,opt"` HasMsg proto.Option[bool] `protobuf:"varint,7,opt"`
DicussFlag *int64 `protobuf:"varint,8,opt"` DicussFlag proto.Option[int64] `protobuf:"varint,8,opt"`
}
func (x *DiscussList) GetDiscussCode() uint64 {
if x != nil && x.DiscussCode != nil {
return *x.DiscussCode
}
return 0
}
func (x *DiscussList) GetDiscussSeq() uint64 {
if x != nil && x.DiscussSeq != nil {
return *x.DiscussSeq
}
return 0
}
func (x *DiscussList) GetMemberSeq() uint64 {
if x != nil && x.MemberSeq != nil {
return *x.MemberSeq
}
return 0
}
func (x *DiscussList) GetInfoSeq() uint64 {
if x != nil && x.InfoSeq != nil {
return *x.InfoSeq
}
return 0
}
func (x *DiscussList) GetBHotGroup() bool {
if x != nil && x.BHotGroup != nil {
return *x.BHotGroup
}
return false
}
func (x *DiscussList) GetRedpackTime() uint64 {
if x != nil && x.RedpackTime != nil {
return *x.RedpackTime
}
return 0
}
func (x *DiscussList) GetHasMsg() bool {
if x != nil && x.HasMsg != nil {
return *x.HasMsg
}
return false
}
func (x *DiscussList) GetDicussFlag() int64 {
if x != nil && x.DicussFlag != nil {
return *x.DicussFlag
}
return 0
} }
type GroupList struct { type GroupList struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
GroupSeq *uint64 `protobuf:"varint,2,opt"` GroupSeq proto.Option[uint64] `protobuf:"varint,2,opt"`
MemberSeq *uint64 `protobuf:"varint,3,opt"` MemberSeq proto.Option[uint64] `protobuf:"varint,3,opt"`
Mask *uint64 `protobuf:"varint,4,opt"` Mask proto.Option[uint64] `protobuf:"varint,4,opt"`
RedpackTime *uint64 `protobuf:"varint,5,opt"` RedpackTime proto.Option[uint64] `protobuf:"varint,5,opt"`
HasMsg *bool `protobuf:"varint,6,opt"` HasMsg proto.Option[bool] `protobuf:"varint,6,opt"`
GroupFlag *int64 `protobuf:"varint,7,opt"` GroupFlag proto.Option[int64] `protobuf:"varint,7,opt"`
GroupType *uint64 `protobuf:"varint,8,opt"` GroupType proto.Option[uint64] `protobuf:"varint,8,opt"`
GroupNameSeq *uint32 `protobuf:"varint,9,opt"` GroupNameSeq proto.Option[uint32] `protobuf:"varint,9,opt"`
GroupMemberSeq *uint32 `protobuf:"varint,10,opt"` GroupMemberSeq proto.Option[uint32] `protobuf:"varint,10,opt"`
UinFlagEx2 *uint32 `protobuf:"varint,11,opt"` UinFlagEx2 proto.Option[uint32] `protobuf:"varint,11,opt"`
ImportantMsgLatestSeq *uint32 `protobuf:"varint,12,opt"` ImportantMsgLatestSeq proto.Option[uint32] `protobuf:"varint,12,opt"`
}
func (x *GroupList) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GroupList) GetGroupSeq() uint64 {
if x != nil && x.GroupSeq != nil {
return *x.GroupSeq
}
return 0
}
func (x *GroupList) GetMemberSeq() uint64 {
if x != nil && x.MemberSeq != nil {
return *x.MemberSeq
}
return 0
}
func (x *GroupList) GetMask() uint64 {
if x != nil && x.Mask != nil {
return *x.Mask
}
return 0
}
func (x *GroupList) GetRedpackTime() uint64 {
if x != nil && x.RedpackTime != nil {
return *x.RedpackTime
}
return 0
}
func (x *GroupList) GetHasMsg() bool {
if x != nil && x.HasMsg != nil {
return *x.HasMsg
}
return false
}
func (x *GroupList) GetGroupFlag() int64 {
if x != nil && x.GroupFlag != nil {
return *x.GroupFlag
}
return 0
}
func (x *GroupList) GetGroupType() uint64 {
if x != nil && x.GroupType != nil {
return *x.GroupType
}
return 0
}
func (x *GroupList) GetGroupNameSeq() uint32 {
if x != nil && x.GroupNameSeq != nil {
return *x.GroupNameSeq
}
return 0
}
func (x *GroupList) GetGroupMemberSeq() uint32 {
if x != nil && x.GroupMemberSeq != nil {
return *x.GroupMemberSeq
}
return 0
}
func (x *GroupList) GetUinFlagEx2() uint32 {
if x != nil && x.UinFlagEx2 != nil {
return *x.UinFlagEx2
}
return 0
}
func (x *GroupList) GetImportantMsgLatestSeq() uint32 {
if x != nil && x.ImportantMsgLatestSeq != nil {
return *x.ImportantMsgLatestSeq
}
return 0
} }
type SvcPbResponsePullDisMsgProxy struct { type SvcPbResponsePullDisMsgProxy struct {
MemberSeq *uint64 `protobuf:"varint,1,opt"` MemberSeq proto.Option[uint64] `protobuf:"varint,1,opt"`
Content []byte `protobuf:"bytes,2,opt"` Content []byte `protobuf:"bytes,2,opt"`
} }
func (x *SvcPbResponsePullDisMsgProxy) GetMemberSeq() uint64 {
if x != nil && x.MemberSeq != nil {
return *x.MemberSeq
}
return 0
}
type SvcRegisterProxyMsgResp struct { type SvcRegisterProxyMsgResp struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
ErrMsg []byte `protobuf:"bytes,2,opt"` ErrMsg []byte `protobuf:"bytes,2,opt"`
Flag *uint32 `protobuf:"varint,3,opt"` Flag proto.Option[uint32] `protobuf:"varint,3,opt"`
Seq *uint32 `protobuf:"varint,4,opt"` Seq proto.Option[uint32] `protobuf:"varint,4,opt"`
Info *SvcResponseMsgInfo `protobuf:"bytes,5,opt"` Info *SvcResponseMsgInfo `protobuf:"bytes,5,opt"`
GroupList []*GroupList `protobuf:"bytes,6,rep"` GroupList []*GroupList `protobuf:"bytes,6,rep"`
DiscussList []*DiscussList `protobuf:"bytes,7,rep"` DiscussList []*DiscussList `protobuf:"bytes,7,rep"`
@ -193,64 +50,15 @@ type SvcRegisterProxyMsgResp struct {
DiscussMsg []*SvcPbResponsePullDisMsgProxy `protobuf:"bytes,9,rep"` DiscussMsg []*SvcPbResponsePullDisMsgProxy `protobuf:"bytes,9,rep"`
C2CMsg []byte `protobuf:"bytes,10,opt"` C2CMsg []byte `protobuf:"bytes,10,opt"`
PubAccountMsg []byte `protobuf:"bytes,11,opt"` PubAccountMsg []byte `protobuf:"bytes,11,opt"`
DiscussListFlag *uint32 `protobuf:"varint,12,opt"` DiscussListFlag proto.Option[uint32] `protobuf:"varint,12,opt"`
}
func (x *SvcRegisterProxyMsgResp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *SvcRegisterProxyMsgResp) GetFlag() uint32 {
if x != nil && x.Flag != nil {
return *x.Flag
}
return 0
}
func (x *SvcRegisterProxyMsgResp) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *SvcRegisterProxyMsgResp) GetDiscussListFlag() uint32 {
if x != nil && x.DiscussListFlag != nil {
return *x.DiscussListFlag
}
return 0
} }
type SvcResponseMsgInfo struct { type SvcResponseMsgInfo struct {
GroupNum *uint32 `protobuf:"varint,1,opt"` GroupNum proto.Option[uint32] `protobuf:"varint,1,opt"`
DiscussNum *uint32 `protobuf:"varint,2,opt"` DiscussNum proto.Option[uint32] `protobuf:"varint,2,opt"`
}
func (x *SvcResponseMsgInfo) GetGroupNum() uint32 {
if x != nil && x.GroupNum != nil {
return *x.GroupNum
}
return 0
}
func (x *SvcResponseMsgInfo) GetDiscussNum() uint32 {
if x != nil && x.DiscussNum != nil {
return *x.DiscussNum
}
return 0
} }
type SvcResponsePbPullGroupMsgProxy struct { type SvcResponsePbPullGroupMsgProxy struct {
MemberSeq *uint64 `protobuf:"varint,1,opt"` MemberSeq proto.Option[uint64] `protobuf:"varint,1,opt"`
Content []byte `protobuf:"bytes,2,opt"` Content []byte `protobuf:"bytes,2,opt"`
} }
func (x *SvcResponsePbPullGroupMsgProxy) GetMemberSeq() uint64 {
if x != nil && x.MemberSeq != nil {
return *x.MemberSeq
}
return 0
}

View File

@ -3,80 +3,28 @@
package msg package msg
import (
proto "github.com/RomiChan/protobuf/proto"
)
type ExtChannelInfo struct { type ExtChannelInfo struct {
GuildId *uint64 `protobuf:"varint,1,opt"` GuildId proto.Option[uint64] `protobuf:"varint,1,opt"`
ChannelId *uint64 `protobuf:"varint,2,opt"` ChannelId proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *ExtChannelInfo) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *ExtChannelInfo) GetChannelId() uint64 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
} }
type TextResvAttr struct { type TextResvAttr struct {
Wording []byte `protobuf:"bytes,1,opt"` Wording []byte `protobuf:"bytes,1,opt"`
TextAnalysisResult *uint32 `protobuf:"varint,2,opt"` TextAnalysisResult proto.Option[uint32] `protobuf:"varint,2,opt"`
AtType *uint32 `protobuf:"varint,3,opt"` AtType proto.Option[uint32] `protobuf:"varint,3,opt"`
AtMemberUin *uint64 `protobuf:"varint,4,opt"` AtMemberUin proto.Option[uint64] `protobuf:"varint,4,opt"`
AtMemberTinyid *uint64 `protobuf:"varint,5,opt"` AtMemberTinyid proto.Option[uint64] `protobuf:"varint,5,opt"`
AtMemberRoleInfo *ExtRoleInfo `protobuf:"bytes,6,opt"` AtMemberRoleInfo *ExtRoleInfo `protobuf:"bytes,6,opt"`
AtRoleInfo *ExtRoleInfo `protobuf:"bytes,7,opt"` AtRoleInfo *ExtRoleInfo `protobuf:"bytes,7,opt"`
AtChannelInfo *ExtChannelInfo `protobuf:"bytes,8,opt"` AtChannelInfo *ExtChannelInfo `protobuf:"bytes,8,opt"`
} }
func (x *TextResvAttr) GetTextAnalysisResult() uint32 {
if x != nil && x.TextAnalysisResult != nil {
return *x.TextAnalysisResult
}
return 0
}
func (x *TextResvAttr) GetAtType() uint32 {
if x != nil && x.AtType != nil {
return *x.AtType
}
return 0
}
func (x *TextResvAttr) GetAtMemberUin() uint64 {
if x != nil && x.AtMemberUin != nil {
return *x.AtMemberUin
}
return 0
}
func (x *TextResvAttr) GetAtMemberTinyid() uint64 {
if x != nil && x.AtMemberTinyid != nil {
return *x.AtMemberTinyid
}
return 0
}
type ExtRoleInfo struct { type ExtRoleInfo struct {
Id *uint64 `protobuf:"varint,1,opt"` Id proto.Option[uint64] `protobuf:"varint,1,opt"`
Info []byte `protobuf:"bytes,2,opt"` Info []byte `protobuf:"bytes,2,opt"`
Flag *uint32 `protobuf:"varint,3,opt"` Flag proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *ExtRoleInfo) GetId() uint64 {
if x != nil && x.Id != nil {
return *x.Id
}
return 0
}
func (x *ExtRoleInfo) GetFlag() uint32 {
if x != nil && x.Flag != nil {
return *x.Flag
}
return 0
} }

View File

@ -3,668 +3,126 @@
package msg package msg
import (
proto "github.com/RomiChan/protobuf/proto"
)
type C2CHead struct { type C2CHead struct {
ToUin *uint64 `protobuf:"varint,1,opt"` ToUin proto.Option[uint64] `protobuf:"varint,1,opt"`
FromUin *uint64 `protobuf:"varint,2,opt"` FromUin proto.Option[uint64] `protobuf:"varint,2,opt"`
CcType *uint32 `protobuf:"varint,3,opt"` CcType proto.Option[uint32] `protobuf:"varint,3,opt"`
CcCmd *uint32 `protobuf:"varint,4,opt"` CcCmd proto.Option[uint32] `protobuf:"varint,4,opt"`
AuthPicSig []byte `protobuf:"bytes,5,opt"` AuthPicSig []byte `protobuf:"bytes,5,opt"`
AuthSig []byte `protobuf:"bytes,6,opt"` AuthSig []byte `protobuf:"bytes,6,opt"`
AuthBuf []byte `protobuf:"bytes,7,opt"` AuthBuf []byte `protobuf:"bytes,7,opt"`
ServerTime *uint32 `protobuf:"varint,8,opt"` ServerTime proto.Option[uint32] `protobuf:"varint,8,opt"`
ClientTime *uint32 `protobuf:"varint,9,opt"` ClientTime proto.Option[uint32] `protobuf:"varint,9,opt"`
Rand *uint32 `protobuf:"varint,10,opt"` Rand proto.Option[uint32] `protobuf:"varint,10,opt"`
PhoneNumber *string `protobuf:"bytes,11,opt"` PhoneNumber proto.Option[string] `protobuf:"bytes,11,opt"`
}
func (x *C2CHead) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *C2CHead) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *C2CHead) GetCcType() uint32 {
if x != nil && x.CcType != nil {
return *x.CcType
}
return 0
}
func (x *C2CHead) GetCcCmd() uint32 {
if x != nil && x.CcCmd != nil {
return *x.CcCmd
}
return 0
}
func (x *C2CHead) GetServerTime() uint32 {
if x != nil && x.ServerTime != nil {
return *x.ServerTime
}
return 0
}
func (x *C2CHead) GetClientTime() uint32 {
if x != nil && x.ClientTime != nil {
return *x.ClientTime
}
return 0
}
func (x *C2CHead) GetRand() uint32 {
if x != nil && x.Rand != nil {
return *x.Rand
}
return 0
}
func (x *C2CHead) GetPhoneNumber() string {
if x != nil && x.PhoneNumber != nil {
return *x.PhoneNumber
}
return ""
} }
type CSHead struct { type CSHead struct {
Uin *uint64 `protobuf:"varint,1,opt"` Uin proto.Option[uint64] `protobuf:"varint,1,opt"`
Command *uint32 `protobuf:"varint,2,opt"` Command proto.Option[uint32] `protobuf:"varint,2,opt"`
Seq *uint32 `protobuf:"varint,3,opt"` Seq proto.Option[uint32] `protobuf:"varint,3,opt"`
Version *uint32 `protobuf:"varint,4,opt"` Version proto.Option[uint32] `protobuf:"varint,4,opt"`
RetryTimes *uint32 `protobuf:"varint,5,opt"` RetryTimes proto.Option[uint32] `protobuf:"varint,5,opt"`
ClientType *uint32 `protobuf:"varint,6,opt"` ClientType proto.Option[uint32] `protobuf:"varint,6,opt"`
Pubno *uint32 `protobuf:"varint,7,opt"` Pubno proto.Option[uint32] `protobuf:"varint,7,opt"`
Localid *uint32 `protobuf:"varint,8,opt"` Localid proto.Option[uint32] `protobuf:"varint,8,opt"`
Timezone *uint32 `protobuf:"varint,9,opt"` Timezone proto.Option[uint32] `protobuf:"varint,9,opt"`
ClientIp *uint32 `protobuf:"fixed32,10,opt"` ClientIp proto.Option[uint32] `protobuf:"fixed32,10,opt"`
ClientPort *uint32 `protobuf:"varint,11,opt"` ClientPort proto.Option[uint32] `protobuf:"varint,11,opt"`
ConnIp *uint32 `protobuf:"fixed32,12,opt"` ConnIp proto.Option[uint32] `protobuf:"fixed32,12,opt"`
ConnPort *uint32 `protobuf:"varint,13,opt"` ConnPort proto.Option[uint32] `protobuf:"varint,13,opt"`
InterfaceIp *uint32 `protobuf:"fixed32,14,opt"` InterfaceIp proto.Option[uint32] `protobuf:"fixed32,14,opt"`
InterfacePort *uint32 `protobuf:"varint,15,opt"` InterfacePort proto.Option[uint32] `protobuf:"varint,15,opt"`
ActualIp *uint32 `protobuf:"fixed32,16,opt"` ActualIp proto.Option[uint32] `protobuf:"fixed32,16,opt"`
Flag *uint32 `protobuf:"varint,17,opt"` Flag proto.Option[uint32] `protobuf:"varint,17,opt"`
Timestamp *uint32 `protobuf:"fixed32,18,opt"` Timestamp proto.Option[uint32] `protobuf:"fixed32,18,opt"`
Subcmd *uint32 `protobuf:"varint,19,opt"` Subcmd proto.Option[uint32] `protobuf:"varint,19,opt"`
Result *uint32 `protobuf:"varint,20,opt"` Result proto.Option[uint32] `protobuf:"varint,20,opt"`
AppId *uint32 `protobuf:"varint,21,opt"` AppId proto.Option[uint32] `protobuf:"varint,21,opt"`
InstanceId *uint32 `protobuf:"varint,22,opt"` InstanceId proto.Option[uint32] `protobuf:"varint,22,opt"`
SessionId *uint64 `protobuf:"varint,23,opt"` SessionId proto.Option[uint64] `protobuf:"varint,23,opt"`
IdcId *uint32 `protobuf:"varint,24,opt"` IdcId proto.Option[uint32] `protobuf:"varint,24,opt"`
}
func (x *CSHead) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *CSHead) GetCommand() uint32 {
if x != nil && x.Command != nil {
return *x.Command
}
return 0
}
func (x *CSHead) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *CSHead) GetVersion() uint32 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
}
func (x *CSHead) GetRetryTimes() uint32 {
if x != nil && x.RetryTimes != nil {
return *x.RetryTimes
}
return 0
}
func (x *CSHead) GetClientType() uint32 {
if x != nil && x.ClientType != nil {
return *x.ClientType
}
return 0
}
func (x *CSHead) GetPubno() uint32 {
if x != nil && x.Pubno != nil {
return *x.Pubno
}
return 0
}
func (x *CSHead) GetLocalid() uint32 {
if x != nil && x.Localid != nil {
return *x.Localid
}
return 0
}
func (x *CSHead) GetTimezone() uint32 {
if x != nil && x.Timezone != nil {
return *x.Timezone
}
return 0
}
func (x *CSHead) GetClientIp() uint32 {
if x != nil && x.ClientIp != nil {
return *x.ClientIp
}
return 0
}
func (x *CSHead) GetClientPort() uint32 {
if x != nil && x.ClientPort != nil {
return *x.ClientPort
}
return 0
}
func (x *CSHead) GetConnIp() uint32 {
if x != nil && x.ConnIp != nil {
return *x.ConnIp
}
return 0
}
func (x *CSHead) GetConnPort() uint32 {
if x != nil && x.ConnPort != nil {
return *x.ConnPort
}
return 0
}
func (x *CSHead) GetInterfaceIp() uint32 {
if x != nil && x.InterfaceIp != nil {
return *x.InterfaceIp
}
return 0
}
func (x *CSHead) GetInterfacePort() uint32 {
if x != nil && x.InterfacePort != nil {
return *x.InterfacePort
}
return 0
}
func (x *CSHead) GetActualIp() uint32 {
if x != nil && x.ActualIp != nil {
return *x.ActualIp
}
return 0
}
func (x *CSHead) GetFlag() uint32 {
if x != nil && x.Flag != nil {
return *x.Flag
}
return 0
}
func (x *CSHead) GetTimestamp() uint32 {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return 0
}
func (x *CSHead) GetSubcmd() uint32 {
if x != nil && x.Subcmd != nil {
return *x.Subcmd
}
return 0
}
func (x *CSHead) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *CSHead) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *CSHead) GetInstanceId() uint32 {
if x != nil && x.InstanceId != nil {
return *x.InstanceId
}
return 0
}
func (x *CSHead) GetSessionId() uint64 {
if x != nil && x.SessionId != nil {
return *x.SessionId
}
return 0
}
func (x *CSHead) GetIdcId() uint32 {
if x != nil && x.IdcId != nil {
return *x.IdcId
}
return 0
} }
type DeltaHead struct { type DeltaHead struct {
TotalLen *uint64 `protobuf:"varint,1,opt"` TotalLen proto.Option[uint64] `protobuf:"varint,1,opt"`
Offset *uint64 `protobuf:"varint,2,opt"` Offset proto.Option[uint64] `protobuf:"varint,2,opt"`
AckOffset *uint64 `protobuf:"varint,3,opt"` AckOffset proto.Option[uint64] `protobuf:"varint,3,opt"`
Cookie []byte `protobuf:"bytes,4,opt"` Cookie []byte `protobuf:"bytes,4,opt"`
AckCookie []byte `protobuf:"bytes,5,opt"` AckCookie []byte `protobuf:"bytes,5,opt"`
Result *uint32 `protobuf:"varint,6,opt"` Result proto.Option[uint32] `protobuf:"varint,6,opt"`
Flags *uint32 `protobuf:"varint,7,opt"` Flags proto.Option[uint32] `protobuf:"varint,7,opt"`
}
func (x *DeltaHead) GetTotalLen() uint64 {
if x != nil && x.TotalLen != nil {
return *x.TotalLen
}
return 0
}
func (x *DeltaHead) GetOffset() uint64 {
if x != nil && x.Offset != nil {
return *x.Offset
}
return 0
}
func (x *DeltaHead) GetAckOffset() uint64 {
if x != nil && x.AckOffset != nil {
return *x.AckOffset
}
return 0
}
func (x *DeltaHead) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *DeltaHead) GetFlags() uint32 {
if x != nil && x.Flags != nil {
return *x.Flags
}
return 0
} }
type IMHead struct { type IMHead struct {
HeadType *uint32 `protobuf:"varint,1,opt"` HeadType proto.Option[uint32] `protobuf:"varint,1,opt"`
CsHead *CSHead `protobuf:"bytes,2,opt"` CsHead *CSHead `protobuf:"bytes,2,opt"`
S2CHead *S2CHead `protobuf:"bytes,3,opt"` S2CHead *S2CHead `protobuf:"bytes,3,opt"`
HttpconnHead *HttpConnHead `protobuf:"bytes,4,opt"` HttpconnHead *HttpConnHead `protobuf:"bytes,4,opt"`
PaintFlag *uint32 `protobuf:"varint,5,opt"` PaintFlag proto.Option[uint32] `protobuf:"varint,5,opt"`
LoginSig *LoginSig `protobuf:"bytes,6,opt"` LoginSig *LoginSig `protobuf:"bytes,6,opt"`
DeltaHead *DeltaHead `protobuf:"bytes,7,opt"` DeltaHead *DeltaHead `protobuf:"bytes,7,opt"`
C2CHead *C2CHead `protobuf:"bytes,8,opt"` C2CHead *C2CHead `protobuf:"bytes,8,opt"`
} }
func (x *IMHead) GetHeadType() uint32 {
if x != nil && x.HeadType != nil {
return *x.HeadType
}
return 0
}
func (x *IMHead) GetPaintFlag() uint32 {
if x != nil && x.PaintFlag != nil {
return *x.PaintFlag
}
return 0
}
type HttpConnHead struct { type HttpConnHead struct {
Uin *uint64 `protobuf:"varint,1,opt"` Uin proto.Option[uint64] `protobuf:"varint,1,opt"`
Command *uint32 `protobuf:"varint,2,opt"` Command proto.Option[uint32] `protobuf:"varint,2,opt"`
SubCommand *uint32 `protobuf:"varint,3,opt"` SubCommand proto.Option[uint32] `protobuf:"varint,3,opt"`
Seq *uint32 `protobuf:"varint,4,opt"` Seq proto.Option[uint32] `protobuf:"varint,4,opt"`
Version *uint32 `protobuf:"varint,5,opt"` Version proto.Option[uint32] `protobuf:"varint,5,opt"`
RetryTimes *uint32 `protobuf:"varint,6,opt"` RetryTimes proto.Option[uint32] `protobuf:"varint,6,opt"`
ClientType *uint32 `protobuf:"varint,7,opt"` ClientType proto.Option[uint32] `protobuf:"varint,7,opt"`
PubNo *uint32 `protobuf:"varint,8,opt"` PubNo proto.Option[uint32] `protobuf:"varint,8,opt"`
LocalId *uint32 `protobuf:"varint,9,opt"` LocalId proto.Option[uint32] `protobuf:"varint,9,opt"`
TimeZone *uint32 `protobuf:"varint,10,opt"` TimeZone proto.Option[uint32] `protobuf:"varint,10,opt"`
ClientIp *uint32 `protobuf:"fixed32,11,opt"` ClientIp proto.Option[uint32] `protobuf:"fixed32,11,opt"`
ClientPort *uint32 `protobuf:"varint,12,opt"` ClientPort proto.Option[uint32] `protobuf:"varint,12,opt"`
QzhttpIp *uint32 `protobuf:"fixed32,13,opt"` QzhttpIp proto.Option[uint32] `protobuf:"fixed32,13,opt"`
QzhttpPort *uint32 `protobuf:"varint,14,opt"` QzhttpPort proto.Option[uint32] `protobuf:"varint,14,opt"`
SppIp *uint32 `protobuf:"fixed32,15,opt"` SppIp proto.Option[uint32] `protobuf:"fixed32,15,opt"`
SppPort *uint32 `protobuf:"varint,16,opt"` SppPort proto.Option[uint32] `protobuf:"varint,16,opt"`
Flag *uint32 `protobuf:"varint,17,opt"` Flag proto.Option[uint32] `protobuf:"varint,17,opt"`
Key []byte `protobuf:"bytes,18,opt"` Key []byte `protobuf:"bytes,18,opt"`
CompressType *uint32 `protobuf:"varint,19,opt"` CompressType proto.Option[uint32] `protobuf:"varint,19,opt"`
OriginSize *uint32 `protobuf:"varint,20,opt"` OriginSize proto.Option[uint32] `protobuf:"varint,20,opt"`
ErrorCode *uint32 `protobuf:"varint,21,opt"` ErrorCode proto.Option[uint32] `protobuf:"varint,21,opt"`
Redirect *RedirectMsg `protobuf:"bytes,22,opt"` Redirect *RedirectMsg `protobuf:"bytes,22,opt"`
CommandId *uint32 `protobuf:"varint,23,opt"` CommandId proto.Option[uint32] `protobuf:"varint,23,opt"`
ServiceCmdid *uint32 `protobuf:"varint,24,opt"` ServiceCmdid proto.Option[uint32] `protobuf:"varint,24,opt"`
Oidbhead *TransOidbHead `protobuf:"bytes,25,opt"` Oidbhead *TransOidbHead `protobuf:"bytes,25,opt"`
} }
func (x *HttpConnHead) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *HttpConnHead) GetCommand() uint32 {
if x != nil && x.Command != nil {
return *x.Command
}
return 0
}
func (x *HttpConnHead) GetSubCommand() uint32 {
if x != nil && x.SubCommand != nil {
return *x.SubCommand
}
return 0
}
func (x *HttpConnHead) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *HttpConnHead) GetVersion() uint32 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
}
func (x *HttpConnHead) GetRetryTimes() uint32 {
if x != nil && x.RetryTimes != nil {
return *x.RetryTimes
}
return 0
}
func (x *HttpConnHead) GetClientType() uint32 {
if x != nil && x.ClientType != nil {
return *x.ClientType
}
return 0
}
func (x *HttpConnHead) GetPubNo() uint32 {
if x != nil && x.PubNo != nil {
return *x.PubNo
}
return 0
}
func (x *HttpConnHead) GetLocalId() uint32 {
if x != nil && x.LocalId != nil {
return *x.LocalId
}
return 0
}
func (x *HttpConnHead) GetTimeZone() uint32 {
if x != nil && x.TimeZone != nil {
return *x.TimeZone
}
return 0
}
func (x *HttpConnHead) GetClientIp() uint32 {
if x != nil && x.ClientIp != nil {
return *x.ClientIp
}
return 0
}
func (x *HttpConnHead) GetClientPort() uint32 {
if x != nil && x.ClientPort != nil {
return *x.ClientPort
}
return 0
}
func (x *HttpConnHead) GetQzhttpIp() uint32 {
if x != nil && x.QzhttpIp != nil {
return *x.QzhttpIp
}
return 0
}
func (x *HttpConnHead) GetQzhttpPort() uint32 {
if x != nil && x.QzhttpPort != nil {
return *x.QzhttpPort
}
return 0
}
func (x *HttpConnHead) GetSppIp() uint32 {
if x != nil && x.SppIp != nil {
return *x.SppIp
}
return 0
}
func (x *HttpConnHead) GetSppPort() uint32 {
if x != nil && x.SppPort != nil {
return *x.SppPort
}
return 0
}
func (x *HttpConnHead) GetFlag() uint32 {
if x != nil && x.Flag != nil {
return *x.Flag
}
return 0
}
func (x *HttpConnHead) GetCompressType() uint32 {
if x != nil && x.CompressType != nil {
return *x.CompressType
}
return 0
}
func (x *HttpConnHead) GetOriginSize() uint32 {
if x != nil && x.OriginSize != nil {
return *x.OriginSize
}
return 0
}
func (x *HttpConnHead) GetErrorCode() uint32 {
if x != nil && x.ErrorCode != nil {
return *x.ErrorCode
}
return 0
}
func (x *HttpConnHead) GetCommandId() uint32 {
if x != nil && x.CommandId != nil {
return *x.CommandId
}
return 0
}
func (x *HttpConnHead) GetServiceCmdid() uint32 {
if x != nil && x.ServiceCmdid != nil {
return *x.ServiceCmdid
}
return 0
}
type LoginSig struct { type LoginSig struct {
Type *uint32 `protobuf:"varint,1,opt"` Type proto.Option[uint32] `protobuf:"varint,1,opt"`
Sig []byte `protobuf:"bytes,2,opt"` Sig []byte `protobuf:"bytes,2,opt"`
} }
func (x *LoginSig) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
type RedirectMsg struct { type RedirectMsg struct {
LastRedirectIp *uint32 `protobuf:"fixed32,1,opt"` LastRedirectIp proto.Option[uint32] `protobuf:"fixed32,1,opt"`
LastRedirectPort *uint32 `protobuf:"varint,2,opt"` LastRedirectPort proto.Option[uint32] `protobuf:"varint,2,opt"`
RedirectIp *uint32 `protobuf:"fixed32,3,opt"` RedirectIp proto.Option[uint32] `protobuf:"fixed32,3,opt"`
RedirectPort *uint32 `protobuf:"varint,4,opt"` RedirectPort proto.Option[uint32] `protobuf:"varint,4,opt"`
RedirectCount *uint32 `protobuf:"varint,5,opt"` RedirectCount proto.Option[uint32] `protobuf:"varint,5,opt"`
}
func (x *RedirectMsg) GetLastRedirectIp() uint32 {
if x != nil && x.LastRedirectIp != nil {
return *x.LastRedirectIp
}
return 0
}
func (x *RedirectMsg) GetLastRedirectPort() uint32 {
if x != nil && x.LastRedirectPort != nil {
return *x.LastRedirectPort
}
return 0
}
func (x *RedirectMsg) GetRedirectIp() uint32 {
if x != nil && x.RedirectIp != nil {
return *x.RedirectIp
}
return 0
}
func (x *RedirectMsg) GetRedirectPort() uint32 {
if x != nil && x.RedirectPort != nil {
return *x.RedirectPort
}
return 0
}
func (x *RedirectMsg) GetRedirectCount() uint32 {
if x != nil && x.RedirectCount != nil {
return *x.RedirectCount
}
return 0
} }
type S2CHead struct { type S2CHead struct {
SubMsgtype *uint32 `protobuf:"varint,1,opt"` SubMsgtype proto.Option[uint32] `protobuf:"varint,1,opt"`
MsgType *uint32 `protobuf:"varint,2,opt"` MsgType proto.Option[uint32] `protobuf:"varint,2,opt"`
FromUin *uint64 `protobuf:"varint,3,opt"` FromUin proto.Option[uint64] `protobuf:"varint,3,opt"`
MsgId *uint32 `protobuf:"varint,4,opt"` MsgId proto.Option[uint32] `protobuf:"varint,4,opt"`
RelayIp *uint32 `protobuf:"fixed32,5,opt"` RelayIp proto.Option[uint32] `protobuf:"fixed32,5,opt"`
RelayPort *uint32 `protobuf:"varint,6,opt"` RelayPort proto.Option[uint32] `protobuf:"varint,6,opt"`
ToUin *uint64 `protobuf:"varint,7,opt"` ToUin proto.Option[uint64] `protobuf:"varint,7,opt"`
}
func (x *S2CHead) GetSubMsgtype() uint32 {
if x != nil && x.SubMsgtype != nil {
return *x.SubMsgtype
}
return 0
}
func (x *S2CHead) GetMsgType() uint32 {
if x != nil && x.MsgType != nil {
return *x.MsgType
}
return 0
}
func (x *S2CHead) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *S2CHead) GetMsgId() uint32 {
if x != nil && x.MsgId != nil {
return *x.MsgId
}
return 0
}
func (x *S2CHead) GetRelayIp() uint32 {
if x != nil && x.RelayIp != nil {
return *x.RelayIp
}
return 0
}
func (x *S2CHead) GetRelayPort() uint32 {
if x != nil && x.RelayPort != nil {
return *x.RelayPort
}
return 0
}
func (x *S2CHead) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
} }
type TransOidbHead struct { type TransOidbHead struct {
Command *uint32 `protobuf:"varint,1,opt"` Command proto.Option[uint32] `protobuf:"varint,1,opt"`
ServiceType *uint32 `protobuf:"varint,2,opt"` ServiceType proto.Option[uint32] `protobuf:"varint,2,opt"`
Result *uint32 `protobuf:"varint,3,opt"` Result proto.Option[uint32] `protobuf:"varint,3,opt"`
ErrorMsg *string `protobuf:"bytes,4,opt"` ErrorMsg proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *TransOidbHead) GetCommand() uint32 {
if x != nil && x.Command != nil {
return *x.Command
}
return 0
}
func (x *TransOidbHead) GetServiceType() uint32 {
if x != nil && x.ServiceType != nil {
return *x.ServiceType
}
return 0
}
func (x *TransOidbHead) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *TransOidbHead) GetErrorMsg() string {
if x != nil && x.ErrorMsg != nil {
return *x.ErrorMsg
}
return ""
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,10 @@
package msg package msg
import (
proto "github.com/RomiChan/protobuf/proto"
)
type PbMsgReadedReportReq struct { type PbMsgReadedReportReq struct {
GrpReadReport []*PbGroupReadedReportReq `protobuf:"bytes,1,rep"` GrpReadReport []*PbGroupReadedReportReq `protobuf:"bytes,1,rep"`
DisReadReport []*PbDiscussReadedReportReq `protobuf:"bytes,2,rep"` DisReadReport []*PbDiscussReadedReportReq `protobuf:"bytes,2,rep"`
@ -16,41 +20,13 @@ type PbMsgReadedReportResp struct {
} }
type PbGroupReadedReportReq struct { type PbGroupReadedReportReq struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
LastReadSeq *uint64 `protobuf:"varint,2,opt"` LastReadSeq proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *PbGroupReadedReportReq) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *PbGroupReadedReportReq) GetLastReadSeq() uint64 {
if x != nil && x.LastReadSeq != nil {
return *x.LastReadSeq
}
return 0
} }
type PbDiscussReadedReportReq struct { type PbDiscussReadedReportReq struct {
ConfUin *uint64 `protobuf:"varint,1,opt"` ConfUin proto.Option[uint64] `protobuf:"varint,1,opt"`
LastReadSeq *uint64 `protobuf:"varint,2,opt"` LastReadSeq proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *PbDiscussReadedReportReq) GetConfUin() uint64 {
if x != nil && x.ConfUin != nil {
return *x.ConfUin
}
return 0
}
func (x *PbDiscussReadedReportReq) GetLastReadSeq() uint64 {
if x != nil && x.LastReadSeq != nil {
return *x.LastReadSeq
}
return 0
} }
type PbC2CReadedReportReq struct { type PbC2CReadedReportReq struct {
@ -59,167 +35,34 @@ type PbC2CReadedReportReq struct {
} }
type UinPairReadInfo struct { type UinPairReadInfo struct {
PeerUin *uint64 `protobuf:"varint,1,opt"` PeerUin proto.Option[uint64] `protobuf:"varint,1,opt"`
LastReadTime *uint32 `protobuf:"varint,2,opt"` LastReadTime proto.Option[uint32] `protobuf:"varint,2,opt"`
CrmSig []byte `protobuf:"bytes,3,opt"` CrmSig []byte `protobuf:"bytes,3,opt"`
PeerType *uint32 `protobuf:"varint,4,opt"` PeerType proto.Option[uint32] `protobuf:"varint,4,opt"`
ChatType *uint32 `protobuf:"varint,5,opt"` ChatType proto.Option[uint32] `protobuf:"varint,5,opt"`
Cpid *uint64 `protobuf:"varint,6,opt"` Cpid proto.Option[uint64] `protobuf:"varint,6,opt"`
AioType *uint32 `protobuf:"varint,7,opt"` AioType proto.Option[uint32] `protobuf:"varint,7,opt"`
ToTinyId *uint64 `protobuf:"varint,9,opt"` ToTinyId proto.Option[uint64] `protobuf:"varint,9,opt"`
}
func (x *UinPairReadInfo) GetPeerUin() uint64 {
if x != nil && x.PeerUin != nil {
return *x.PeerUin
}
return 0
}
func (x *UinPairReadInfo) GetLastReadTime() uint32 {
if x != nil && x.LastReadTime != nil {
return *x.LastReadTime
}
return 0
}
func (x *UinPairReadInfo) GetPeerType() uint32 {
if x != nil && x.PeerType != nil {
return *x.PeerType
}
return 0
}
func (x *UinPairReadInfo) GetChatType() uint32 {
if x != nil && x.ChatType != nil {
return *x.ChatType
}
return 0
}
func (x *UinPairReadInfo) GetCpid() uint64 {
if x != nil && x.Cpid != nil {
return *x.Cpid
}
return 0
}
func (x *UinPairReadInfo) GetAioType() uint32 {
if x != nil && x.AioType != nil {
return *x.AioType
}
return 0
}
func (x *UinPairReadInfo) GetToTinyId() uint64 {
if x != nil && x.ToTinyId != nil {
return *x.ToTinyId
}
return 0
} }
type PbGroupReadedReportResp struct { type PbGroupReadedReportResp struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
Errmsg *string `protobuf:"bytes,2,opt"` Errmsg proto.Option[string] `protobuf:"bytes,2,opt"`
GroupCode *uint64 `protobuf:"varint,3,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,3,opt"`
MemberSeq *uint64 `protobuf:"varint,4,opt"` MemberSeq proto.Option[uint64] `protobuf:"varint,4,opt"`
GroupMsgSeq *uint64 `protobuf:"varint,5,opt"` GroupMsgSeq proto.Option[uint64] `protobuf:"varint,5,opt"`
}
func (x *PbGroupReadedReportResp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *PbGroupReadedReportResp) GetErrmsg() string {
if x != nil && x.Errmsg != nil {
return *x.Errmsg
}
return ""
}
func (x *PbGroupReadedReportResp) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *PbGroupReadedReportResp) GetMemberSeq() uint64 {
if x != nil && x.MemberSeq != nil {
return *x.MemberSeq
}
return 0
}
func (x *PbGroupReadedReportResp) GetGroupMsgSeq() uint64 {
if x != nil && x.GroupMsgSeq != nil {
return *x.GroupMsgSeq
}
return 0
} }
type PbDiscussReadedReportResp struct { type PbDiscussReadedReportResp struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
Errmsg *string `protobuf:"bytes,2,opt"` Errmsg proto.Option[string] `protobuf:"bytes,2,opt"`
ConfUin *uint64 `protobuf:"varint,3,opt"` ConfUin proto.Option[uint64] `protobuf:"varint,3,opt"`
MemberSeq *uint64 `protobuf:"varint,4,opt"` MemberSeq proto.Option[uint64] `protobuf:"varint,4,opt"`
ConfSeq *uint64 `protobuf:"varint,5,opt"` ConfSeq proto.Option[uint64] `protobuf:"varint,5,opt"`
}
func (x *PbDiscussReadedReportResp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *PbDiscussReadedReportResp) GetErrmsg() string {
if x != nil && x.Errmsg != nil {
return *x.Errmsg
}
return ""
}
func (x *PbDiscussReadedReportResp) GetConfUin() uint64 {
if x != nil && x.ConfUin != nil {
return *x.ConfUin
}
return 0
}
func (x *PbDiscussReadedReportResp) GetMemberSeq() uint64 {
if x != nil && x.MemberSeq != nil {
return *x.MemberSeq
}
return 0
}
func (x *PbDiscussReadedReportResp) GetConfSeq() uint64 {
if x != nil && x.ConfSeq != nil {
return *x.ConfSeq
}
return 0
} }
type PbC2CReadedReportResp struct { type PbC2CReadedReportResp struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
Errmsg *string `protobuf:"bytes,2,opt"` Errmsg proto.Option[string] `protobuf:"bytes,2,opt"`
SyncCookie []byte `protobuf:"bytes,3,opt"` SyncCookie []byte `protobuf:"bytes,3,opt"`
} }
func (x *PbC2CReadedReportResp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *PbC2CReadedReportResp) GetErrmsg() string {
if x != nil && x.Errmsg != nil {
return *x.Errmsg
}
return ""
}

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,10 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type OIDBSSOPkg struct { type OIDBSSOPkg struct {
Command int32 `protobuf:"varint,1,opt"` Command int32 `protobuf:"varint,1,opt"`
ServiceType int32 `protobuf:"varint,2,opt"` ServiceType int32 `protobuf:"varint,2,opt"`
@ -61,7 +65,7 @@ type D89AGroupinfo struct {
StGroupNewguidelines *D89AGroupNewGuidelinesInfo `protobuf:"bytes,14,opt"` StGroupNewguidelines *D89AGroupNewGuidelinesInfo `protobuf:"bytes,14,opt"`
GroupFace int32 `protobuf:"varint,15,opt"` GroupFace int32 `protobuf:"varint,15,opt"`
AddOption int32 `protobuf:"varint,16,opt"` AddOption int32 `protobuf:"varint,16,opt"`
ShutupTime *int32 `protobuf:"varint,17,opt"` ShutupTime proto.Option[int32] `protobuf:"varint,17,opt"`
GroupTypeFlag int32 `protobuf:"varint,18,opt"` GroupTypeFlag int32 `protobuf:"varint,18,opt"`
StringGroupTag []byte `protobuf:"bytes,19,opt"` StringGroupTag []byte `protobuf:"bytes,19,opt"`
MsgGroupGeoInfo *D89AGroupGeoInfo `protobuf:"bytes,20,opt"` MsgGroupGeoInfo *D89AGroupGeoInfo `protobuf:"bytes,20,opt"`
@ -85,13 +89,6 @@ type D89AGroupinfo struct {
MsgLimitFrequency int32 `protobuf:"varint,38,opt"` MsgLimitFrequency int32 `protobuf:"varint,38,opt"`
} }
func (x *D89AGroupinfo) GetShutupTime() int32 {
if x != nil && x.ShutupTime != nil {
return *x.ShutupTime
}
return 0
}
type D89AGroupNewGuidelinesInfo struct { type D89AGroupNewGuidelinesInfo struct {
BoolEnabled bool `protobuf:"varint,1,opt"` BoolEnabled bool `protobuf:"varint,1,opt"`
IngContent []byte `protobuf:"bytes,2,opt"` IngContent []byte `protobuf:"bytes,2,opt"`

File diff suppressed because it is too large Load Diff

View File

@ -3,354 +3,78 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type DeleteFileReqBody struct { type DeleteFileReqBody struct {
GroupCode *int64 `protobuf:"varint,1,opt"` GroupCode proto.Option[int64] `protobuf:"varint,1,opt"`
AppId *int32 `protobuf:"varint,2,opt"` AppId proto.Option[int32] `protobuf:"varint,2,opt"`
BusId *int32 `protobuf:"varint,3,opt"` BusId proto.Option[int32] `protobuf:"varint,3,opt"`
ParentFolderId *string `protobuf:"bytes,4,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,4,opt"`
FileId *string `protobuf:"bytes,5,opt"` FileId proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *DeleteFileReqBody) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *DeleteFileReqBody) GetAppId() int32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *DeleteFileReqBody) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *DeleteFileReqBody) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
}
func (x *DeleteFileReqBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
} }
type DeleteFileRspBody struct { type DeleteFileRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *DeleteFileRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *DeleteFileRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *DeleteFileRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
} }
type DownloadFileReqBody struct { type DownloadFileReqBody struct {
GroupCode *int64 `protobuf:"varint,1,opt"` GroupCode proto.Option[int64] `protobuf:"varint,1,opt"`
AppId *int32 `protobuf:"varint,2,opt"` AppId proto.Option[int32] `protobuf:"varint,2,opt"`
BusId *int32 `protobuf:"varint,3,opt"` BusId proto.Option[int32] `protobuf:"varint,3,opt"`
FileId *string `protobuf:"bytes,4,opt"` FileId proto.Option[string] `protobuf:"bytes,4,opt"`
BoolThumbnailReq *bool `protobuf:"varint,5,opt"` BoolThumbnailReq proto.Option[bool] `protobuf:"varint,5,opt"`
UrlType *int32 `protobuf:"varint,6,opt"` UrlType proto.Option[int32] `protobuf:"varint,6,opt"`
BoolPreviewReq *bool `protobuf:"varint,7,opt"` BoolPreviewReq proto.Option[bool] `protobuf:"varint,7,opt"`
}
func (x *DownloadFileReqBody) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *DownloadFileReqBody) GetAppId() int32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *DownloadFileReqBody) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *DownloadFileReqBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
func (x *DownloadFileReqBody) GetBoolThumbnailReq() bool {
if x != nil && x.BoolThumbnailReq != nil {
return *x.BoolThumbnailReq
}
return false
}
func (x *DownloadFileReqBody) GetUrlType() int32 {
if x != nil && x.UrlType != nil {
return *x.UrlType
}
return 0
}
func (x *DownloadFileReqBody) GetBoolPreviewReq() bool {
if x != nil && x.BoolPreviewReq != nil {
return *x.BoolPreviewReq
}
return false
} }
type DownloadFileRspBody struct { type DownloadFileRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
DownloadIp *string `protobuf:"bytes,4,opt"` DownloadIp proto.Option[string] `protobuf:"bytes,4,opt"`
DownloadDns []byte `protobuf:"bytes,5,opt"` DownloadDns []byte `protobuf:"bytes,5,opt"`
DownloadUrl []byte `protobuf:"bytes,6,opt"` DownloadUrl []byte `protobuf:"bytes,6,opt"`
Sha []byte `protobuf:"bytes,7,opt"` Sha []byte `protobuf:"bytes,7,opt"`
Sha3 []byte `protobuf:"bytes,8,opt"` Sha3 []byte `protobuf:"bytes,8,opt"`
Md5 []byte `protobuf:"bytes,9,opt"` Md5 []byte `protobuf:"bytes,9,opt"`
CookieVal []byte `protobuf:"bytes,10,opt"` CookieVal []byte `protobuf:"bytes,10,opt"`
SaveFileName *string `protobuf:"bytes,11,opt"` SaveFileName proto.Option[string] `protobuf:"bytes,11,opt"`
PreviewPort *int32 `protobuf:"varint,12,opt"` PreviewPort proto.Option[int32] `protobuf:"varint,12,opt"`
}
func (x *DownloadFileRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *DownloadFileRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *DownloadFileRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *DownloadFileRspBody) GetDownloadIp() string {
if x != nil && x.DownloadIp != nil {
return *x.DownloadIp
}
return ""
}
func (x *DownloadFileRspBody) GetSaveFileName() string {
if x != nil && x.SaveFileName != nil {
return *x.SaveFileName
}
return ""
}
func (x *DownloadFileRspBody) GetPreviewPort() int32 {
if x != nil && x.PreviewPort != nil {
return *x.PreviewPort
}
return 0
} }
type MoveFileReqBody struct { type MoveFileReqBody struct {
GroupCode *int64 `protobuf:"varint,1,opt"` GroupCode proto.Option[int64] `protobuf:"varint,1,opt"`
AppId *int32 `protobuf:"varint,2,opt"` AppId proto.Option[int32] `protobuf:"varint,2,opt"`
BusId *int32 `protobuf:"varint,3,opt"` BusId proto.Option[int32] `protobuf:"varint,3,opt"`
FileId *string `protobuf:"bytes,4,opt"` FileId proto.Option[string] `protobuf:"bytes,4,opt"`
ParentFolderId *string `protobuf:"bytes,5,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,5,opt"`
DestFolderId *string `protobuf:"bytes,6,opt"` DestFolderId proto.Option[string] `protobuf:"bytes,6,opt"`
}
func (x *MoveFileReqBody) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *MoveFileReqBody) GetAppId() int32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *MoveFileReqBody) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *MoveFileReqBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
func (x *MoveFileReqBody) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
}
func (x *MoveFileReqBody) GetDestFolderId() string {
if x != nil && x.DestFolderId != nil {
return *x.DestFolderId
}
return ""
} }
type MoveFileRspBody struct { type MoveFileRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
ParentFolderId *string `protobuf:"bytes,4,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *MoveFileRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *MoveFileRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *MoveFileRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *MoveFileRspBody) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
} }
type RenameFileReqBody struct { type RenameFileReqBody struct {
GroupCode *int64 `protobuf:"varint,1,opt"` GroupCode proto.Option[int64] `protobuf:"varint,1,opt"`
AppId *int32 `protobuf:"varint,2,opt"` AppId proto.Option[int32] `protobuf:"varint,2,opt"`
BusId *int32 `protobuf:"varint,3,opt"` BusId proto.Option[int32] `protobuf:"varint,3,opt"`
FileId *string `protobuf:"bytes,4,opt"` FileId proto.Option[string] `protobuf:"bytes,4,opt"`
ParentFolderId *string `protobuf:"bytes,5,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,5,opt"`
NewFileName *string `protobuf:"bytes,6,opt"` NewFileName proto.Option[string] `protobuf:"bytes,6,opt"`
}
func (x *RenameFileReqBody) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *RenameFileReqBody) GetAppId() int32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *RenameFileReqBody) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *RenameFileReqBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
func (x *RenameFileReqBody) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
}
func (x *RenameFileReqBody) GetNewFileName() string {
if x != nil && x.NewFileName != nil {
return *x.NewFileName
}
return ""
} }
type RenameFileRspBody struct { type RenameFileRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *RenameFileRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *RenameFileRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *RenameFileRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
} }
type D6D6ReqBody struct { type D6D6ReqBody struct {
@ -363,78 +87,22 @@ type D6D6ReqBody struct {
} }
type ResendReqBody struct { type ResendReqBody struct {
GroupCode *int64 `protobuf:"varint,1,opt"` GroupCode proto.Option[int64] `protobuf:"varint,1,opt"`
AppId *int32 `protobuf:"varint,2,opt"` AppId proto.Option[int32] `protobuf:"varint,2,opt"`
BusId *int32 `protobuf:"varint,3,opt"` BusId proto.Option[int32] `protobuf:"varint,3,opt"`
FileId *string `protobuf:"bytes,4,opt"` FileId proto.Option[string] `protobuf:"bytes,4,opt"`
Sha []byte `protobuf:"bytes,5,opt"` Sha []byte `protobuf:"bytes,5,opt"`
} }
func (x *ResendReqBody) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *ResendReqBody) GetAppId() int32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *ResendReqBody) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *ResendReqBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
type ResendRspBody struct { type ResendRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
UploadIp *string `protobuf:"bytes,4,opt"` UploadIp proto.Option[string] `protobuf:"bytes,4,opt"`
FileKey []byte `protobuf:"bytes,5,opt"` FileKey []byte `protobuf:"bytes,5,opt"`
CheckKey []byte `protobuf:"bytes,6,opt"` CheckKey []byte `protobuf:"bytes,6,opt"`
} }
func (x *ResendRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *ResendRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *ResendRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *ResendRspBody) GetUploadIp() string {
if x != nil && x.UploadIp != nil {
return *x.UploadIp
}
return ""
}
type D6D6RspBody struct { type D6D6RspBody struct {
UploadFileRsp *UploadFileRspBody `protobuf:"bytes,1,opt"` UploadFileRsp *UploadFileRspBody `protobuf:"bytes,1,opt"`
ResendFileRsp *ResendRspBody `protobuf:"bytes,2,opt"` ResendFileRsp *ResendRspBody `protobuf:"bytes,2,opt"`
@ -445,158 +113,32 @@ type D6D6RspBody struct {
} }
type UploadFileReqBody struct { type UploadFileReqBody struct {
GroupCode *int64 `protobuf:"varint,1,opt"` GroupCode proto.Option[int64] `protobuf:"varint,1,opt"`
AppId *int32 `protobuf:"varint,2,opt"` AppId proto.Option[int32] `protobuf:"varint,2,opt"`
BusId *int32 `protobuf:"varint,3,opt"` BusId proto.Option[int32] `protobuf:"varint,3,opt"`
Entrance *int32 `protobuf:"varint,4,opt"` Entrance proto.Option[int32] `protobuf:"varint,4,opt"`
ParentFolderId *string `protobuf:"bytes,5,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,5,opt"`
FileName *string `protobuf:"bytes,6,opt"` FileName proto.Option[string] `protobuf:"bytes,6,opt"`
LocalPath *string `protobuf:"bytes,7,opt"` LocalPath proto.Option[string] `protobuf:"bytes,7,opt"`
Int64FileSize *int64 `protobuf:"varint,8,opt"` Int64FileSize proto.Option[int64] `protobuf:"varint,8,opt"`
Sha []byte `protobuf:"bytes,9,opt"` Sha []byte `protobuf:"bytes,9,opt"`
Sha3 []byte `protobuf:"bytes,10,opt"` Sha3 []byte `protobuf:"bytes,10,opt"`
Md5 []byte `protobuf:"bytes,11,opt"` Md5 []byte `protobuf:"bytes,11,opt"`
SupportMultiUpload *bool `protobuf:"varint,15,opt"` SupportMultiUpload proto.Option[bool] `protobuf:"varint,15,opt"`
}
func (x *UploadFileReqBody) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *UploadFileReqBody) GetAppId() int32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *UploadFileReqBody) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *UploadFileReqBody) GetEntrance() int32 {
if x != nil && x.Entrance != nil {
return *x.Entrance
}
return 0
}
func (x *UploadFileReqBody) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
}
func (x *UploadFileReqBody) GetFileName() string {
if x != nil && x.FileName != nil {
return *x.FileName
}
return ""
}
func (x *UploadFileReqBody) GetLocalPath() string {
if x != nil && x.LocalPath != nil {
return *x.LocalPath
}
return ""
}
func (x *UploadFileReqBody) GetInt64FileSize() int64 {
if x != nil && x.Int64FileSize != nil {
return *x.Int64FileSize
}
return 0
}
func (x *UploadFileReqBody) GetSupportMultiUpload() bool {
if x != nil && x.SupportMultiUpload != nil {
return *x.SupportMultiUpload
}
return false
} }
type UploadFileRspBody struct { type UploadFileRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
UploadIp *string `protobuf:"bytes,4,opt"` UploadIp proto.Option[string] `protobuf:"bytes,4,opt"`
ServerDns *string `protobuf:"bytes,5,opt"` ServerDns proto.Option[string] `protobuf:"bytes,5,opt"`
BusId *int32 `protobuf:"varint,6,opt"` BusId proto.Option[int32] `protobuf:"varint,6,opt"`
FileId *string `protobuf:"bytes,7,opt"` FileId proto.Option[string] `protobuf:"bytes,7,opt"`
FileKey []byte `protobuf:"bytes,8,opt"` FileKey []byte `protobuf:"bytes,8,opt"`
CheckKey []byte `protobuf:"bytes,9,opt"` CheckKey []byte `protobuf:"bytes,9,opt"`
BoolFileExist *bool `protobuf:"varint,10,opt"` BoolFileExist proto.Option[bool] `protobuf:"varint,10,opt"`
UploadIpLanV4 []string `protobuf:"bytes,12,rep"` UploadIpLanV4 []string `protobuf:"bytes,12,rep"`
UploadIpLanV6 []string `protobuf:"bytes,13,rep"` UploadIpLanV6 []string `protobuf:"bytes,13,rep"`
UploadPort *int32 `protobuf:"varint,14,opt"` UploadPort proto.Option[int32] `protobuf:"varint,14,opt"`
}
func (x *UploadFileRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *UploadFileRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *UploadFileRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *UploadFileRspBody) GetUploadIp() string {
if x != nil && x.UploadIp != nil {
return *x.UploadIp
}
return ""
}
func (x *UploadFileRspBody) GetServerDns() string {
if x != nil && x.ServerDns != nil {
return *x.ServerDns
}
return ""
}
func (x *UploadFileRspBody) GetBusId() int32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *UploadFileRspBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
func (x *UploadFileRspBody) GetBoolFileExist() bool {
if x != nil && x.BoolFileExist != nil {
return *x.BoolFileExist
}
return false
}
func (x *UploadFileRspBody) GetUploadPort() int32 {
if x != nil && x.UploadPort != nil {
return *x.UploadPort
}
return 0
} }

View File

@ -3,252 +3,60 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type CreateFolderReqBody struct { type CreateFolderReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
ParentFolderId *string `protobuf:"bytes,3,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,3,opt"`
FolderName *string `protobuf:"bytes,4,opt"` FolderName proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *CreateFolderReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *CreateFolderReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *CreateFolderReqBody) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
}
func (x *CreateFolderReqBody) GetFolderName() string {
if x != nil && x.FolderName != nil {
return *x.FolderName
}
return ""
} }
type CreateFolderRspBody struct { type CreateFolderRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` // optional group_file_common.FolderInfo folderInfo = 4; ClientWording proto.Option[string] `protobuf:"bytes,3,opt"` // optional group_file_common.FolderInfo folderInfo = 4;
}
func (x *CreateFolderRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *CreateFolderRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *CreateFolderRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
} }
type DeleteFolderReqBody struct { type DeleteFolderReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
FolderId *string `protobuf:"bytes,3,opt"` FolderId proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *DeleteFolderReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *DeleteFolderReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *DeleteFolderReqBody) GetFolderId() string {
if x != nil && x.FolderId != nil {
return *x.FolderId
}
return ""
} }
type DeleteFolderRspBody struct { type DeleteFolderRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *DeleteFolderRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *DeleteFolderRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *DeleteFolderRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
} }
type MoveFolderReqBody struct { type MoveFolderReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
FolderId *string `protobuf:"bytes,3,opt"` FolderId proto.Option[string] `protobuf:"bytes,3,opt"`
ParentFolderId *string `protobuf:"bytes,4,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,4,opt"`
DestFolderId *string `protobuf:"bytes,5,opt"` DestFolderId proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *MoveFolderReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *MoveFolderReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *MoveFolderReqBody) GetFolderId() string {
if x != nil && x.FolderId != nil {
return *x.FolderId
}
return ""
}
func (x *MoveFolderReqBody) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
}
func (x *MoveFolderReqBody) GetDestFolderId() string {
if x != nil && x.DestFolderId != nil {
return *x.DestFolderId
}
return ""
} }
type MoveFolderRspBody struct { type MoveFolderRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` // optional group_file_common.FolderInfo folderInfo = 4; ClientWording proto.Option[string] `protobuf:"bytes,3,opt"` // optional group_file_common.FolderInfo folderInfo = 4;
}
func (x *MoveFolderRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *MoveFolderRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *MoveFolderRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
} }
type RenameFolderReqBody struct { type RenameFolderReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
FolderId *string `protobuf:"bytes,3,opt"` FolderId proto.Option[string] `protobuf:"bytes,3,opt"`
NewFolderName *string `protobuf:"bytes,4,opt"` NewFolderName proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *RenameFolderReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *RenameFolderReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *RenameFolderReqBody) GetFolderId() string {
if x != nil && x.FolderId != nil {
return *x.FolderId
}
return ""
}
func (x *RenameFolderReqBody) GetNewFolderName() string {
if x != nil && x.NewFolderName != nil {
return *x.NewFolderName
}
return ""
} }
type RenameFolderRspBody struct { type RenameFolderRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` // optional group_file_common.FolderInfo folderInfo = 4; ClientWording proto.Option[string] `protobuf:"bytes,3,opt"` // optional group_file_common.FolderInfo folderInfo = 4;
}
func (x *RenameFolderRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *RenameFolderRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *RenameFolderRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
} }
type D6D7ReqBody struct { type D6D7ReqBody struct {

View File

@ -3,6 +3,10 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type D6D8ReqBody struct { type D6D8ReqBody struct {
FileInfoReq *GetFileInfoReqBody `protobuf:"bytes,1,opt"` FileInfoReq *GetFileInfoReqBody `protobuf:"bytes,1,opt"`
FileListInfoReq *GetFileListReqBody `protobuf:"bytes,2,opt"` FileListInfoReq *GetFileListReqBody `protobuf:"bytes,2,opt"`
@ -18,625 +22,121 @@ type D6D8RspBody struct {
} }
type GetFileInfoReqBody struct { type GetFileInfoReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
BusId *uint32 `protobuf:"varint,3,opt"` BusId proto.Option[uint32] `protobuf:"varint,3,opt"`
FileId *string `protobuf:"bytes,4,opt"` FileId proto.Option[string] `protobuf:"bytes,4,opt"`
FieldFlag *uint32 `protobuf:"varint,5,opt"` FieldFlag proto.Option[uint32] `protobuf:"varint,5,opt"`
}
func (x *GetFileInfoReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GetFileInfoReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *GetFileInfoReqBody) GetBusId() uint32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *GetFileInfoReqBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
func (x *GetFileInfoReqBody) GetFieldFlag() uint32 {
if x != nil && x.FieldFlag != nil {
return *x.FieldFlag
}
return 0
} }
type GetFileInfoRspBody struct { type GetFileInfoRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
FileInfo *GroupFileInfo `protobuf:"bytes,4,opt"` FileInfo *GroupFileInfo `protobuf:"bytes,4,opt"`
} }
func (x *GetFileInfoRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *GetFileInfoRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *GetFileInfoRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
type GetFileListRspBody struct { type GetFileListRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
IsEnd *bool `protobuf:"varint,4,opt"` IsEnd proto.Option[bool] `protobuf:"varint,4,opt"`
ItemList []*GetFileListRspBody_Item `protobuf:"bytes,5,rep"` ItemList []*GetFileListRspBody_Item `protobuf:"bytes,5,rep"`
MaxTimestamp *FileTimeStamp `protobuf:"bytes,6,opt"` MaxTimestamp *FileTimeStamp `protobuf:"bytes,6,opt"`
AllFileCount *uint32 `protobuf:"varint,7,opt"` AllFileCount proto.Option[uint32] `protobuf:"varint,7,opt"`
FilterCode *uint32 `protobuf:"varint,8,opt"` FilterCode proto.Option[uint32] `protobuf:"varint,8,opt"`
SafeCheckFlag *bool `protobuf:"varint,11,opt"` SafeCheckFlag proto.Option[bool] `protobuf:"varint,11,opt"`
SafeCheckRes *uint32 `protobuf:"varint,12,opt"` SafeCheckRes proto.Option[uint32] `protobuf:"varint,12,opt"`
NextIndex *uint32 `protobuf:"varint,13,opt"` NextIndex proto.Option[uint32] `protobuf:"varint,13,opt"`
Context []byte `protobuf:"bytes,14,opt"` Context []byte `protobuf:"bytes,14,opt"`
Role *uint32 `protobuf:"varint,15,opt"` Role proto.Option[uint32] `protobuf:"varint,15,opt"`
OpenFlag *uint32 `protobuf:"varint,16,opt"` OpenFlag proto.Option[uint32] `protobuf:"varint,16,opt"`
}
func (x *GetFileListRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *GetFileListRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *GetFileListRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *GetFileListRspBody) GetIsEnd() bool {
if x != nil && x.IsEnd != nil {
return *x.IsEnd
}
return false
}
func (x *GetFileListRspBody) GetAllFileCount() uint32 {
if x != nil && x.AllFileCount != nil {
return *x.AllFileCount
}
return 0
}
func (x *GetFileListRspBody) GetFilterCode() uint32 {
if x != nil && x.FilterCode != nil {
return *x.FilterCode
}
return 0
}
func (x *GetFileListRspBody) GetSafeCheckFlag() bool {
if x != nil && x.SafeCheckFlag != nil {
return *x.SafeCheckFlag
}
return false
}
func (x *GetFileListRspBody) GetSafeCheckRes() uint32 {
if x != nil && x.SafeCheckRes != nil {
return *x.SafeCheckRes
}
return 0
}
func (x *GetFileListRspBody) GetNextIndex() uint32 {
if x != nil && x.NextIndex != nil {
return *x.NextIndex
}
return 0
}
func (x *GetFileListRspBody) GetRole() uint32 {
if x != nil && x.Role != nil {
return *x.Role
}
return 0
}
func (x *GetFileListRspBody) GetOpenFlag() uint32 {
if x != nil && x.OpenFlag != nil {
return *x.OpenFlag
}
return 0
} }
type GroupFileInfo struct { type GroupFileInfo struct {
FileId *string `protobuf:"bytes,1,opt"` FileId proto.Option[string] `protobuf:"bytes,1,opt"`
FileName *string `protobuf:"bytes,2,opt"` FileName proto.Option[string] `protobuf:"bytes,2,opt"`
FileSize *uint64 `protobuf:"varint,3,opt"` FileSize proto.Option[uint64] `protobuf:"varint,3,opt"`
BusId *uint32 `protobuf:"varint,4,opt"` BusId proto.Option[uint32] `protobuf:"varint,4,opt"`
UploadedSize *uint64 `protobuf:"varint,5,opt"` UploadedSize proto.Option[uint64] `protobuf:"varint,5,opt"`
UploadTime *uint32 `protobuf:"varint,6,opt"` UploadTime proto.Option[uint32] `protobuf:"varint,6,opt"`
DeadTime *uint32 `protobuf:"varint,7,opt"` DeadTime proto.Option[uint32] `protobuf:"varint,7,opt"`
ModifyTime *uint32 `protobuf:"varint,8,opt"` ModifyTime proto.Option[uint32] `protobuf:"varint,8,opt"`
DownloadTimes *uint32 `protobuf:"varint,9,opt"` DownloadTimes proto.Option[uint32] `protobuf:"varint,9,opt"`
Sha []byte `protobuf:"bytes,10,opt"` Sha []byte `protobuf:"bytes,10,opt"`
Sha3 []byte `protobuf:"bytes,11,opt"` Sha3 []byte `protobuf:"bytes,11,opt"`
Md5 []byte `protobuf:"bytes,12,opt"` Md5 []byte `protobuf:"bytes,12,opt"`
LocalPath *string `protobuf:"bytes,13,opt"` LocalPath proto.Option[string] `protobuf:"bytes,13,opt"`
UploaderName *string `protobuf:"bytes,14,opt"` UploaderName proto.Option[string] `protobuf:"bytes,14,opt"`
UploaderUin *uint64 `protobuf:"varint,15,opt"` UploaderUin proto.Option[uint64] `protobuf:"varint,15,opt"`
ParentFolderId *string `protobuf:"bytes,16,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,16,opt"`
}
func (x *GroupFileInfo) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
func (x *GroupFileInfo) GetFileName() string {
if x != nil && x.FileName != nil {
return *x.FileName
}
return ""
}
func (x *GroupFileInfo) GetFileSize() uint64 {
if x != nil && x.FileSize != nil {
return *x.FileSize
}
return 0
}
func (x *GroupFileInfo) GetBusId() uint32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *GroupFileInfo) GetUploadedSize() uint64 {
if x != nil && x.UploadedSize != nil {
return *x.UploadedSize
}
return 0
}
func (x *GroupFileInfo) GetUploadTime() uint32 {
if x != nil && x.UploadTime != nil {
return *x.UploadTime
}
return 0
}
func (x *GroupFileInfo) GetDeadTime() uint32 {
if x != nil && x.DeadTime != nil {
return *x.DeadTime
}
return 0
}
func (x *GroupFileInfo) GetModifyTime() uint32 {
if x != nil && x.ModifyTime != nil {
return *x.ModifyTime
}
return 0
}
func (x *GroupFileInfo) GetDownloadTimes() uint32 {
if x != nil && x.DownloadTimes != nil {
return *x.DownloadTimes
}
return 0
}
func (x *GroupFileInfo) GetLocalPath() string {
if x != nil && x.LocalPath != nil {
return *x.LocalPath
}
return ""
}
func (x *GroupFileInfo) GetUploaderName() string {
if x != nil && x.UploaderName != nil {
return *x.UploaderName
}
return ""
}
func (x *GroupFileInfo) GetUploaderUin() uint64 {
if x != nil && x.UploaderUin != nil {
return *x.UploaderUin
}
return 0
}
func (x *GroupFileInfo) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
} }
type GroupFolderInfo struct { type GroupFolderInfo struct {
FolderId *string `protobuf:"bytes,1,opt"` FolderId proto.Option[string] `protobuf:"bytes,1,opt"`
ParentFolderId *string `protobuf:"bytes,2,opt"` ParentFolderId proto.Option[string] `protobuf:"bytes,2,opt"`
FolderName *string `protobuf:"bytes,3,opt"` FolderName proto.Option[string] `protobuf:"bytes,3,opt"`
CreateTime *uint32 `protobuf:"varint,4,opt"` CreateTime proto.Option[uint32] `protobuf:"varint,4,opt"`
ModifyTime *uint32 `protobuf:"varint,5,opt"` ModifyTime proto.Option[uint32] `protobuf:"varint,5,opt"`
CreateUin *uint64 `protobuf:"varint,6,opt"` CreateUin proto.Option[uint64] `protobuf:"varint,6,opt"`
CreatorName *string `protobuf:"bytes,7,opt"` CreatorName proto.Option[string] `protobuf:"bytes,7,opt"`
TotalFileCount *uint32 `protobuf:"varint,8,opt"` TotalFileCount proto.Option[uint32] `protobuf:"varint,8,opt"`
}
func (x *GroupFolderInfo) GetFolderId() string {
if x != nil && x.FolderId != nil {
return *x.FolderId
}
return ""
}
func (x *GroupFolderInfo) GetParentFolderId() string {
if x != nil && x.ParentFolderId != nil {
return *x.ParentFolderId
}
return ""
}
func (x *GroupFolderInfo) GetFolderName() string {
if x != nil && x.FolderName != nil {
return *x.FolderName
}
return ""
}
func (x *GroupFolderInfo) GetCreateTime() uint32 {
if x != nil && x.CreateTime != nil {
return *x.CreateTime
}
return 0
}
func (x *GroupFolderInfo) GetModifyTime() uint32 {
if x != nil && x.ModifyTime != nil {
return *x.ModifyTime
}
return 0
}
func (x *GroupFolderInfo) GetCreateUin() uint64 {
if x != nil && x.CreateUin != nil {
return *x.CreateUin
}
return 0
}
func (x *GroupFolderInfo) GetCreatorName() string {
if x != nil && x.CreatorName != nil {
return *x.CreatorName
}
return ""
}
func (x *GroupFolderInfo) GetTotalFileCount() uint32 {
if x != nil && x.TotalFileCount != nil {
return *x.TotalFileCount
}
return 0
} }
type GetFileListReqBody struct { type GetFileListReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
FolderId *string `protobuf:"bytes,3,opt"` FolderId proto.Option[string] `protobuf:"bytes,3,opt"`
StartTimestamp *FileTimeStamp `protobuf:"bytes,4,opt"` StartTimestamp *FileTimeStamp `protobuf:"bytes,4,opt"`
FileCount *uint32 `protobuf:"varint,5,opt"` FileCount proto.Option[uint32] `protobuf:"varint,5,opt"`
MaxTimestamp *FileTimeStamp `protobuf:"bytes,6,opt"` MaxTimestamp *FileTimeStamp `protobuf:"bytes,6,opt"`
AllFileCount *uint32 `protobuf:"varint,7,opt"` AllFileCount proto.Option[uint32] `protobuf:"varint,7,opt"`
ReqFrom *uint32 `protobuf:"varint,8,opt"` ReqFrom proto.Option[uint32] `protobuf:"varint,8,opt"`
SortBy *uint32 `protobuf:"varint,9,opt"` SortBy proto.Option[uint32] `protobuf:"varint,9,opt"`
FilterCode *uint32 `protobuf:"varint,10,opt"` FilterCode proto.Option[uint32] `protobuf:"varint,10,opt"`
Uin *uint64 `protobuf:"varint,11,opt"` Uin proto.Option[uint64] `protobuf:"varint,11,opt"`
FieldFlag *uint32 `protobuf:"varint,12,opt"` FieldFlag proto.Option[uint32] `protobuf:"varint,12,opt"`
StartIndex *uint32 `protobuf:"varint,13,opt"` StartIndex proto.Option[uint32] `protobuf:"varint,13,opt"`
Context []byte `protobuf:"bytes,14,opt"` Context []byte `protobuf:"bytes,14,opt"`
ClientVersion *uint32 `protobuf:"varint,15,opt"` ClientVersion proto.Option[uint32] `protobuf:"varint,15,opt"`
}
func (x *GetFileListReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GetFileListReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *GetFileListReqBody) GetFolderId() string {
if x != nil && x.FolderId != nil {
return *x.FolderId
}
return ""
}
func (x *GetFileListReqBody) GetFileCount() uint32 {
if x != nil && x.FileCount != nil {
return *x.FileCount
}
return 0
}
func (x *GetFileListReqBody) GetAllFileCount() uint32 {
if x != nil && x.AllFileCount != nil {
return *x.AllFileCount
}
return 0
}
func (x *GetFileListReqBody) GetReqFrom() uint32 {
if x != nil && x.ReqFrom != nil {
return *x.ReqFrom
}
return 0
}
func (x *GetFileListReqBody) GetSortBy() uint32 {
if x != nil && x.SortBy != nil {
return *x.SortBy
}
return 0
}
func (x *GetFileListReqBody) GetFilterCode() uint32 {
if x != nil && x.FilterCode != nil {
return *x.FilterCode
}
return 0
}
func (x *GetFileListReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *GetFileListReqBody) GetFieldFlag() uint32 {
if x != nil && x.FieldFlag != nil {
return *x.FieldFlag
}
return 0
}
func (x *GetFileListReqBody) GetStartIndex() uint32 {
if x != nil && x.StartIndex != nil {
return *x.StartIndex
}
return 0
}
func (x *GetFileListReqBody) GetClientVersion() uint32 {
if x != nil && x.ClientVersion != nil {
return *x.ClientVersion
}
return 0
} }
type GetFileCountReqBody struct { type GetFileCountReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
BusId *uint32 `protobuf:"varint,3,opt"` BusId proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *GetFileCountReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GetFileCountReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *GetFileCountReqBody) GetBusId() uint32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
} }
type GetSpaceReqBody struct { type GetSpaceReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
}
func (x *GetSpaceReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GetSpaceReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
} }
type GetFileCountRspBody struct { type GetFileCountRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
AllFileCount *uint32 `protobuf:"varint,4,opt"` AllFileCount proto.Option[uint32] `protobuf:"varint,4,opt"`
FileTooMany *bool `protobuf:"varint,5,opt"` FileTooMany proto.Option[bool] `protobuf:"varint,5,opt"`
LimitCount *uint32 `protobuf:"varint,6,opt"` LimitCount proto.Option[uint32] `protobuf:"varint,6,opt"`
IsFull *bool `protobuf:"varint,7,opt"` IsFull proto.Option[bool] `protobuf:"varint,7,opt"`
}
func (x *GetFileCountRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *GetFileCountRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *GetFileCountRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *GetFileCountRspBody) GetAllFileCount() uint32 {
if x != nil && x.AllFileCount != nil {
return *x.AllFileCount
}
return 0
}
func (x *GetFileCountRspBody) GetFileTooMany() bool {
if x != nil && x.FileTooMany != nil {
return *x.FileTooMany
}
return false
}
func (x *GetFileCountRspBody) GetLimitCount() uint32 {
if x != nil && x.LimitCount != nil {
return *x.LimitCount
}
return 0
}
func (x *GetFileCountRspBody) GetIsFull() bool {
if x != nil && x.IsFull != nil {
return *x.IsFull
}
return false
} }
type GetSpaceRspBody struct { type GetSpaceRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
TotalSpace *uint64 `protobuf:"varint,4,opt"` TotalSpace proto.Option[uint64] `protobuf:"varint,4,opt"`
UsedSpace *uint64 `protobuf:"varint,5,opt"` UsedSpace proto.Option[uint64] `protobuf:"varint,5,opt"`
}
func (x *GetSpaceRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *GetSpaceRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *GetSpaceRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *GetSpaceRspBody) GetTotalSpace() uint64 {
if x != nil && x.TotalSpace != nil {
return *x.TotalSpace
}
return 0
}
func (x *GetSpaceRspBody) GetUsedSpace() uint64 {
if x != nil && x.UsedSpace != nil {
return *x.UsedSpace
}
return 0
} }
type FileTimeStamp struct { type FileTimeStamp struct {
UploadTime *uint32 `protobuf:"varint,1,opt"` UploadTime proto.Option[uint32] `protobuf:"varint,1,opt"`
FileId *string `protobuf:"bytes,2,opt"` FileId proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *FileTimeStamp) GetUploadTime() uint32 {
if x != nil && x.UploadTime != nil {
return *x.UploadTime
}
return 0
}
func (x *FileTimeStamp) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
} }
type GetFileListRspBody_Item struct { type GetFileListRspBody_Item struct {
Type *uint32 `protobuf:"varint,1,opt"` Type proto.Option[uint32] `protobuf:"varint,1,opt"`
FolderInfo *GroupFolderInfo `protobuf:"bytes,2,opt"` FolderInfo *GroupFolderInfo `protobuf:"bytes,2,opt"`
FileInfo *GroupFileInfo `protobuf:"bytes,3,opt"` FileInfo *GroupFileInfo `protobuf:"bytes,3,opt"`
} }
func (x *GetFileListRspBody_Item) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}

View File

@ -3,332 +3,77 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type GroupFileFeedsInfo struct { type GroupFileFeedsInfo struct {
BusId *uint32 `protobuf:"varint,1,opt"` BusId proto.Option[uint32] `protobuf:"varint,1,opt"`
FileId *string `protobuf:"bytes,2,opt"` FileId proto.Option[string] `protobuf:"bytes,2,opt"`
MsgRandom *uint32 `protobuf:"varint,3,opt"` MsgRandom proto.Option[uint32] `protobuf:"varint,3,opt"`
Ext []byte `protobuf:"bytes,4,opt"` Ext []byte `protobuf:"bytes,4,opt"`
FeedFlag *uint32 `protobuf:"varint,5,opt"` FeedFlag proto.Option[uint32] `protobuf:"varint,5,opt"`
}
func (x *GroupFileFeedsInfo) GetBusId() uint32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *GroupFileFeedsInfo) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
}
func (x *GroupFileFeedsInfo) GetMsgRandom() uint32 {
if x != nil && x.MsgRandom != nil {
return *x.MsgRandom
}
return 0
}
func (x *GroupFileFeedsInfo) GetFeedFlag() uint32 {
if x != nil && x.FeedFlag != nil {
return *x.FeedFlag
}
return 0
} }
type CopyFromReqBody struct { type CopyFromReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
SrcBusId *uint32 `protobuf:"varint,3,opt"` SrcBusId proto.Option[uint32] `protobuf:"varint,3,opt"`
SrcParentFolder []byte `protobuf:"bytes,4,opt"` SrcParentFolder []byte `protobuf:"bytes,4,opt"`
SrcFilePath []byte `protobuf:"bytes,5,opt"` SrcFilePath []byte `protobuf:"bytes,5,opt"`
DstBusId *uint32 `protobuf:"varint,6,opt"` DstBusId proto.Option[uint32] `protobuf:"varint,6,opt"`
DstFolderId []byte `protobuf:"bytes,7,opt"` DstFolderId []byte `protobuf:"bytes,7,opt"`
FileSize *uint64 `protobuf:"varint,8,opt"` FileSize proto.Option[uint64] `protobuf:"varint,8,opt"`
LocalPath *string `protobuf:"bytes,9,opt"` LocalPath proto.Option[string] `protobuf:"bytes,9,opt"`
FileName *string `protobuf:"bytes,10,opt"` FileName proto.Option[string] `protobuf:"bytes,10,opt"`
SrcUin *uint64 `protobuf:"varint,11,opt"` SrcUin proto.Option[uint64] `protobuf:"varint,11,opt"`
Md5 []byte `protobuf:"bytes,12,opt"` Md5 []byte `protobuf:"bytes,12,opt"`
} }
func (x *CopyFromReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *CopyFromReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *CopyFromReqBody) GetSrcBusId() uint32 {
if x != nil && x.SrcBusId != nil {
return *x.SrcBusId
}
return 0
}
func (x *CopyFromReqBody) GetDstBusId() uint32 {
if x != nil && x.DstBusId != nil {
return *x.DstBusId
}
return 0
}
func (x *CopyFromReqBody) GetFileSize() uint64 {
if x != nil && x.FileSize != nil {
return *x.FileSize
}
return 0
}
func (x *CopyFromReqBody) GetLocalPath() string {
if x != nil && x.LocalPath != nil {
return *x.LocalPath
}
return ""
}
func (x *CopyFromReqBody) GetFileName() string {
if x != nil && x.FileName != nil {
return *x.FileName
}
return ""
}
func (x *CopyFromReqBody) GetSrcUin() uint64 {
if x != nil && x.SrcUin != nil {
return *x.SrcUin
}
return 0
}
type CopyFromRspBody struct { type CopyFromRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
SaveFilePath []byte `protobuf:"bytes,4,opt"` SaveFilePath []byte `protobuf:"bytes,4,opt"`
BusId *uint32 `protobuf:"varint,5,opt"` BusId proto.Option[uint32] `protobuf:"varint,5,opt"`
}
func (x *CopyFromRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *CopyFromRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *CopyFromRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *CopyFromRspBody) GetBusId() uint32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
} }
type CopyToReqBody struct { type CopyToReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
SrcBusId *uint32 `protobuf:"varint,3,opt"` SrcBusId proto.Option[uint32] `protobuf:"varint,3,opt"`
SrcFileId *string `protobuf:"bytes,4,opt"` SrcFileId proto.Option[string] `protobuf:"bytes,4,opt"`
DstBusId *uint32 `protobuf:"varint,5,opt"` DstBusId proto.Option[uint32] `protobuf:"varint,5,opt"`
DstUin *uint64 `protobuf:"varint,6,opt"` DstUin proto.Option[uint64] `protobuf:"varint,6,opt"`
NewFileName *string `protobuf:"bytes,40,opt"` NewFileName proto.Option[string] `protobuf:"bytes,40,opt"`
TimCloudPdirKey []byte `protobuf:"bytes,100,opt"` TimCloudPdirKey []byte `protobuf:"bytes,100,opt"`
TimCloudPpdirKey []byte `protobuf:"bytes,101,opt"` TimCloudPpdirKey []byte `protobuf:"bytes,101,opt"`
TimCloudExtensionInfo []byte `protobuf:"bytes,102,opt"` TimCloudExtensionInfo []byte `protobuf:"bytes,102,opt"`
TimFileExistOption *uint32 `protobuf:"varint,103,opt"` TimFileExistOption proto.Option[uint32] `protobuf:"varint,103,opt"`
}
func (x *CopyToReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *CopyToReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *CopyToReqBody) GetSrcBusId() uint32 {
if x != nil && x.SrcBusId != nil {
return *x.SrcBusId
}
return 0
}
func (x *CopyToReqBody) GetSrcFileId() string {
if x != nil && x.SrcFileId != nil {
return *x.SrcFileId
}
return ""
}
func (x *CopyToReqBody) GetDstBusId() uint32 {
if x != nil && x.DstBusId != nil {
return *x.DstBusId
}
return 0
}
func (x *CopyToReqBody) GetDstUin() uint64 {
if x != nil && x.DstUin != nil {
return *x.DstUin
}
return 0
}
func (x *CopyToReqBody) GetNewFileName() string {
if x != nil && x.NewFileName != nil {
return *x.NewFileName
}
return ""
}
func (x *CopyToReqBody) GetTimFileExistOption() uint32 {
if x != nil && x.TimFileExistOption != nil {
return *x.TimFileExistOption
}
return 0
} }
type CopyToRspBody struct { type CopyToRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
SaveFilePath *string `protobuf:"bytes,4,opt"` SaveFilePath proto.Option[string] `protobuf:"bytes,4,opt"`
BusId *uint32 `protobuf:"varint,5,opt"` BusId proto.Option[uint32] `protobuf:"varint,5,opt"`
FileName *string `protobuf:"bytes,40,opt"` FileName proto.Option[string] `protobuf:"bytes,40,opt"`
}
func (x *CopyToRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *CopyToRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *CopyToRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *CopyToRspBody) GetSaveFilePath() string {
if x != nil && x.SaveFilePath != nil {
return *x.SaveFilePath
}
return ""
}
func (x *CopyToRspBody) GetBusId() uint32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *CopyToRspBody) GetFileName() string {
if x != nil && x.FileName != nil {
return *x.FileName
}
return ""
} }
type FeedsReqBody struct { type FeedsReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
FeedsInfoList []*GroupFileFeedsInfo `protobuf:"bytes,3,rep"` FeedsInfoList []*GroupFileFeedsInfo `protobuf:"bytes,3,rep"`
MultiSendSeq *uint32 `protobuf:"varint,4,opt"` MultiSendSeq proto.Option[uint32] `protobuf:"varint,4,opt"`
}
func (x *FeedsReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *FeedsReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *FeedsReqBody) GetMultiSendSeq() uint32 {
if x != nil && x.MultiSendSeq != nil {
return *x.MultiSendSeq
}
return 0
} }
type FeedsRspBody struct { type FeedsRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
//repeated C8639group_file_common.FeedsResult feedsResultList = 4; //repeated C8639group_file_common.FeedsResult feedsResultList = 4;
SvrbusyWaitTime *uint32 `protobuf:"varint,5,opt"` SvrbusyWaitTime proto.Option[uint32] `protobuf:"varint,5,opt"`
}
func (x *FeedsRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *FeedsRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *FeedsRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *FeedsRspBody) GetSvrbusyWaitTime() uint32 {
if x != nil && x.SvrbusyWaitTime != nil {
return *x.SvrbusyWaitTime
}
return 0
} }
type D6D9ReqBody struct { type D6D9ReqBody struct {
@ -346,79 +91,16 @@ type D6D9RspBody struct {
} }
type TransFileReqBody struct { type TransFileReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
AppId *uint32 `protobuf:"varint,2,opt"` AppId proto.Option[uint32] `protobuf:"varint,2,opt"`
BusId *uint32 `protobuf:"varint,3,opt"` BusId proto.Option[uint32] `protobuf:"varint,3,opt"`
FileId *string `protobuf:"bytes,4,opt"` FileId proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *TransFileReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *TransFileReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *TransFileReqBody) GetBusId() uint32 {
if x != nil && x.BusId != nil {
return *x.BusId
}
return 0
}
func (x *TransFileReqBody) GetFileId() string {
if x != nil && x.FileId != nil {
return *x.FileId
}
return ""
} }
type TransFileRspBody struct { type TransFileRspBody struct {
RetCode *int32 `protobuf:"varint,1,opt"` RetCode proto.Option[int32] `protobuf:"varint,1,opt"`
RetMsg *string `protobuf:"bytes,2,opt"` RetMsg proto.Option[string] `protobuf:"bytes,2,opt"`
ClientWording *string `protobuf:"bytes,3,opt"` ClientWording proto.Option[string] `protobuf:"bytes,3,opt"`
SaveBusId *uint32 `protobuf:"varint,4,opt"` SaveBusId proto.Option[uint32] `protobuf:"varint,4,opt"`
SaveFilePath *string `protobuf:"bytes,5,opt"` SaveFilePath proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *TransFileRspBody) GetRetCode() int32 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *TransFileRspBody) GetRetMsg() string {
if x != nil && x.RetMsg != nil {
return *x.RetMsg
}
return ""
}
func (x *TransFileRspBody) GetClientWording() string {
if x != nil && x.ClientWording != nil {
return *x.ClientWording
}
return ""
}
func (x *TransFileRspBody) GetSaveBusId() uint32 {
if x != nil && x.SaveBusId != nil {
return *x.SaveBusId
}
return 0
}
func (x *TransFileRspBody) GetSaveFilePath() string {
if x != nil && x.SaveFilePath != nil {
return *x.SaveFilePath
}
return ""
} }

View File

@ -3,102 +3,36 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type CPU struct { type CPU struct {
Model *string `protobuf:"bytes,1,opt"` Model proto.Option[string] `protobuf:"bytes,1,opt"`
Cores *uint32 `protobuf:"varint,2,opt"` Cores proto.Option[uint32] `protobuf:"varint,2,opt"`
Frequency *uint32 `protobuf:"varint,3,opt"` Frequency proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *CPU) GetModel() string {
if x != nil && x.Model != nil {
return *x.Model
}
return ""
}
func (x *CPU) GetCores() uint32 {
if x != nil && x.Cores != nil {
return *x.Cores
}
return 0
}
func (x *CPU) GetFrequency() uint32 {
if x != nil && x.Frequency != nil {
return *x.Frequency
}
return 0
} }
type Camera struct { type Camera struct {
Primary *uint64 `protobuf:"varint,1,opt"` Primary proto.Option[uint64] `protobuf:"varint,1,opt"`
Secondary *uint64 `protobuf:"varint,2,opt"` Secondary proto.Option[uint64] `protobuf:"varint,2,opt"`
Flash *bool `protobuf:"varint,3,opt"` Flash proto.Option[bool] `protobuf:"varint,3,opt"`
}
func (x *Camera) GetPrimary() uint64 {
if x != nil && x.Primary != nil {
return *x.Primary
}
return 0
}
func (x *Camera) GetSecondary() uint64 {
if x != nil && x.Secondary != nil {
return *x.Secondary
}
return 0
}
func (x *Camera) GetFlash() bool {
if x != nil && x.Flash != nil {
return *x.Flash
}
return false
} }
type D769ConfigSeq struct { type D769ConfigSeq struct {
Type *uint32 `protobuf:"varint,1,opt"` Type proto.Option[uint32] `protobuf:"varint,1,opt"`
Version *uint32 `protobuf:"varint,2,opt"` Version proto.Option[uint32] `protobuf:"varint,2,opt"`
}
func (x *D769ConfigSeq) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *D769ConfigSeq) GetVersion() uint32 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
} }
type Content struct { type Content struct {
TaskId *uint32 `protobuf:"varint,1,opt"` TaskId proto.Option[uint32] `protobuf:"varint,1,opt"`
Compress *uint32 `protobuf:"varint,2,opt"` Compress proto.Option[uint32] `protobuf:"varint,2,opt"`
Content []byte `protobuf:"bytes,10,opt"` Content []byte `protobuf:"bytes,10,opt"`
} }
func (x *Content) GetTaskId() uint32 {
if x != nil && x.TaskId != nil {
return *x.TaskId
}
return 0
}
func (x *Content) GetCompress() uint32 {
if x != nil && x.Compress != nil {
return *x.Compress
}
return 0
}
type D769DeviceInfo struct { type D769DeviceInfo struct {
Brand *string `protobuf:"bytes,1,opt"` Brand proto.Option[string] `protobuf:"bytes,1,opt"`
Model *string `protobuf:"bytes,2,opt"` Model proto.Option[string] `protobuf:"bytes,2,opt"`
Os *C41219OS `protobuf:"bytes,3,opt"` Os *C41219OS `protobuf:"bytes,3,opt"`
Cpu *CPU `protobuf:"bytes,4,opt"` Cpu *CPU `protobuf:"bytes,4,opt"`
Memory *Memory `protobuf:"bytes,5,opt"` Memory *Memory `protobuf:"bytes,5,opt"`
@ -107,281 +41,64 @@ type D769DeviceInfo struct {
Camera *Camera `protobuf:"bytes,8,opt"` Camera *Camera `protobuf:"bytes,8,opt"`
} }
func (x *D769DeviceInfo) GetBrand() string {
if x != nil && x.Brand != nil {
return *x.Brand
}
return ""
}
func (x *D769DeviceInfo) GetModel() string {
if x != nil && x.Model != nil {
return *x.Model
}
return ""
}
type Memory struct { type Memory struct {
Total *uint64 `protobuf:"varint,1,opt"` Total proto.Option[uint64] `protobuf:"varint,1,opt"`
Process *uint64 `protobuf:"varint,2,opt"` Process proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *Memory) GetTotal() uint64 {
if x != nil && x.Total != nil {
return *x.Total
}
return 0
}
func (x *Memory) GetProcess() uint64 {
if x != nil && x.Process != nil {
return *x.Process
}
return 0
} }
type C41219OS struct { type C41219OS struct {
Type *uint32 `protobuf:"varint,1,opt"` Type proto.Option[uint32] `protobuf:"varint,1,opt"`
Version *string `protobuf:"bytes,2,opt"` Version proto.Option[string] `protobuf:"bytes,2,opt"`
Sdk *string `protobuf:"bytes,3,opt"` Sdk proto.Option[string] `protobuf:"bytes,3,opt"`
Kernel *string `protobuf:"bytes,4,opt"` Kernel proto.Option[string] `protobuf:"bytes,4,opt"`
Rom *string `protobuf:"bytes,5,opt"` Rom proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *C41219OS) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *C41219OS) GetVersion() string {
if x != nil && x.Version != nil {
return *x.Version
}
return ""
}
func (x *C41219OS) GetSdk() string {
if x != nil && x.Sdk != nil {
return *x.Sdk
}
return ""
}
func (x *C41219OS) GetKernel() string {
if x != nil && x.Kernel != nil {
return *x.Kernel
}
return ""
}
func (x *C41219OS) GetRom() string {
if x != nil && x.Rom != nil {
return *x.Rom
}
return ""
} }
type QueryUinPackageUsageReq struct { type QueryUinPackageUsageReq struct {
Type *uint32 `protobuf:"varint,1,opt"` Type proto.Option[uint32] `protobuf:"varint,1,opt"`
UinFileSize *uint64 `protobuf:"varint,2,opt"` UinFileSize proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *QueryUinPackageUsageReq) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *QueryUinPackageUsageReq) GetUinFileSize() uint64 {
if x != nil && x.UinFileSize != nil {
return *x.UinFileSize
}
return 0
} }
type QueryUinPackageUsageRsp struct { type QueryUinPackageUsageRsp struct {
Status *uint32 `protobuf:"varint,1,opt"` Status proto.Option[uint32] `protobuf:"varint,1,opt"`
LeftUinNum *uint64 `protobuf:"varint,2,opt"` LeftUinNum proto.Option[uint64] `protobuf:"varint,2,opt"`
MaxUinNum *uint64 `protobuf:"varint,3,opt"` MaxUinNum proto.Option[uint64] `protobuf:"varint,3,opt"`
Proportion *uint32 `protobuf:"varint,4,opt"` Proportion proto.Option[uint32] `protobuf:"varint,4,opt"`
UinPackageUsedList []*UinPackageUsedInfo `protobuf:"bytes,10,rep"` UinPackageUsedList []*UinPackageUsedInfo `protobuf:"bytes,10,rep"`
} }
func (x *QueryUinPackageUsageRsp) GetStatus() uint32 {
if x != nil && x.Status != nil {
return *x.Status
}
return 0
}
func (x *QueryUinPackageUsageRsp) GetLeftUinNum() uint64 {
if x != nil && x.LeftUinNum != nil {
return *x.LeftUinNum
}
return 0
}
func (x *QueryUinPackageUsageRsp) GetMaxUinNum() uint64 {
if x != nil && x.MaxUinNum != nil {
return *x.MaxUinNum
}
return 0
}
func (x *QueryUinPackageUsageRsp) GetProportion() uint32 {
if x != nil && x.Proportion != nil {
return *x.Proportion
}
return 0
}
type D769ReqBody struct { type D769ReqBody struct {
ConfigList []*D769ConfigSeq `protobuf:"bytes,1,rep"` ConfigList []*D769ConfigSeq `protobuf:"bytes,1,rep"`
DeviceInfo *D769DeviceInfo `protobuf:"bytes,2,opt"` DeviceInfo *D769DeviceInfo `protobuf:"bytes,2,opt"`
Info *string `protobuf:"bytes,3,opt"` Info proto.Option[string] `protobuf:"bytes,3,opt"`
Province *string `protobuf:"bytes,4,opt"` Province proto.Option[string] `protobuf:"bytes,4,opt"`
City *string `protobuf:"bytes,5,opt"` City proto.Option[string] `protobuf:"bytes,5,opt"`
ReqDebugMsg *int32 `protobuf:"varint,6,opt"` ReqDebugMsg proto.Option[int32] `protobuf:"varint,6,opt"`
QueryUinPackageUsageReq *QueryUinPackageUsageReq `protobuf:"bytes,101,opt"` QueryUinPackageUsageReq *QueryUinPackageUsageReq `protobuf:"bytes,101,opt"`
} }
func (x *D769ReqBody) GetInfo() string {
if x != nil && x.Info != nil {
return *x.Info
}
return ""
}
func (x *D769ReqBody) GetProvince() string {
if x != nil && x.Province != nil {
return *x.Province
}
return ""
}
func (x *D769ReqBody) GetCity() string {
if x != nil && x.City != nil {
return *x.City
}
return ""
}
func (x *D769ReqBody) GetReqDebugMsg() int32 {
if x != nil && x.ReqDebugMsg != nil {
return *x.ReqDebugMsg
}
return 0
}
type D769RspBody struct { type D769RspBody struct {
Result *uint32 `protobuf:"varint,1,opt"` Result proto.Option[uint32] `protobuf:"varint,1,opt"`
ConfigList []*D769ConfigSeq `protobuf:"bytes,2,rep"` ConfigList []*D769ConfigSeq `protobuf:"bytes,2,rep"`
QueryUinPackageUsageRsp *QueryUinPackageUsageRsp `protobuf:"bytes,101,opt"` QueryUinPackageUsageRsp *QueryUinPackageUsageRsp `protobuf:"bytes,101,opt"`
} }
func (x *D769RspBody) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
type Screen struct { type Screen struct {
Model *string `protobuf:"bytes,1,opt"` Model proto.Option[string] `protobuf:"bytes,1,opt"`
Width *uint32 `protobuf:"varint,2,opt"` Width proto.Option[uint32] `protobuf:"varint,2,opt"`
Height *uint32 `protobuf:"varint,3,opt"` Height proto.Option[uint32] `protobuf:"varint,3,opt"`
Dpi *uint32 `protobuf:"varint,4,opt"` Dpi proto.Option[uint32] `protobuf:"varint,4,opt"`
MultiTouch *bool `protobuf:"varint,5,opt"` MultiTouch proto.Option[bool] `protobuf:"varint,5,opt"`
}
func (x *Screen) GetModel() string {
if x != nil && x.Model != nil {
return *x.Model
}
return ""
}
func (x *Screen) GetWidth() uint32 {
if x != nil && x.Width != nil {
return *x.Width
}
return 0
}
func (x *Screen) GetHeight() uint32 {
if x != nil && x.Height != nil {
return *x.Height
}
return 0
}
func (x *Screen) GetDpi() uint32 {
if x != nil && x.Dpi != nil {
return *x.Dpi
}
return 0
}
func (x *Screen) GetMultiTouch() bool {
if x != nil && x.MultiTouch != nil {
return *x.MultiTouch
}
return false
} }
type Storage struct { type Storage struct {
Builtin *uint64 `protobuf:"varint,1,opt"` Builtin proto.Option[uint64] `protobuf:"varint,1,opt"`
External *uint64 `protobuf:"varint,2,opt"` External proto.Option[uint64] `protobuf:"varint,2,opt"`
}
func (x *Storage) GetBuiltin() uint64 {
if x != nil && x.Builtin != nil {
return *x.Builtin
}
return 0
}
func (x *Storage) GetExternal() uint64 {
if x != nil && x.External != nil {
return *x.External
}
return 0
} }
type UinPackageUsedInfo struct { type UinPackageUsedInfo struct {
RuleId *uint32 `protobuf:"varint,1,opt"` RuleId proto.Option[uint32] `protobuf:"varint,1,opt"`
Author *string `protobuf:"bytes,2,opt"` Author proto.Option[string] `protobuf:"bytes,2,opt"`
Url *string `protobuf:"bytes,3,opt"` Url proto.Option[string] `protobuf:"bytes,3,opt"`
UinNum *uint64 `protobuf:"varint,4,opt"` UinNum proto.Option[uint64] `protobuf:"varint,4,opt"`
}
func (x *UinPackageUsedInfo) GetRuleId() uint32 {
if x != nil && x.RuleId != nil {
return *x.RuleId
}
return 0
}
func (x *UinPackageUsedInfo) GetAuthor() string {
if x != nil && x.Author != nil {
return *x.Author
}
return ""
}
func (x *UinPackageUsedInfo) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
}
func (x *UinPackageUsedInfo) GetUinNum() uint64 {
if x != nil && x.UinNum != nil {
return *x.UinNum
}
return 0
} }

View File

@ -3,779 +3,153 @@
package oidb package oidb
type D88DGroupHeadPortraitInfo struct { import (
PicId *uint32 `protobuf:"varint,1,opt"` proto "github.com/RomiChan/protobuf/proto"
} )
func (x *D88DGroupHeadPortraitInfo) GetPicId() uint32 { type D88DGroupHeadPortraitInfo struct {
if x != nil && x.PicId != nil { PicId proto.Option[uint32] `protobuf:"varint,1,opt"`
return *x.PicId
}
return 0
} }
type D88DGroupHeadPortrait struct { type D88DGroupHeadPortrait struct {
PicCount *uint32 `protobuf:"varint,1,opt"` PicCount proto.Option[uint32] `protobuf:"varint,1,opt"`
MsgInfo []*D88DGroupHeadPortraitInfo `protobuf:"bytes,2,rep"` MsgInfo []*D88DGroupHeadPortraitInfo `protobuf:"bytes,2,rep"`
DefaultId *uint32 `protobuf:"varint,3,opt"` DefaultId proto.Option[uint32] `protobuf:"varint,3,opt"`
VerifyingPicCnt *uint32 `protobuf:"varint,4,opt"` VerifyingPicCnt proto.Option[uint32] `protobuf:"varint,4,opt"`
MsgVerifyingPicInfo []*D88DGroupHeadPortraitInfo `protobuf:"bytes,5,rep"` MsgVerifyingPicInfo []*D88DGroupHeadPortraitInfo `protobuf:"bytes,5,rep"`
} }
func (x *D88DGroupHeadPortrait) GetPicCount() uint32 {
if x != nil && x.PicCount != nil {
return *x.PicCount
}
return 0
}
func (x *D88DGroupHeadPortrait) GetDefaultId() uint32 {
if x != nil && x.DefaultId != nil {
return *x.DefaultId
}
return 0
}
func (x *D88DGroupHeadPortrait) GetVerifyingPicCnt() uint32 {
if x != nil && x.VerifyingPicCnt != nil {
return *x.VerifyingPicCnt
}
return 0
}
type D88DGroupExInfoOnly struct { type D88DGroupExInfoOnly struct {
TribeId *uint32 `protobuf:"varint,1,opt"` TribeId proto.Option[uint32] `protobuf:"varint,1,opt"`
MoneyForAddGroup *uint32 `protobuf:"varint,2,opt"` MoneyForAddGroup proto.Option[uint32] `protobuf:"varint,2,opt"`
}
func (x *D88DGroupExInfoOnly) GetTribeId() uint32 {
if x != nil && x.TribeId != nil {
return *x.TribeId
}
return 0
}
func (x *D88DGroupExInfoOnly) GetMoneyForAddGroup() uint32 {
if x != nil && x.MoneyForAddGroup != nil {
return *x.MoneyForAddGroup
}
return 0
} }
type D88DGroupInfo struct { type D88DGroupInfo struct {
GroupOwner *uint64 `protobuf:"varint,1,opt"` GroupOwner proto.Option[uint64] `protobuf:"varint,1,opt"`
GroupCreateTime *uint32 `protobuf:"varint,2,opt"` GroupCreateTime proto.Option[uint32] `protobuf:"varint,2,opt"`
GroupFlag *uint32 `protobuf:"varint,3,opt"` GroupFlag proto.Option[uint32] `protobuf:"varint,3,opt"`
GroupFlagExt *uint32 `protobuf:"varint,4,opt"` GroupFlagExt proto.Option[uint32] `protobuf:"varint,4,opt"`
GroupMemberMaxNum *uint32 `protobuf:"varint,5,opt"` GroupMemberMaxNum proto.Option[uint32] `protobuf:"varint,5,opt"`
GroupMemberNum *uint32 `protobuf:"varint,6,opt"` GroupMemberNum proto.Option[uint32] `protobuf:"varint,6,opt"`
GroupOption *uint32 `protobuf:"varint,7,opt"` GroupOption proto.Option[uint32] `protobuf:"varint,7,opt"`
GroupClassExt *uint32 `protobuf:"varint,8,opt"` GroupClassExt proto.Option[uint32] `protobuf:"varint,8,opt"`
GroupSpecialClass *uint32 `protobuf:"varint,9,opt"` GroupSpecialClass proto.Option[uint32] `protobuf:"varint,9,opt"`
GroupLevel *uint32 `protobuf:"varint,10,opt"` GroupLevel proto.Option[uint32] `protobuf:"varint,10,opt"`
GroupFace *uint32 `protobuf:"varint,11,opt"` GroupFace proto.Option[uint32] `protobuf:"varint,11,opt"`
GroupDefaultPage *uint32 `protobuf:"varint,12,opt"` GroupDefaultPage proto.Option[uint32] `protobuf:"varint,12,opt"`
GroupInfoSeq *uint32 `protobuf:"varint,13,opt"` GroupInfoSeq proto.Option[uint32] `protobuf:"varint,13,opt"`
GroupRoamingTime *uint32 `protobuf:"varint,14,opt"` GroupRoamingTime proto.Option[uint32] `protobuf:"varint,14,opt"`
GroupName []byte `protobuf:"bytes,15,opt"` GroupName []byte `protobuf:"bytes,15,opt"`
GroupMemo []byte `protobuf:"bytes,16,opt"` GroupMemo []byte `protobuf:"bytes,16,opt"`
GroupFingerMemo []byte `protobuf:"bytes,17,opt"` GroupFingerMemo []byte `protobuf:"bytes,17,opt"`
GroupClassText []byte `protobuf:"bytes,18,opt"` GroupClassText []byte `protobuf:"bytes,18,opt"`
GroupAllianceCode []uint32 `protobuf:"varint,19,rep"` GroupAllianceCode []uint32 `protobuf:"varint,19,rep"`
GroupExtraAadmNum *uint32 `protobuf:"varint,20,opt"` GroupExtraAadmNum proto.Option[uint32] `protobuf:"varint,20,opt"`
GroupUin *uint64 `protobuf:"varint,21,opt"` GroupUin proto.Option[uint64] `protobuf:"varint,21,opt"`
GroupCurMsgSeq *uint32 `protobuf:"varint,22,opt"` GroupCurMsgSeq proto.Option[uint32] `protobuf:"varint,22,opt"`
GroupLastMsgTime *uint32 `protobuf:"varint,23,opt"` GroupLastMsgTime proto.Option[uint32] `protobuf:"varint,23,opt"`
GroupQuestion []byte `protobuf:"bytes,24,opt"` GroupQuestion []byte `protobuf:"bytes,24,opt"`
GroupAnswer []byte `protobuf:"bytes,25,opt"` GroupAnswer []byte `protobuf:"bytes,25,opt"`
GroupVisitorMaxNum *uint32 `protobuf:"varint,26,opt"` GroupVisitorMaxNum proto.Option[uint32] `protobuf:"varint,26,opt"`
GroupVisitorCurNum *uint32 `protobuf:"varint,27,opt"` GroupVisitorCurNum proto.Option[uint32] `protobuf:"varint,27,opt"`
LevelNameSeq *uint32 `protobuf:"varint,28,opt"` LevelNameSeq proto.Option[uint32] `protobuf:"varint,28,opt"`
GroupAdminMaxNum *uint32 `protobuf:"varint,29,opt"` GroupAdminMaxNum proto.Option[uint32] `protobuf:"varint,29,opt"`
GroupAioSkinTimestamp *uint32 `protobuf:"varint,30,opt"` GroupAioSkinTimestamp proto.Option[uint32] `protobuf:"varint,30,opt"`
GroupBoardSkinTimestamp *uint32 `protobuf:"varint,31,opt"` GroupBoardSkinTimestamp proto.Option[uint32] `protobuf:"varint,31,opt"`
GroupAioSkinUrl []byte `protobuf:"bytes,32,opt"` GroupAioSkinUrl []byte `protobuf:"bytes,32,opt"`
GroupBoardSkinUrl []byte `protobuf:"bytes,33,opt"` GroupBoardSkinUrl []byte `protobuf:"bytes,33,opt"`
GroupCoverSkinTimestamp *uint32 `protobuf:"varint,34,opt"` GroupCoverSkinTimestamp proto.Option[uint32] `protobuf:"varint,34,opt"`
GroupCoverSkinUrl []byte `protobuf:"bytes,35,opt"` GroupCoverSkinUrl []byte `protobuf:"bytes,35,opt"`
GroupGrade *uint32 `protobuf:"varint,36,opt"` GroupGrade proto.Option[uint32] `protobuf:"varint,36,opt"`
ActiveMemberNum *uint32 `protobuf:"varint,37,opt"` ActiveMemberNum proto.Option[uint32] `protobuf:"varint,37,opt"`
CertificationType *uint32 `protobuf:"varint,38,opt"` CertificationType proto.Option[uint32] `protobuf:"varint,38,opt"`
CertificationText []byte `protobuf:"bytes,39,opt"` CertificationText []byte `protobuf:"bytes,39,opt"`
GroupRichFingerMemo []byte `protobuf:"bytes,40,opt"` GroupRichFingerMemo []byte `protobuf:"bytes,40,opt"`
TagRecord []*D88DTagRecord `protobuf:"bytes,41,rep"` TagRecord []*D88DTagRecord `protobuf:"bytes,41,rep"`
GroupGeoInfo *D88DGroupGeoInfo `protobuf:"bytes,42,opt"` GroupGeoInfo *D88DGroupGeoInfo `protobuf:"bytes,42,opt"`
HeadPortraitSeq *uint32 `protobuf:"varint,43,opt"` HeadPortraitSeq proto.Option[uint32] `protobuf:"varint,43,opt"`
MsgHeadPortrait *D88DGroupHeadPortrait `protobuf:"bytes,44,opt"` MsgHeadPortrait *D88DGroupHeadPortrait `protobuf:"bytes,44,opt"`
ShutupTimestamp *uint32 `protobuf:"varint,45,opt"` ShutupTimestamp proto.Option[uint32] `protobuf:"varint,45,opt"`
ShutupTimestampMe *uint32 `protobuf:"varint,46,opt"` ShutupTimestampMe proto.Option[uint32] `protobuf:"varint,46,opt"`
CreateSourceFlag *uint32 `protobuf:"varint,47,opt"` CreateSourceFlag proto.Option[uint32] `protobuf:"varint,47,opt"`
CmduinMsgSeq *uint32 `protobuf:"varint,48,opt"` CmduinMsgSeq proto.Option[uint32] `protobuf:"varint,48,opt"`
CmduinJoinTime *uint32 `protobuf:"varint,49,opt"` CmduinJoinTime proto.Option[uint32] `protobuf:"varint,49,opt"`
CmduinUinFlag *uint32 `protobuf:"varint,50,opt"` CmduinUinFlag proto.Option[uint32] `protobuf:"varint,50,opt"`
CmduinFlagEx *uint32 `protobuf:"varint,51,opt"` CmduinFlagEx proto.Option[uint32] `protobuf:"varint,51,opt"`
CmduinNewMobileFlag *uint32 `protobuf:"varint,52,opt"` CmduinNewMobileFlag proto.Option[uint32] `protobuf:"varint,52,opt"`
CmduinReadMsgSeq *uint32 `protobuf:"varint,53,opt"` CmduinReadMsgSeq proto.Option[uint32] `protobuf:"varint,53,opt"`
CmduinLastMsgTime *uint32 `protobuf:"varint,54,opt"` CmduinLastMsgTime proto.Option[uint32] `protobuf:"varint,54,opt"`
GroupTypeFlag *uint32 `protobuf:"varint,55,opt"` GroupTypeFlag proto.Option[uint32] `protobuf:"varint,55,opt"`
AppPrivilegeFlag *uint32 `protobuf:"varint,56,opt"` AppPrivilegeFlag proto.Option[uint32] `protobuf:"varint,56,opt"`
StGroupExInfo *D88DGroupExInfoOnly `protobuf:"bytes,57,opt"` StGroupExInfo *D88DGroupExInfoOnly `protobuf:"bytes,57,opt"`
GroupSecLevel *uint32 `protobuf:"varint,58,opt"` GroupSecLevel proto.Option[uint32] `protobuf:"varint,58,opt"`
GroupSecLevelInfo *uint32 `protobuf:"varint,59,opt"` GroupSecLevelInfo proto.Option[uint32] `protobuf:"varint,59,opt"`
CmduinPrivilege *uint32 `protobuf:"varint,60,opt"` CmduinPrivilege proto.Option[uint32] `protobuf:"varint,60,opt"`
PoidInfo []byte `protobuf:"bytes,61,opt"` PoidInfo []byte `protobuf:"bytes,61,opt"`
CmduinFlagEx2 *uint32 `protobuf:"varint,62,opt"` CmduinFlagEx2 proto.Option[uint32] `protobuf:"varint,62,opt"`
ConfUin *uint64 `protobuf:"varint,63,opt"` ConfUin proto.Option[uint64] `protobuf:"varint,63,opt"`
ConfMaxMsgSeq *uint32 `protobuf:"varint,64,opt"` ConfMaxMsgSeq proto.Option[uint32] `protobuf:"varint,64,opt"`
ConfToGroupTime *uint32 `protobuf:"varint,65,opt"` ConfToGroupTime proto.Option[uint32] `protobuf:"varint,65,opt"`
PasswordRedbagTime *uint32 `protobuf:"varint,66,opt"` PasswordRedbagTime proto.Option[uint32] `protobuf:"varint,66,opt"`
SubscriptionUin *uint64 `protobuf:"varint,67,opt"` SubscriptionUin proto.Option[uint64] `protobuf:"varint,67,opt"`
MemberListChangeSeq *uint32 `protobuf:"varint,68,opt"` MemberListChangeSeq proto.Option[uint32] `protobuf:"varint,68,opt"`
MembercardSeq *uint32 `protobuf:"varint,69,opt"` MembercardSeq proto.Option[uint32] `protobuf:"varint,69,opt"`
RootId *uint64 `protobuf:"varint,70,opt"` RootId proto.Option[uint64] `protobuf:"varint,70,opt"`
ParentId *uint64 `protobuf:"varint,71,opt"` ParentId proto.Option[uint64] `protobuf:"varint,71,opt"`
TeamSeq *uint32 `protobuf:"varint,72,opt"` TeamSeq proto.Option[uint32] `protobuf:"varint,72,opt"`
HistoryMsgBeginTime *uint64 `protobuf:"varint,73,opt"` HistoryMsgBeginTime proto.Option[uint64] `protobuf:"varint,73,opt"`
InviteNoAuthNumLimit *uint64 `protobuf:"varint,74,opt"` InviteNoAuthNumLimit proto.Option[uint64] `protobuf:"varint,74,opt"`
CmduinHistoryMsgSeq *uint32 `protobuf:"varint,75,opt"` CmduinHistoryMsgSeq proto.Option[uint32] `protobuf:"varint,75,opt"`
CmduinJoinMsgSeq *uint32 `protobuf:"varint,76,opt"` CmduinJoinMsgSeq proto.Option[uint32] `protobuf:"varint,76,opt"`
GroupFlagext3 *uint32 `protobuf:"varint,77,opt"` GroupFlagext3 proto.Option[uint32] `protobuf:"varint,77,opt"`
GroupOpenAppid *uint32 `protobuf:"varint,78,opt"` GroupOpenAppid proto.Option[uint32] `protobuf:"varint,78,opt"`
IsConfGroup *uint32 `protobuf:"varint,79,opt"` IsConfGroup proto.Option[uint32] `protobuf:"varint,79,opt"`
IsModifyConfGroupFace *uint32 `protobuf:"varint,80,opt"` IsModifyConfGroupFace proto.Option[uint32] `protobuf:"varint,80,opt"`
IsModifyConfGroupName *uint32 `protobuf:"varint,81,opt"` IsModifyConfGroupName proto.Option[uint32] `protobuf:"varint,81,opt"`
NoFingerOpenFlag *uint32 `protobuf:"varint,82,opt"` NoFingerOpenFlag proto.Option[uint32] `protobuf:"varint,82,opt"`
NoCodeFingerOpenFlag *uint32 `protobuf:"varint,83,opt"` NoCodeFingerOpenFlag proto.Option[uint32] `protobuf:"varint,83,opt"`
}
func (x *D88DGroupInfo) GetGroupOwner() uint64 {
if x != nil && x.GroupOwner != nil {
return *x.GroupOwner
}
return 0
}
func (x *D88DGroupInfo) GetGroupCreateTime() uint32 {
if x != nil && x.GroupCreateTime != nil {
return *x.GroupCreateTime
}
return 0
}
func (x *D88DGroupInfo) GetGroupFlag() uint32 {
if x != nil && x.GroupFlag != nil {
return *x.GroupFlag
}
return 0
}
func (x *D88DGroupInfo) GetGroupFlagExt() uint32 {
if x != nil && x.GroupFlagExt != nil {
return *x.GroupFlagExt
}
return 0
}
func (x *D88DGroupInfo) GetGroupMemberMaxNum() uint32 {
if x != nil && x.GroupMemberMaxNum != nil {
return *x.GroupMemberMaxNum
}
return 0
}
func (x *D88DGroupInfo) GetGroupMemberNum() uint32 {
if x != nil && x.GroupMemberNum != nil {
return *x.GroupMemberNum
}
return 0
}
func (x *D88DGroupInfo) GetGroupOption() uint32 {
if x != nil && x.GroupOption != nil {
return *x.GroupOption
}
return 0
}
func (x *D88DGroupInfo) GetGroupClassExt() uint32 {
if x != nil && x.GroupClassExt != nil {
return *x.GroupClassExt
}
return 0
}
func (x *D88DGroupInfo) GetGroupSpecialClass() uint32 {
if x != nil && x.GroupSpecialClass != nil {
return *x.GroupSpecialClass
}
return 0
}
func (x *D88DGroupInfo) GetGroupLevel() uint32 {
if x != nil && x.GroupLevel != nil {
return *x.GroupLevel
}
return 0
}
func (x *D88DGroupInfo) GetGroupFace() uint32 {
if x != nil && x.GroupFace != nil {
return *x.GroupFace
}
return 0
}
func (x *D88DGroupInfo) GetGroupDefaultPage() uint32 {
if x != nil && x.GroupDefaultPage != nil {
return *x.GroupDefaultPage
}
return 0
}
func (x *D88DGroupInfo) GetGroupInfoSeq() uint32 {
if x != nil && x.GroupInfoSeq != nil {
return *x.GroupInfoSeq
}
return 0
}
func (x *D88DGroupInfo) GetGroupRoamingTime() uint32 {
if x != nil && x.GroupRoamingTime != nil {
return *x.GroupRoamingTime
}
return 0
}
func (x *D88DGroupInfo) GetGroupExtraAadmNum() uint32 {
if x != nil && x.GroupExtraAadmNum != nil {
return *x.GroupExtraAadmNum
}
return 0
}
func (x *D88DGroupInfo) GetGroupUin() uint64 {
if x != nil && x.GroupUin != nil {
return *x.GroupUin
}
return 0
}
func (x *D88DGroupInfo) GetGroupCurMsgSeq() uint32 {
if x != nil && x.GroupCurMsgSeq != nil {
return *x.GroupCurMsgSeq
}
return 0
}
func (x *D88DGroupInfo) GetGroupLastMsgTime() uint32 {
if x != nil && x.GroupLastMsgTime != nil {
return *x.GroupLastMsgTime
}
return 0
}
func (x *D88DGroupInfo) GetGroupVisitorMaxNum() uint32 {
if x != nil && x.GroupVisitorMaxNum != nil {
return *x.GroupVisitorMaxNum
}
return 0
}
func (x *D88DGroupInfo) GetGroupVisitorCurNum() uint32 {
if x != nil && x.GroupVisitorCurNum != nil {
return *x.GroupVisitorCurNum
}
return 0
}
func (x *D88DGroupInfo) GetLevelNameSeq() uint32 {
if x != nil && x.LevelNameSeq != nil {
return *x.LevelNameSeq
}
return 0
}
func (x *D88DGroupInfo) GetGroupAdminMaxNum() uint32 {
if x != nil && x.GroupAdminMaxNum != nil {
return *x.GroupAdminMaxNum
}
return 0
}
func (x *D88DGroupInfo) GetGroupAioSkinTimestamp() uint32 {
if x != nil && x.GroupAioSkinTimestamp != nil {
return *x.GroupAioSkinTimestamp
}
return 0
}
func (x *D88DGroupInfo) GetGroupBoardSkinTimestamp() uint32 {
if x != nil && x.GroupBoardSkinTimestamp != nil {
return *x.GroupBoardSkinTimestamp
}
return 0
}
func (x *D88DGroupInfo) GetGroupCoverSkinTimestamp() uint32 {
if x != nil && x.GroupCoverSkinTimestamp != nil {
return *x.GroupCoverSkinTimestamp
}
return 0
}
func (x *D88DGroupInfo) GetGroupGrade() uint32 {
if x != nil && x.GroupGrade != nil {
return *x.GroupGrade
}
return 0
}
func (x *D88DGroupInfo) GetActiveMemberNum() uint32 {
if x != nil && x.ActiveMemberNum != nil {
return *x.ActiveMemberNum
}
return 0
}
func (x *D88DGroupInfo) GetCertificationType() uint32 {
if x != nil && x.CertificationType != nil {
return *x.CertificationType
}
return 0
}
func (x *D88DGroupInfo) GetHeadPortraitSeq() uint32 {
if x != nil && x.HeadPortraitSeq != nil {
return *x.HeadPortraitSeq
}
return 0
}
func (x *D88DGroupInfo) GetShutupTimestamp() uint32 {
if x != nil && x.ShutupTimestamp != nil {
return *x.ShutupTimestamp
}
return 0
}
func (x *D88DGroupInfo) GetShutupTimestampMe() uint32 {
if x != nil && x.ShutupTimestampMe != nil {
return *x.ShutupTimestampMe
}
return 0
}
func (x *D88DGroupInfo) GetCreateSourceFlag() uint32 {
if x != nil && x.CreateSourceFlag != nil {
return *x.CreateSourceFlag
}
return 0
}
func (x *D88DGroupInfo) GetCmduinMsgSeq() uint32 {
if x != nil && x.CmduinMsgSeq != nil {
return *x.CmduinMsgSeq
}
return 0
}
func (x *D88DGroupInfo) GetCmduinJoinTime() uint32 {
if x != nil && x.CmduinJoinTime != nil {
return *x.CmduinJoinTime
}
return 0
}
func (x *D88DGroupInfo) GetCmduinUinFlag() uint32 {
if x != nil && x.CmduinUinFlag != nil {
return *x.CmduinUinFlag
}
return 0
}
func (x *D88DGroupInfo) GetCmduinFlagEx() uint32 {
if x != nil && x.CmduinFlagEx != nil {
return *x.CmduinFlagEx
}
return 0
}
func (x *D88DGroupInfo) GetCmduinNewMobileFlag() uint32 {
if x != nil && x.CmduinNewMobileFlag != nil {
return *x.CmduinNewMobileFlag
}
return 0
}
func (x *D88DGroupInfo) GetCmduinReadMsgSeq() uint32 {
if x != nil && x.CmduinReadMsgSeq != nil {
return *x.CmduinReadMsgSeq
}
return 0
}
func (x *D88DGroupInfo) GetCmduinLastMsgTime() uint32 {
if x != nil && x.CmduinLastMsgTime != nil {
return *x.CmduinLastMsgTime
}
return 0
}
func (x *D88DGroupInfo) GetGroupTypeFlag() uint32 {
if x != nil && x.GroupTypeFlag != nil {
return *x.GroupTypeFlag
}
return 0
}
func (x *D88DGroupInfo) GetAppPrivilegeFlag() uint32 {
if x != nil && x.AppPrivilegeFlag != nil {
return *x.AppPrivilegeFlag
}
return 0
}
func (x *D88DGroupInfo) GetGroupSecLevel() uint32 {
if x != nil && x.GroupSecLevel != nil {
return *x.GroupSecLevel
}
return 0
}
func (x *D88DGroupInfo) GetGroupSecLevelInfo() uint32 {
if x != nil && x.GroupSecLevelInfo != nil {
return *x.GroupSecLevelInfo
}
return 0
}
func (x *D88DGroupInfo) GetCmduinPrivilege() uint32 {
if x != nil && x.CmduinPrivilege != nil {
return *x.CmduinPrivilege
}
return 0
}
func (x *D88DGroupInfo) GetCmduinFlagEx2() uint32 {
if x != nil && x.CmduinFlagEx2 != nil {
return *x.CmduinFlagEx2
}
return 0
}
func (x *D88DGroupInfo) GetConfUin() uint64 {
if x != nil && x.ConfUin != nil {
return *x.ConfUin
}
return 0
}
func (x *D88DGroupInfo) GetConfMaxMsgSeq() uint32 {
if x != nil && x.ConfMaxMsgSeq != nil {
return *x.ConfMaxMsgSeq
}
return 0
}
func (x *D88DGroupInfo) GetConfToGroupTime() uint32 {
if x != nil && x.ConfToGroupTime != nil {
return *x.ConfToGroupTime
}
return 0
}
func (x *D88DGroupInfo) GetPasswordRedbagTime() uint32 {
if x != nil && x.PasswordRedbagTime != nil {
return *x.PasswordRedbagTime
}
return 0
}
func (x *D88DGroupInfo) GetSubscriptionUin() uint64 {
if x != nil && x.SubscriptionUin != nil {
return *x.SubscriptionUin
}
return 0
}
func (x *D88DGroupInfo) GetMemberListChangeSeq() uint32 {
if x != nil && x.MemberListChangeSeq != nil {
return *x.MemberListChangeSeq
}
return 0
}
func (x *D88DGroupInfo) GetMembercardSeq() uint32 {
if x != nil && x.MembercardSeq != nil {
return *x.MembercardSeq
}
return 0
}
func (x *D88DGroupInfo) GetRootId() uint64 {
if x != nil && x.RootId != nil {
return *x.RootId
}
return 0
}
func (x *D88DGroupInfo) GetParentId() uint64 {
if x != nil && x.ParentId != nil {
return *x.ParentId
}
return 0
}
func (x *D88DGroupInfo) GetTeamSeq() uint32 {
if x != nil && x.TeamSeq != nil {
return *x.TeamSeq
}
return 0
}
func (x *D88DGroupInfo) GetHistoryMsgBeginTime() uint64 {
if x != nil && x.HistoryMsgBeginTime != nil {
return *x.HistoryMsgBeginTime
}
return 0
}
func (x *D88DGroupInfo) GetInviteNoAuthNumLimit() uint64 {
if x != nil && x.InviteNoAuthNumLimit != nil {
return *x.InviteNoAuthNumLimit
}
return 0
}
func (x *D88DGroupInfo) GetCmduinHistoryMsgSeq() uint32 {
if x != nil && x.CmduinHistoryMsgSeq != nil {
return *x.CmduinHistoryMsgSeq
}
return 0
}
func (x *D88DGroupInfo) GetCmduinJoinMsgSeq() uint32 {
if x != nil && x.CmduinJoinMsgSeq != nil {
return *x.CmduinJoinMsgSeq
}
return 0
}
func (x *D88DGroupInfo) GetGroupFlagext3() uint32 {
if x != nil && x.GroupFlagext3 != nil {
return *x.GroupFlagext3
}
return 0
}
func (x *D88DGroupInfo) GetGroupOpenAppid() uint32 {
if x != nil && x.GroupOpenAppid != nil {
return *x.GroupOpenAppid
}
return 0
}
func (x *D88DGroupInfo) GetIsConfGroup() uint32 {
if x != nil && x.IsConfGroup != nil {
return *x.IsConfGroup
}
return 0
}
func (x *D88DGroupInfo) GetIsModifyConfGroupFace() uint32 {
if x != nil && x.IsModifyConfGroupFace != nil {
return *x.IsModifyConfGroupFace
}
return 0
}
func (x *D88DGroupInfo) GetIsModifyConfGroupName() uint32 {
if x != nil && x.IsModifyConfGroupName != nil {
return *x.IsModifyConfGroupName
}
return 0
}
func (x *D88DGroupInfo) GetNoFingerOpenFlag() uint32 {
if x != nil && x.NoFingerOpenFlag != nil {
return *x.NoFingerOpenFlag
}
return 0
}
func (x *D88DGroupInfo) GetNoCodeFingerOpenFlag() uint32 {
if x != nil && x.NoCodeFingerOpenFlag != nil {
return *x.NoCodeFingerOpenFlag
}
return 0
} }
type ReqGroupInfo struct { type ReqGroupInfo struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
Stgroupinfo *D88DGroupInfo `protobuf:"bytes,2,opt"` Stgroupinfo *D88DGroupInfo `protobuf:"bytes,2,opt"`
LastGetGroupNameTime *uint32 `protobuf:"varint,3,opt"` LastGetGroupNameTime proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *ReqGroupInfo) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *ReqGroupInfo) GetLastGetGroupNameTime() uint32 {
if x != nil && x.LastGetGroupNameTime != nil {
return *x.LastGetGroupNameTime
}
return 0
} }
type D88DReqBody struct { type D88DReqBody struct {
AppId *uint32 `protobuf:"varint,1,opt"` AppId proto.Option[uint32] `protobuf:"varint,1,opt"`
ReqGroupInfo []*ReqGroupInfo `protobuf:"bytes,2,rep"` ReqGroupInfo []*ReqGroupInfo `protobuf:"bytes,2,rep"`
PcClientVersion *uint32 `protobuf:"varint,3,opt"` PcClientVersion proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *D88DReqBody) GetAppId() uint32 {
if x != nil && x.AppId != nil {
return *x.AppId
}
return 0
}
func (x *D88DReqBody) GetPcClientVersion() uint32 {
if x != nil && x.PcClientVersion != nil {
return *x.PcClientVersion
}
return 0
} }
type RspGroupInfo struct { type RspGroupInfo struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
Result *uint32 `protobuf:"varint,2,opt"` Result proto.Option[uint32] `protobuf:"varint,2,opt"`
GroupInfo *D88DGroupInfo `protobuf:"bytes,3,opt"` GroupInfo *D88DGroupInfo `protobuf:"bytes,3,opt"`
} }
func (x *RspGroupInfo) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *RspGroupInfo) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
type D88DRspBody struct { type D88DRspBody struct {
RspGroupInfo []*RspGroupInfo `protobuf:"bytes,1,rep"` RspGroupInfo []*RspGroupInfo `protobuf:"bytes,1,rep"`
StrErrorInfo []byte `protobuf:"bytes,2,opt"` StrErrorInfo []byte `protobuf:"bytes,2,opt"`
} }
type D88DTagRecord struct { type D88DTagRecord struct {
FromUin *uint64 `protobuf:"varint,1,opt"` FromUin proto.Option[uint64] `protobuf:"varint,1,opt"`
GroupCode *uint64 `protobuf:"varint,2,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,2,opt"`
TagId []byte `protobuf:"bytes,3,opt"` TagId []byte `protobuf:"bytes,3,opt"`
SetTime *uint64 `protobuf:"varint,4,opt"` SetTime proto.Option[uint64] `protobuf:"varint,4,opt"`
GoodNum *uint32 `protobuf:"varint,5,opt"` GoodNum proto.Option[uint32] `protobuf:"varint,5,opt"`
BadNum *uint32 `protobuf:"varint,6,opt"` BadNum proto.Option[uint32] `protobuf:"varint,6,opt"`
TagLen *uint32 `protobuf:"varint,7,opt"` TagLen proto.Option[uint32] `protobuf:"varint,7,opt"`
TagValue []byte `protobuf:"bytes,8,opt"` TagValue []byte `protobuf:"bytes,8,opt"`
} }
func (x *D88DTagRecord) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *D88DTagRecord) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *D88DTagRecord) GetSetTime() uint64 {
if x != nil && x.SetTime != nil {
return *x.SetTime
}
return 0
}
func (x *D88DTagRecord) GetGoodNum() uint32 {
if x != nil && x.GoodNum != nil {
return *x.GoodNum
}
return 0
}
func (x *D88DTagRecord) GetBadNum() uint32 {
if x != nil && x.BadNum != nil {
return *x.BadNum
}
return 0
}
func (x *D88DTagRecord) GetTagLen() uint32 {
if x != nil && x.TagLen != nil {
return *x.TagLen
}
return 0
}
type D88DGroupGeoInfo struct { type D88DGroupGeoInfo struct {
Owneruin *uint64 `protobuf:"varint,1,opt"` Owneruin proto.Option[uint64] `protobuf:"varint,1,opt"`
Settime *uint32 `protobuf:"varint,2,opt"` Settime proto.Option[uint32] `protobuf:"varint,2,opt"`
Cityid *uint32 `protobuf:"varint,3,opt"` Cityid proto.Option[uint32] `protobuf:"varint,3,opt"`
Longitude *int64 `protobuf:"varint,4,opt"` Longitude proto.Option[int64] `protobuf:"varint,4,opt"`
Latitude *int64 `protobuf:"varint,5,opt"` Latitude proto.Option[int64] `protobuf:"varint,5,opt"`
Geocontent []byte `protobuf:"bytes,6,opt"` Geocontent []byte `protobuf:"bytes,6,opt"`
PoiId *uint64 `protobuf:"varint,7,opt"` PoiId proto.Option[uint64] `protobuf:"varint,7,opt"`
}
func (x *D88DGroupGeoInfo) GetOwneruin() uint64 {
if x != nil && x.Owneruin != nil {
return *x.Owneruin
}
return 0
}
func (x *D88DGroupGeoInfo) GetSettime() uint32 {
if x != nil && x.Settime != nil {
return *x.Settime
}
return 0
}
func (x *D88DGroupGeoInfo) GetCityid() uint32 {
if x != nil && x.Cityid != nil {
return *x.Cityid
}
return 0
}
func (x *D88DGroupGeoInfo) GetLongitude() int64 {
if x != nil && x.Longitude != nil {
return *x.Longitude
}
return 0
}
func (x *D88DGroupGeoInfo) GetLatitude() int64 {
if x != nil && x.Latitude != nil {
return *x.Latitude
}
return 0
}
func (x *D88DGroupGeoInfo) GetPoiId() uint64 {
if x != nil && x.PoiId != nil {
return *x.PoiId
}
return 0
} }

View File

@ -3,74 +3,22 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type D8A7ReqBody struct { type D8A7ReqBody struct {
SubCmd *uint32 `protobuf:"varint,1,opt"` SubCmd proto.Option[uint32] `protobuf:"varint,1,opt"`
LimitIntervalTypeForUin *uint32 `protobuf:"varint,2,opt"` LimitIntervalTypeForUin proto.Option[uint32] `protobuf:"varint,2,opt"`
LimitIntervalTypeForGroup *uint32 `protobuf:"varint,3,opt"` LimitIntervalTypeForGroup proto.Option[uint32] `protobuf:"varint,3,opt"`
Uin *uint64 `protobuf:"varint,4,opt"` Uin proto.Option[uint64] `protobuf:"varint,4,opt"`
GroupCode *uint64 `protobuf:"varint,5,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,5,opt"`
}
func (x *D8A7ReqBody) GetSubCmd() uint32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
func (x *D8A7ReqBody) GetLimitIntervalTypeForUin() uint32 {
if x != nil && x.LimitIntervalTypeForUin != nil {
return *x.LimitIntervalTypeForUin
}
return 0
}
func (x *D8A7ReqBody) GetLimitIntervalTypeForGroup() uint32 {
if x != nil && x.LimitIntervalTypeForGroup != nil {
return *x.LimitIntervalTypeForGroup
}
return 0
}
func (x *D8A7ReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *D8A7ReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
} }
type D8A7RspBody struct { type D8A7RspBody struct {
CanAtAll *bool `protobuf:"varint,1,opt"` CanAtAll proto.Option[bool] `protobuf:"varint,1,opt"`
RemainAtAllCountForUin *uint32 `protobuf:"varint,2,opt"` RemainAtAllCountForUin proto.Option[uint32] `protobuf:"varint,2,opt"`
RemainAtAllCountForGroup *uint32 `protobuf:"varint,3,opt"` RemainAtAllCountForGroup proto.Option[uint32] `protobuf:"varint,3,opt"`
PromptMsg1 []byte `protobuf:"bytes,4,opt"` PromptMsg1 []byte `protobuf:"bytes,4,opt"`
PromptMsg2 []byte `protobuf:"bytes,5,opt"` PromptMsg2 []byte `protobuf:"bytes,5,opt"`
} }
func (x *D8A7RspBody) GetCanAtAll() bool {
if x != nil && x.CanAtAll != nil {
return *x.CanAtAll
}
return false
}
func (x *D8A7RspBody) GetRemainAtAllCountForUin() uint32 {
if x != nil && x.RemainAtAllCountForUin != nil {
return *x.RemainAtAllCountForUin
}
return 0
}
func (x *D8A7RspBody) GetRemainAtAllCountForGroup() uint32 {
if x != nil && x.RemainAtAllCountForGroup != nil {
return *x.RemainAtAllCountForGroup
}
return 0
}

View File

@ -3,177 +3,55 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type D8FCReqBody struct { type D8FCReqBody struct {
GroupCode *int64 `protobuf:"varint,1,opt"` GroupCode proto.Option[int64] `protobuf:"varint,1,opt"`
ShowFlag *int32 `protobuf:"varint,2,opt"` ShowFlag proto.Option[int32] `protobuf:"varint,2,opt"`
MemLevelInfo []*D8FCMemberInfo `protobuf:"bytes,3,rep"` MemLevelInfo []*D8FCMemberInfo `protobuf:"bytes,3,rep"`
LevelName []*D8FCLevelName `protobuf:"bytes,4,rep"` LevelName []*D8FCLevelName `protobuf:"bytes,4,rep"`
UpdateTime *int32 `protobuf:"varint,5,opt"` UpdateTime proto.Option[int32] `protobuf:"varint,5,opt"`
OfficeMode *int32 `protobuf:"varint,6,opt"` OfficeMode proto.Option[int32] `protobuf:"varint,6,opt"`
GroupOpenAppid *int32 `protobuf:"varint,7,opt"` GroupOpenAppid proto.Option[int32] `protobuf:"varint,7,opt"`
MsgClientInfo *D8FCClientInfo `protobuf:"bytes,8,opt"` MsgClientInfo *D8FCClientInfo `protobuf:"bytes,8,opt"`
AuthKey []byte `protobuf:"bytes,9,opt"` AuthKey []byte `protobuf:"bytes,9,opt"`
} }
func (x *D8FCReqBody) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *D8FCReqBody) GetShowFlag() int32 {
if x != nil && x.ShowFlag != nil {
return *x.ShowFlag
}
return 0
}
func (x *D8FCReqBody) GetUpdateTime() int32 {
if x != nil && x.UpdateTime != nil {
return *x.UpdateTime
}
return 0
}
func (x *D8FCReqBody) GetOfficeMode() int32 {
if x != nil && x.OfficeMode != nil {
return *x.OfficeMode
}
return 0
}
func (x *D8FCReqBody) GetGroupOpenAppid() int32 {
if x != nil && x.GroupOpenAppid != nil {
return *x.GroupOpenAppid
}
return 0
}
type D8FCMemberInfo struct { type D8FCMemberInfo struct {
Uin *int64 `protobuf:"varint,1,opt"` Uin proto.Option[int64] `protobuf:"varint,1,opt"`
Point *int32 `protobuf:"varint,2,opt"` Point proto.Option[int32] `protobuf:"varint,2,opt"`
ActiveDay *int32 `protobuf:"varint,3,opt"` ActiveDay proto.Option[int32] `protobuf:"varint,3,opt"`
Level *int32 `protobuf:"varint,4,opt"` Level proto.Option[int32] `protobuf:"varint,4,opt"`
SpecialTitle []byte `protobuf:"bytes,5,opt"` SpecialTitle []byte `protobuf:"bytes,5,opt"`
SpecialTitleExpireTime *int32 `protobuf:"varint,6,opt"` SpecialTitleExpireTime proto.Option[int32] `protobuf:"varint,6,opt"`
UinName []byte `protobuf:"bytes,7,opt"` UinName []byte `protobuf:"bytes,7,opt"`
MemberCardName []byte `protobuf:"bytes,8,opt"` MemberCardName []byte `protobuf:"bytes,8,opt"`
Phone []byte `protobuf:"bytes,9,opt"` Phone []byte `protobuf:"bytes,9,opt"`
Email []byte `protobuf:"bytes,10,opt"` Email []byte `protobuf:"bytes,10,opt"`
Remark []byte `protobuf:"bytes,11,opt"` Remark []byte `protobuf:"bytes,11,opt"`
Gender *int32 `protobuf:"varint,12,opt"` Gender proto.Option[int32] `protobuf:"varint,12,opt"`
Job []byte `protobuf:"bytes,13,opt"` Job []byte `protobuf:"bytes,13,opt"`
TribeLevel *int32 `protobuf:"varint,14,opt"` TribeLevel proto.Option[int32] `protobuf:"varint,14,opt"`
TribePoint *int32 `protobuf:"varint,15,opt"` TribePoint proto.Option[int32] `protobuf:"varint,15,opt"`
RichCardName []*D8FCCardNameElem `protobuf:"bytes,16,rep"` RichCardName []*D8FCCardNameElem `protobuf:"bytes,16,rep"`
CommRichCardName []byte `protobuf:"bytes,17,opt"` CommRichCardName []byte `protobuf:"bytes,17,opt"`
} }
func (x *D8FCMemberInfo) GetUin() int64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *D8FCMemberInfo) GetPoint() int32 {
if x != nil && x.Point != nil {
return *x.Point
}
return 0
}
func (x *D8FCMemberInfo) GetActiveDay() int32 {
if x != nil && x.ActiveDay != nil {
return *x.ActiveDay
}
return 0
}
func (x *D8FCMemberInfo) GetLevel() int32 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
}
func (x *D8FCMemberInfo) GetSpecialTitleExpireTime() int32 {
if x != nil && x.SpecialTitleExpireTime != nil {
return *x.SpecialTitleExpireTime
}
return 0
}
func (x *D8FCMemberInfo) GetGender() int32 {
if x != nil && x.Gender != nil {
return *x.Gender
}
return 0
}
func (x *D8FCMemberInfo) GetTribeLevel() int32 {
if x != nil && x.TribeLevel != nil {
return *x.TribeLevel
}
return 0
}
func (x *D8FCMemberInfo) GetTribePoint() int32 {
if x != nil && x.TribePoint != nil {
return *x.TribePoint
}
return 0
}
type D8FCCardNameElem struct { type D8FCCardNameElem struct {
EnumCardType *int32 `protobuf:"varint,1,opt"` EnumCardType proto.Option[int32] `protobuf:"varint,1,opt"`
Value []byte `protobuf:"bytes,2,opt"` Value []byte `protobuf:"bytes,2,opt"`
} }
func (x *D8FCCardNameElem) GetEnumCardType() int32 {
if x != nil && x.EnumCardType != nil {
return *x.EnumCardType
}
return 0
}
type D8FCLevelName struct { type D8FCLevelName struct {
Level *int32 `protobuf:"varint,1,opt"` Level proto.Option[int32] `protobuf:"varint,1,opt"`
Name *string `protobuf:"bytes,2,opt"` Name proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *D8FCLevelName) GetLevel() int32 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
}
func (x *D8FCLevelName) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
} }
type D8FCClientInfo struct { type D8FCClientInfo struct {
Implat *int32 `protobuf:"varint,1,opt"` Implat proto.Option[int32] `protobuf:"varint,1,opt"`
IngClientver *string `protobuf:"bytes,2,opt"` IngClientver proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *D8FCClientInfo) GetImplat() int32 {
if x != nil && x.Implat != nil {
return *x.Implat
}
return 0
}
func (x *D8FCClientInfo) GetIngClientver() string {
if x != nil && x.IngClientver != nil {
return *x.IngClientver
}
return ""
} }
type D8FCCommCardNameBuf struct { type D8FCCommCardNameBuf struct {

View File

@ -3,321 +3,66 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type CheckUrlReq struct { type CheckUrlReq struct {
Url []string `protobuf:"bytes,1,rep"` Url []string `protobuf:"bytes,1,rep"`
Refer *string `protobuf:"bytes,2,opt"` Refer proto.Option[string] `protobuf:"bytes,2,opt"`
Plateform *string `protobuf:"bytes,3,opt"` Plateform proto.Option[string] `protobuf:"bytes,3,opt"`
QqPfTo *string `protobuf:"bytes,4,opt"` QqPfTo proto.Option[string] `protobuf:"bytes,4,opt"`
Type *uint32 `protobuf:"varint,5,opt"` Type proto.Option[uint32] `protobuf:"varint,5,opt"`
From *uint32 `protobuf:"varint,6,opt"` From proto.Option[uint32] `protobuf:"varint,6,opt"`
Chatid *uint64 `protobuf:"varint,7,opt"` Chatid proto.Option[uint64] `protobuf:"varint,7,opt"`
ServiceType *uint64 `protobuf:"varint,8,opt"` ServiceType proto.Option[uint64] `protobuf:"varint,8,opt"`
SendUin *uint64 `protobuf:"varint,9,opt"` SendUin proto.Option[uint64] `protobuf:"varint,9,opt"`
ReqType *string `protobuf:"bytes,10,opt"` ReqType proto.Option[string] `protobuf:"bytes,10,opt"`
OriginalUrl *string `protobuf:"bytes,11,opt"` OriginalUrl proto.Option[string] `protobuf:"bytes,11,opt"`
IsArk *bool `protobuf:"varint,12,opt"` IsArk proto.Option[bool] `protobuf:"varint,12,opt"`
ArkName *string `protobuf:"bytes,13,opt"` ArkName proto.Option[string] `protobuf:"bytes,13,opt"`
IsFinish *bool `protobuf:"varint,14,opt"` IsFinish proto.Option[bool] `protobuf:"varint,14,opt"`
SrcUrls []string `protobuf:"bytes,15,rep"` SrcUrls []string `protobuf:"bytes,15,rep"`
SrcPlatform *uint32 `protobuf:"varint,16,opt"` SrcPlatform proto.Option[uint32] `protobuf:"varint,16,opt"`
Qua *string `protobuf:"bytes,17,opt"` Qua proto.Option[string] `protobuf:"bytes,17,opt"`
}
func (x *CheckUrlReq) GetRefer() string {
if x != nil && x.Refer != nil {
return *x.Refer
}
return ""
}
func (x *CheckUrlReq) GetPlateform() string {
if x != nil && x.Plateform != nil {
return *x.Plateform
}
return ""
}
func (x *CheckUrlReq) GetQqPfTo() string {
if x != nil && x.QqPfTo != nil {
return *x.QqPfTo
}
return ""
}
func (x *CheckUrlReq) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *CheckUrlReq) GetFrom() uint32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *CheckUrlReq) GetChatid() uint64 {
if x != nil && x.Chatid != nil {
return *x.Chatid
}
return 0
}
func (x *CheckUrlReq) GetServiceType() uint64 {
if x != nil && x.ServiceType != nil {
return *x.ServiceType
}
return 0
}
func (x *CheckUrlReq) GetSendUin() uint64 {
if x != nil && x.SendUin != nil {
return *x.SendUin
}
return 0
}
func (x *CheckUrlReq) GetReqType() string {
if x != nil && x.ReqType != nil {
return *x.ReqType
}
return ""
}
func (x *CheckUrlReq) GetOriginalUrl() string {
if x != nil && x.OriginalUrl != nil {
return *x.OriginalUrl
}
return ""
}
func (x *CheckUrlReq) GetIsArk() bool {
if x != nil && x.IsArk != nil {
return *x.IsArk
}
return false
}
func (x *CheckUrlReq) GetArkName() string {
if x != nil && x.ArkName != nil {
return *x.ArkName
}
return ""
}
func (x *CheckUrlReq) GetIsFinish() bool {
if x != nil && x.IsFinish != nil {
return *x.IsFinish
}
return false
}
func (x *CheckUrlReq) GetSrcPlatform() uint32 {
if x != nil && x.SrcPlatform != nil {
return *x.SrcPlatform
}
return 0
}
func (x *CheckUrlReq) GetQua() string {
if x != nil && x.Qua != nil {
return *x.Qua
}
return ""
} }
type CheckUrlReqItem struct { type CheckUrlReqItem struct {
Url *string `protobuf:"bytes,1,opt"` Url proto.Option[string] `protobuf:"bytes,1,opt"`
Refer *string `protobuf:"bytes,2,opt"` Refer proto.Option[string] `protobuf:"bytes,2,opt"`
Plateform *string `protobuf:"bytes,3,opt"` Plateform proto.Option[string] `protobuf:"bytes,3,opt"`
QqPfTo *string `protobuf:"bytes,4,opt"` QqPfTo proto.Option[string] `protobuf:"bytes,4,opt"`
Type *uint32 `protobuf:"varint,5,opt"` Type proto.Option[uint32] `protobuf:"varint,5,opt"`
From *uint32 `protobuf:"varint,6,opt"` From proto.Option[uint32] `protobuf:"varint,6,opt"`
Chatid *uint64 `protobuf:"varint,7,opt"` Chatid proto.Option[uint64] `protobuf:"varint,7,opt"`
ServiceType *uint64 `protobuf:"varint,8,opt"` ServiceType proto.Option[uint64] `protobuf:"varint,8,opt"`
SendUin *uint64 `protobuf:"varint,9,opt"` SendUin proto.Option[uint64] `protobuf:"varint,9,opt"`
ReqType *string `protobuf:"bytes,10,opt"` ReqType proto.Option[string] `protobuf:"bytes,10,opt"`
}
func (x *CheckUrlReqItem) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
}
func (x *CheckUrlReqItem) GetRefer() string {
if x != nil && x.Refer != nil {
return *x.Refer
}
return ""
}
func (x *CheckUrlReqItem) GetPlateform() string {
if x != nil && x.Plateform != nil {
return *x.Plateform
}
return ""
}
func (x *CheckUrlReqItem) GetQqPfTo() string {
if x != nil && x.QqPfTo != nil {
return *x.QqPfTo
}
return ""
}
func (x *CheckUrlReqItem) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *CheckUrlReqItem) GetFrom() uint32 {
if x != nil && x.From != nil {
return *x.From
}
return 0
}
func (x *CheckUrlReqItem) GetChatid() uint64 {
if x != nil && x.Chatid != nil {
return *x.Chatid
}
return 0
}
func (x *CheckUrlReqItem) GetServiceType() uint64 {
if x != nil && x.ServiceType != nil {
return *x.ServiceType
}
return 0
}
func (x *CheckUrlReqItem) GetSendUin() uint64 {
if x != nil && x.SendUin != nil {
return *x.SendUin
}
return 0
}
func (x *CheckUrlReqItem) GetReqType() string {
if x != nil && x.ReqType != nil {
return *x.ReqType
}
return ""
} }
type CheckUrlRsp struct { type CheckUrlRsp struct {
Results []*UrlCheckResult `protobuf:"bytes,1,rep"` Results []*UrlCheckResult `protobuf:"bytes,1,rep"`
NextReqDuration *uint32 `protobuf:"varint,2,opt"` NextReqDuration proto.Option[uint32] `protobuf:"varint,2,opt"`
}
func (x *CheckUrlRsp) GetNextReqDuration() uint32 {
if x != nil && x.NextReqDuration != nil {
return *x.NextReqDuration
}
return 0
} }
type DBCBReqBody struct { type DBCBReqBody struct {
NotUseCache *int32 `protobuf:"varint,9,opt"` NotUseCache proto.Option[int32] `protobuf:"varint,9,opt"`
CheckUrlReq *CheckUrlReq `protobuf:"bytes,10,opt"` CheckUrlReq *CheckUrlReq `protobuf:"bytes,10,opt"`
} }
func (x *DBCBReqBody) GetNotUseCache() int32 {
if x != nil && x.NotUseCache != nil {
return *x.NotUseCache
}
return 0
}
type DBCBRspBody struct { type DBCBRspBody struct {
Wording *string `protobuf:"bytes,1,opt"` Wording proto.Option[string] `protobuf:"bytes,1,opt"`
CheckUrlRsp *CheckUrlRsp `protobuf:"bytes,10,opt"` CheckUrlRsp *CheckUrlRsp `protobuf:"bytes,10,opt"`
} }
func (x *DBCBRspBody) GetWording() string {
if x != nil && x.Wording != nil {
return *x.Wording
}
return ""
}
type UrlCheckResult struct { type UrlCheckResult struct {
Url *string `protobuf:"bytes,1,opt"` Url proto.Option[string] `protobuf:"bytes,1,opt"`
Result *uint32 `protobuf:"varint,2,opt"` Result proto.Option[uint32] `protobuf:"varint,2,opt"`
JumpResult *uint32 `protobuf:"varint,3,opt"` JumpResult proto.Option[uint32] `protobuf:"varint,3,opt"`
JumpUrl *string `protobuf:"bytes,4,opt"` JumpUrl proto.Option[string] `protobuf:"bytes,4,opt"`
Level *uint32 `protobuf:"varint,5,opt"` Level proto.Option[uint32] `protobuf:"varint,5,opt"`
SubLevel *uint32 `protobuf:"varint,6,opt"` SubLevel proto.Option[uint32] `protobuf:"varint,6,opt"`
Umrtype *uint32 `protobuf:"varint,7,opt"` Umrtype proto.Option[uint32] `protobuf:"varint,7,opt"`
RetFrom *uint32 `protobuf:"varint,8,opt"` RetFrom proto.Option[uint32] `protobuf:"varint,8,opt"`
OperationBit *uint64 `protobuf:"varint,9,opt"` OperationBit proto.Option[uint64] `protobuf:"varint,9,opt"`
}
func (x *UrlCheckResult) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
}
func (x *UrlCheckResult) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *UrlCheckResult) GetJumpResult() uint32 {
if x != nil && x.JumpResult != nil {
return *x.JumpResult
}
return 0
}
func (x *UrlCheckResult) GetJumpUrl() string {
if x != nil && x.JumpUrl != nil {
return *x.JumpUrl
}
return ""
}
func (x *UrlCheckResult) GetLevel() uint32 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
}
func (x *UrlCheckResult) GetSubLevel() uint32 {
if x != nil && x.SubLevel != nil {
return *x.SubLevel
}
return 0
}
func (x *UrlCheckResult) GetUmrtype() uint32 {
if x != nil && x.Umrtype != nil {
return *x.Umrtype
}
return 0
}
func (x *UrlCheckResult) GetRetFrom() uint32 {
if x != nil && x.RetFrom != nil {
return *x.RetFrom
}
return 0
}
func (x *UrlCheckResult) GetOperationBit() uint64 {
if x != nil && x.OperationBit != nil {
return *x.OperationBit
}
return 0
} }

View File

@ -3,94 +3,28 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type LifeAchievementItem struct { type LifeAchievementItem struct {
AchievementId *uint32 `protobuf:"varint,1,opt"` AchievementId proto.Option[uint32] `protobuf:"varint,1,opt"`
AchievementTitle *string `protobuf:"bytes,2,opt"` AchievementTitle proto.Option[string] `protobuf:"bytes,2,opt"`
AchievementIcon *string `protobuf:"bytes,3,opt"` AchievementIcon proto.Option[string] `protobuf:"bytes,3,opt"`
HasPraised *bool `protobuf:"varint,4,opt"` HasPraised proto.Option[bool] `protobuf:"varint,4,opt"`
PraiseNum *uint32 `protobuf:"varint,5,opt"` PraiseNum proto.Option[uint32] `protobuf:"varint,5,opt"`
AchievementContent []byte `protobuf:"bytes,6,opt"` AchievementContent []byte `protobuf:"bytes,6,opt"`
} }
func (x *LifeAchievementItem) GetAchievementId() uint32 {
if x != nil && x.AchievementId != nil {
return *x.AchievementId
}
return 0
}
func (x *LifeAchievementItem) GetAchievementTitle() string {
if x != nil && x.AchievementTitle != nil {
return *x.AchievementTitle
}
return ""
}
func (x *LifeAchievementItem) GetAchievementIcon() string {
if x != nil && x.AchievementIcon != nil {
return *x.AchievementIcon
}
return ""
}
func (x *LifeAchievementItem) GetHasPraised() bool {
if x != nil && x.HasPraised != nil {
return *x.HasPraised
}
return false
}
func (x *LifeAchievementItem) GetPraiseNum() uint32 {
if x != nil && x.PraiseNum != nil {
return *x.PraiseNum
}
return 0
}
type DE5BReqBody struct { type DE5BReqBody struct {
Uin *uint64 `protobuf:"varint,1,opt"` Uin proto.Option[uint64] `protobuf:"varint,1,opt"`
AchievementId []uint32 `protobuf:"varint,2,rep"` AchievementId []uint32 `protobuf:"varint,2,rep"`
MaxCount *uint32 `protobuf:"varint,3,opt"` MaxCount proto.Option[uint32] `protobuf:"varint,3,opt"`
ReqAchievementContent *bool `protobuf:"varint,4,opt"` ReqAchievementContent proto.Option[bool] `protobuf:"varint,4,opt"`
}
func (x *DE5BReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *DE5BReqBody) GetMaxCount() uint32 {
if x != nil && x.MaxCount != nil {
return *x.MaxCount
}
return 0
}
func (x *DE5BReqBody) GetReqAchievementContent() bool {
if x != nil && x.ReqAchievementContent != nil {
return *x.ReqAchievementContent
}
return false
} }
type DE5BRspBody struct { type DE5BRspBody struct {
AchievementTotalCount *uint32 `protobuf:"varint,1,opt"` AchievementTotalCount proto.Option[uint32] `protobuf:"varint,1,opt"`
LifeAchItem []*LifeAchievementItem `protobuf:"bytes,2,rep"` LifeAchItem []*LifeAchievementItem `protobuf:"bytes,2,rep"`
AchievementOpenid *string `protobuf:"bytes,3,opt"` AchievementOpenid proto.Option[string] `protobuf:"bytes,3,opt"`
}
func (x *DE5BRspBody) GetAchievementTotalCount() uint32 {
if x != nil && x.AchievementTotalCount != nil {
return *x.AchievementTotalCount
}
return 0
}
func (x *DE5BRspBody) GetAchievementOpenid() string {
if x != nil && x.AchievementOpenid != nil {
return *x.AchievementOpenid
}
return ""
} }

View File

@ -3,65 +3,20 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type EACReqBody struct { type EACReqBody struct {
GroupCode *uint64 `protobuf:"varint,1,opt"` GroupCode proto.Option[uint64] `protobuf:"varint,1,opt"`
Seq *uint32 `protobuf:"varint,2,opt"` Seq proto.Option[uint32] `protobuf:"varint,2,opt"`
Random *uint32 `protobuf:"varint,3,opt"` Random proto.Option[uint32] `protobuf:"varint,3,opt"`
}
func (x *EACReqBody) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *EACReqBody) GetSeq() uint32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *EACReqBody) GetRandom() uint32 {
if x != nil && x.Random != nil {
return *x.Random
}
return 0
} }
type EACRspBody struct { type EACRspBody struct {
Wording *string `protobuf:"bytes,1,opt"` Wording proto.Option[string] `protobuf:"bytes,1,opt"`
DigestUin *uint64 `protobuf:"varint,2,opt"` DigestUin proto.Option[uint64] `protobuf:"varint,2,opt"`
DigestTime *uint32 `protobuf:"varint,3,opt"` DigestTime proto.Option[uint32] `protobuf:"varint,3,opt"`
//optional DigestMsg msg = 4; //optional DigestMsg msg = 4;
ErrorCode *uint32 `protobuf:"varint,10,opt"` ErrorCode proto.Option[uint32] `protobuf:"varint,10,opt"`
}
func (x *EACRspBody) GetWording() string {
if x != nil && x.Wording != nil {
return *x.Wording
}
return ""
}
func (x *EACRspBody) GetDigestUin() uint64 {
if x != nil && x.DigestUin != nil {
return *x.DigestUin
}
return 0
}
func (x *EACRspBody) GetDigestTime() uint32 {
if x != nil && x.DigestTime != nil {
return *x.DigestTime
}
return 0
}
func (x *EACRspBody) GetErrorCode() uint32 {
if x != nil && x.ErrorCode != nil {
return *x.ErrorCode
}
return 0
} }

View File

@ -3,294 +3,60 @@
package oidb package oidb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type Comment struct { type Comment struct {
Id *string `protobuf:"bytes,1,opt"` Id proto.Option[string] `protobuf:"bytes,1,opt"`
Comment *string `protobuf:"bytes,2,opt"` Comment proto.Option[string] `protobuf:"bytes,2,opt"`
Time *uint64 `protobuf:"varint,3,opt"` Time proto.Option[uint64] `protobuf:"varint,3,opt"`
FromUin *uint64 `protobuf:"varint,4,opt"` FromUin proto.Option[uint64] `protobuf:"varint,4,opt"`
ToUin *uint64 `protobuf:"varint,5,opt"` ToUin proto.Option[uint64] `protobuf:"varint,5,opt"`
ReplyId *string `protobuf:"bytes,6,opt"` ReplyId proto.Option[string] `protobuf:"bytes,6,opt"`
FromNick *string `protobuf:"bytes,7,opt"` FromNick proto.Option[string] `protobuf:"bytes,7,opt"`
}
func (x *Comment) GetId() string {
if x != nil && x.Id != nil {
return *x.Id
}
return ""
}
func (x *Comment) GetComment() string {
if x != nil && x.Comment != nil {
return *x.Comment
}
return ""
}
func (x *Comment) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *Comment) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *Comment) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *Comment) GetReplyId() string {
if x != nil && x.ReplyId != nil {
return *x.ReplyId
}
return ""
}
func (x *Comment) GetFromNick() string {
if x != nil && x.FromNick != nil {
return *x.FromNick
}
return ""
} }
type Praise struct { type Praise struct {
FromUin *uint64 `protobuf:"varint,1,opt"` FromUin proto.Option[uint64] `protobuf:"varint,1,opt"`
ToUin *uint64 `protobuf:"varint,2,opt"` ToUin proto.Option[uint64] `protobuf:"varint,2,opt"`
Time *uint64 `protobuf:"varint,3,opt"` Time proto.Option[uint64] `protobuf:"varint,3,opt"`
FromNick *string `protobuf:"bytes,4,opt"` FromNick proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *Praise) GetFromUin() uint64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *Praise) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *Praise) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *Praise) GetFromNick() string {
if x != nil && x.FromNick != nil {
return *x.FromNick
}
return ""
} }
type Quest struct { type Quest struct {
Id *string `protobuf:"bytes,1,opt"` Id proto.Option[string] `protobuf:"bytes,1,opt"`
Quest *string `protobuf:"bytes,2,opt"` Quest proto.Option[string] `protobuf:"bytes,2,opt"`
QuestUin *uint64 `protobuf:"varint,3,opt"` QuestUin proto.Option[uint64] `protobuf:"varint,3,opt"`
Time *uint64 `protobuf:"varint,4,opt"` Time proto.Option[uint64] `protobuf:"varint,4,opt"`
Ans *string `protobuf:"bytes,5,opt"` Ans proto.Option[string] `protobuf:"bytes,5,opt"`
AnsTime *uint64 `protobuf:"varint,6,opt"` AnsTime proto.Option[uint64] `protobuf:"varint,6,opt"`
Comment []*Comment `protobuf:"bytes,7,rep"` Comment []*Comment `protobuf:"bytes,7,rep"`
Praise []*Praise `protobuf:"bytes,8,rep"` Praise []*Praise `protobuf:"bytes,8,rep"`
PraiseNum *uint64 `protobuf:"varint,9,opt"` PraiseNum proto.Option[uint64] `protobuf:"varint,9,opt"`
LikeKey *string `protobuf:"bytes,10,opt"` LikeKey proto.Option[string] `protobuf:"bytes,10,opt"`
SystemId *uint64 `protobuf:"varint,11,opt"` SystemId proto.Option[uint64] `protobuf:"varint,11,opt"`
CommentNum *uint64 `protobuf:"varint,12,opt"` CommentNum proto.Option[uint64] `protobuf:"varint,12,opt"`
ShowType *uint64 `protobuf:"varint,13,opt"` ShowType proto.Option[uint64] `protobuf:"varint,13,opt"`
ShowTimes *uint64 `protobuf:"varint,14,opt"` ShowTimes proto.Option[uint64] `protobuf:"varint,14,opt"`
BeenPraised *uint64 `protobuf:"varint,15,opt"` BeenPraised proto.Option[uint64] `protobuf:"varint,15,opt"`
QuestRead *bool `protobuf:"varint,16,opt"` QuestRead proto.Option[bool] `protobuf:"varint,16,opt"`
AnsShowType *uint64 `protobuf:"varint,17,opt"` AnsShowType proto.Option[uint64] `protobuf:"varint,17,opt"`
}
func (x *Quest) GetId() string {
if x != nil && x.Id != nil {
return *x.Id
}
return ""
}
func (x *Quest) GetQuest() string {
if x != nil && x.Quest != nil {
return *x.Quest
}
return ""
}
func (x *Quest) GetQuestUin() uint64 {
if x != nil && x.QuestUin != nil {
return *x.QuestUin
}
return 0
}
func (x *Quest) GetTime() uint64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *Quest) GetAns() string {
if x != nil && x.Ans != nil {
return *x.Ans
}
return ""
}
func (x *Quest) GetAnsTime() uint64 {
if x != nil && x.AnsTime != nil {
return *x.AnsTime
}
return 0
}
func (x *Quest) GetPraiseNum() uint64 {
if x != nil && x.PraiseNum != nil {
return *x.PraiseNum
}
return 0
}
func (x *Quest) GetLikeKey() string {
if x != nil && x.LikeKey != nil {
return *x.LikeKey
}
return ""
}
func (x *Quest) GetSystemId() uint64 {
if x != nil && x.SystemId != nil {
return *x.SystemId
}
return 0
}
func (x *Quest) GetCommentNum() uint64 {
if x != nil && x.CommentNum != nil {
return *x.CommentNum
}
return 0
}
func (x *Quest) GetShowType() uint64 {
if x != nil && x.ShowType != nil {
return *x.ShowType
}
return 0
}
func (x *Quest) GetShowTimes() uint64 {
if x != nil && x.ShowTimes != nil {
return *x.ShowTimes
}
return 0
}
func (x *Quest) GetBeenPraised() uint64 {
if x != nil && x.BeenPraised != nil {
return *x.BeenPraised
}
return 0
}
func (x *Quest) GetQuestRead() bool {
if x != nil && x.QuestRead != nil {
return *x.QuestRead
}
return false
}
func (x *Quest) GetAnsShowType() uint64 {
if x != nil && x.AnsShowType != nil {
return *x.AnsShowType
}
return 0
} }
type DEC4ReqBody struct { type DEC4ReqBody struct {
Uin *uint64 `protobuf:"varint,1,opt"` Uin proto.Option[uint64] `protobuf:"varint,1,opt"`
QuestNum *uint64 `protobuf:"varint,2,opt"` QuestNum proto.Option[uint64] `protobuf:"varint,2,opt"`
CommentNum *uint64 `protobuf:"varint,3,opt"` CommentNum proto.Option[uint64] `protobuf:"varint,3,opt"`
Cookie []byte `protobuf:"bytes,4,opt"` Cookie []byte `protobuf:"bytes,4,opt"`
FetchType *uint32 `protobuf:"varint,5,opt"` FetchType proto.Option[uint32] `protobuf:"varint,5,opt"`
}
func (x *DEC4ReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *DEC4ReqBody) GetQuestNum() uint64 {
if x != nil && x.QuestNum != nil {
return *x.QuestNum
}
return 0
}
func (x *DEC4ReqBody) GetCommentNum() uint64 {
if x != nil && x.CommentNum != nil {
return *x.CommentNum
}
return 0
}
func (x *DEC4ReqBody) GetFetchType() uint32 {
if x != nil && x.FetchType != nil {
return *x.FetchType
}
return 0
} }
type DEC4RspBody struct { type DEC4RspBody struct {
Quest []*Quest `protobuf:"bytes,1,rep"` Quest []*Quest `protobuf:"bytes,1,rep"`
IsFetchOver *bool `protobuf:"varint,2,opt"` IsFetchOver proto.Option[bool] `protobuf:"varint,2,opt"`
TotalQuestNum *uint32 `protobuf:"varint,3,opt"` TotalQuestNum proto.Option[uint32] `protobuf:"varint,3,opt"`
Cookie []byte `protobuf:"bytes,4,opt"` Cookie []byte `protobuf:"bytes,4,opt"`
Ret *uint32 `protobuf:"varint,5,opt"` Ret proto.Option[uint32] `protobuf:"varint,5,opt"`
AnsweredQuestNum *uint32 `protobuf:"varint,6,opt"` AnsweredQuestNum proto.Option[uint32] `protobuf:"varint,6,opt"`
}
func (x *DEC4RspBody) GetIsFetchOver() bool {
if x != nil && x.IsFetchOver != nil {
return *x.IsFetchOver
}
return false
}
func (x *DEC4RspBody) GetTotalQuestNum() uint32 {
if x != nil && x.TotalQuestNum != nil {
return *x.TotalQuestNum
}
return 0
}
func (x *DEC4RspBody) GetRet() uint32 {
if x != nil && x.Ret != nil {
return *x.Ret
}
return 0
}
func (x *DEC4RspBody) GetAnsweredQuestNum() uint32 {
if x != nil && x.AnsweredQuestNum != nil {
return *x.AnsweredQuestNum
}
return 0
} }

View File

@ -3,23 +3,13 @@
package profilecard package profilecard
import (
proto "github.com/RomiChan/protobuf/proto"
)
type Location struct { type Location struct {
Latitude *float64 `protobuf:"fixed64,1,opt"` Latitude proto.Option[float64] `protobuf:"fixed64,1,opt"`
Longitude *float64 `protobuf:"fixed64,2,opt"` Longitude proto.Option[float64] `protobuf:"fixed64,2,opt"`
}
func (x *Location) GetLatitude() float64 {
if x != nil && x.Latitude != nil {
return *x.Latitude
}
return 0
}
func (x *Location) GetLongitude() float64 {
if x != nil && x.Longitude != nil {
return *x.Longitude
}
return 0
} }
type ResultItem struct { type ResultItem struct {
@ -31,410 +21,74 @@ type ResultItem struct {
Summary []byte `protobuf:"bytes,6,opt"` Summary []byte `protobuf:"bytes,6,opt"`
HasVideo []byte `protobuf:"bytes,7,opt"` HasVideo []byte `protobuf:"bytes,7,opt"`
PhtotUpdate []byte `protobuf:"bytes,8,opt"` PhtotUpdate []byte `protobuf:"bytes,8,opt"`
Uin *uint64 `protobuf:"varint,9,opt"` Uin proto.Option[uint64] `protobuf:"varint,9,opt"`
ResultId []byte `protobuf:"bytes,10,opt"` ResultId []byte `protobuf:"bytes,10,opt"`
Ftime *uint32 `protobuf:"varint,11,opt"` Ftime proto.Option[uint32] `protobuf:"varint,11,opt"`
NickName []byte `protobuf:"bytes,12,opt"` NickName []byte `protobuf:"bytes,12,opt"`
PicUrlList [][]byte `protobuf:"bytes,13,rep"` PicUrlList [][]byte `protobuf:"bytes,13,rep"`
TotalPicNum *uint32 `protobuf:"varint,14,opt"` TotalPicNum proto.Option[uint32] `protobuf:"varint,14,opt"`
}
func (x *ResultItem) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *ResultItem) GetFtime() uint32 {
if x != nil && x.Ftime != nil {
return *x.Ftime
}
return 0
}
func (x *ResultItem) GetTotalPicNum() uint32 {
if x != nil && x.TotalPicNum != nil {
return *x.TotalPicNum
}
return 0
} }
type Hotwordrecord struct { type Hotwordrecord struct {
Hotword *string `protobuf:"bytes,1,opt"` Hotword proto.Option[string] `protobuf:"bytes,1,opt"`
HotwordType *uint32 `protobuf:"varint,2,opt"` HotwordType proto.Option[uint32] `protobuf:"varint,2,opt"`
HotwordCoverUrl *string `protobuf:"bytes,3,opt"` HotwordCoverUrl proto.Option[string] `protobuf:"bytes,3,opt"`
HotwordTitle *string `protobuf:"bytes,4,opt"` HotwordTitle proto.Option[string] `protobuf:"bytes,4,opt"`
HotwordDescription *string `protobuf:"bytes,5,opt"` HotwordDescription proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *Hotwordrecord) GetHotword() string {
if x != nil && x.Hotword != nil {
return *x.Hotword
}
return ""
}
func (x *Hotwordrecord) GetHotwordType() uint32 {
if x != nil && x.HotwordType != nil {
return *x.HotwordType
}
return 0
}
func (x *Hotwordrecord) GetHotwordCoverUrl() string {
if x != nil && x.HotwordCoverUrl != nil {
return *x.HotwordCoverUrl
}
return ""
}
func (x *Hotwordrecord) GetHotwordTitle() string {
if x != nil && x.HotwordTitle != nil {
return *x.HotwordTitle
}
return ""
}
func (x *Hotwordrecord) GetHotwordDescription() string {
if x != nil && x.HotwordDescription != nil {
return *x.HotwordDescription
}
return ""
} }
type AccountSearchRecord struct { type AccountSearchRecord struct {
Uin *uint64 `protobuf:"varint,1,opt"` Uin proto.Option[uint64] `protobuf:"varint,1,opt"`
Code *uint64 `protobuf:"varint,2,opt"` Code proto.Option[uint64] `protobuf:"varint,2,opt"`
Source *uint32 `protobuf:"varint,3,opt"` Source proto.Option[uint32] `protobuf:"varint,3,opt"`
Name *string `protobuf:"bytes,4,opt"` Name proto.Option[string] `protobuf:"bytes,4,opt"`
Sex *uint32 `protobuf:"varint,5,opt"` Sex proto.Option[uint32] `protobuf:"varint,5,opt"`
Age *uint32 `protobuf:"varint,6,opt"` Age proto.Option[uint32] `protobuf:"varint,6,opt"`
Accout *string `protobuf:"bytes,7,opt"` Accout proto.Option[string] `protobuf:"bytes,7,opt"`
Brief *string `protobuf:"bytes,8,opt"` Brief proto.Option[string] `protobuf:"bytes,8,opt"`
Number *uint32 `protobuf:"varint,9,opt"` Number proto.Option[uint32] `protobuf:"varint,9,opt"`
Flag *uint64 `protobuf:"varint,10,opt"` Flag proto.Option[uint64] `protobuf:"varint,10,opt"`
Relation *uint64 `protobuf:"varint,11,opt"` Relation proto.Option[uint64] `protobuf:"varint,11,opt"`
Mobile *string `protobuf:"bytes,12,opt"` Mobile proto.Option[string] `protobuf:"bytes,12,opt"`
Sign []byte `protobuf:"bytes,13,opt"` Sign []byte `protobuf:"bytes,13,opt"`
Country *uint32 `protobuf:"varint,14,opt"` Country proto.Option[uint32] `protobuf:"varint,14,opt"`
Province *uint32 `protobuf:"varint,15,opt"` Province proto.Option[uint32] `protobuf:"varint,15,opt"`
City *uint32 `protobuf:"varint,16,opt"` City proto.Option[uint32] `protobuf:"varint,16,opt"`
ClassIndex *uint32 `protobuf:"varint,17,opt"` ClassIndex proto.Option[uint32] `protobuf:"varint,17,opt"`
ClassName *string `protobuf:"bytes,18,opt"` ClassName proto.Option[string] `protobuf:"bytes,18,opt"`
CountryName *string `protobuf:"bytes,19,opt"` CountryName proto.Option[string] `protobuf:"bytes,19,opt"`
ProvinceName *string `protobuf:"bytes,20,opt"` ProvinceName proto.Option[string] `protobuf:"bytes,20,opt"`
CityName *string `protobuf:"bytes,21,opt"` CityName proto.Option[string] `protobuf:"bytes,21,opt"`
AccountFlag *uint32 `protobuf:"varint,22,opt"` AccountFlag proto.Option[uint32] `protobuf:"varint,22,opt"`
TitleImage *string `protobuf:"bytes,23,opt"` TitleImage proto.Option[string] `protobuf:"bytes,23,opt"`
ArticleShortUrl *string `protobuf:"bytes,24,opt"` ArticleShortUrl proto.Option[string] `protobuf:"bytes,24,opt"`
ArticleCreateTime *string `protobuf:"bytes,25,opt"` ArticleCreateTime proto.Option[string] `protobuf:"bytes,25,opt"`
ArticleAuthor *string `protobuf:"bytes,26,opt"` ArticleAuthor proto.Option[string] `protobuf:"bytes,26,opt"`
AccountId *uint64 `protobuf:"varint,27,opt"` AccountId proto.Option[uint64] `protobuf:"varint,27,opt"`
//repeated Label groupLabels = 30; //repeated Label groupLabels = 30;
VideoAccount *uint32 `protobuf:"varint,31,opt"` VideoAccount proto.Option[uint32] `protobuf:"varint,31,opt"`
VideoArticle *uint32 `protobuf:"varint,32,opt"` VideoArticle proto.Option[uint32] `protobuf:"varint,32,opt"`
UinPrivilege *int32 `protobuf:"varint,33,opt"` UinPrivilege proto.Option[int32] `protobuf:"varint,33,opt"`
JoinGroupAuth []byte `protobuf:"bytes,34,opt"` JoinGroupAuth []byte `protobuf:"bytes,34,opt"`
Token []byte `protobuf:"bytes,500,opt"` Token []byte `protobuf:"bytes,500,opt"`
Richflag1_59 *uint32 `protobuf:"varint,40603,opt"` Richflag1_59 proto.Option[uint32] `protobuf:"varint,40603,opt"`
Richflag4_409 *uint32 `protobuf:"varint,42409,opt"` Richflag4_409 proto.Option[uint32] `protobuf:"varint,42409,opt"`
}
func (x *AccountSearchRecord) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *AccountSearchRecord) GetCode() uint64 {
if x != nil && x.Code != nil {
return *x.Code
}
return 0
}
func (x *AccountSearchRecord) GetSource() uint32 {
if x != nil && x.Source != nil {
return *x.Source
}
return 0
}
func (x *AccountSearchRecord) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *AccountSearchRecord) GetSex() uint32 {
if x != nil && x.Sex != nil {
return *x.Sex
}
return 0
}
func (x *AccountSearchRecord) GetAge() uint32 {
if x != nil && x.Age != nil {
return *x.Age
}
return 0
}
func (x *AccountSearchRecord) GetAccout() string {
if x != nil && x.Accout != nil {
return *x.Accout
}
return ""
}
func (x *AccountSearchRecord) GetBrief() string {
if x != nil && x.Brief != nil {
return *x.Brief
}
return ""
}
func (x *AccountSearchRecord) GetNumber() uint32 {
if x != nil && x.Number != nil {
return *x.Number
}
return 0
}
func (x *AccountSearchRecord) GetFlag() uint64 {
if x != nil && x.Flag != nil {
return *x.Flag
}
return 0
}
func (x *AccountSearchRecord) GetRelation() uint64 {
if x != nil && x.Relation != nil {
return *x.Relation
}
return 0
}
func (x *AccountSearchRecord) GetMobile() string {
if x != nil && x.Mobile != nil {
return *x.Mobile
}
return ""
}
func (x *AccountSearchRecord) GetCountry() uint32 {
if x != nil && x.Country != nil {
return *x.Country
}
return 0
}
func (x *AccountSearchRecord) GetProvince() uint32 {
if x != nil && x.Province != nil {
return *x.Province
}
return 0
}
func (x *AccountSearchRecord) GetCity() uint32 {
if x != nil && x.City != nil {
return *x.City
}
return 0
}
func (x *AccountSearchRecord) GetClassIndex() uint32 {
if x != nil && x.ClassIndex != nil {
return *x.ClassIndex
}
return 0
}
func (x *AccountSearchRecord) GetClassName() string {
if x != nil && x.ClassName != nil {
return *x.ClassName
}
return ""
}
func (x *AccountSearchRecord) GetCountryName() string {
if x != nil && x.CountryName != nil {
return *x.CountryName
}
return ""
}
func (x *AccountSearchRecord) GetProvinceName() string {
if x != nil && x.ProvinceName != nil {
return *x.ProvinceName
}
return ""
}
func (x *AccountSearchRecord) GetCityName() string {
if x != nil && x.CityName != nil {
return *x.CityName
}
return ""
}
func (x *AccountSearchRecord) GetAccountFlag() uint32 {
if x != nil && x.AccountFlag != nil {
return *x.AccountFlag
}
return 0
}
func (x *AccountSearchRecord) GetTitleImage() string {
if x != nil && x.TitleImage != nil {
return *x.TitleImage
}
return ""
}
func (x *AccountSearchRecord) GetArticleShortUrl() string {
if x != nil && x.ArticleShortUrl != nil {
return *x.ArticleShortUrl
}
return ""
}
func (x *AccountSearchRecord) GetArticleCreateTime() string {
if x != nil && x.ArticleCreateTime != nil {
return *x.ArticleCreateTime
}
return ""
}
func (x *AccountSearchRecord) GetArticleAuthor() string {
if x != nil && x.ArticleAuthor != nil {
return *x.ArticleAuthor
}
return ""
}
func (x *AccountSearchRecord) GetAccountId() uint64 {
if x != nil && x.AccountId != nil {
return *x.AccountId
}
return 0
}
func (x *AccountSearchRecord) GetVideoAccount() uint32 {
if x != nil && x.VideoAccount != nil {
return *x.VideoAccount
}
return 0
}
func (x *AccountSearchRecord) GetVideoArticle() uint32 {
if x != nil && x.VideoArticle != nil {
return *x.VideoArticle
}
return 0
}
func (x *AccountSearchRecord) GetUinPrivilege() int32 {
if x != nil && x.UinPrivilege != nil {
return *x.UinPrivilege
}
return 0
}
func (x *AccountSearchRecord) GetRichflag1_59() uint32 {
if x != nil && x.Richflag1_59 != nil {
return *x.Richflag1_59
}
return 0
}
func (x *AccountSearchRecord) GetRichflag4_409() uint32 {
if x != nil && x.Richflag4_409 != nil {
return *x.Richflag4_409
}
return 0
} }
type AccountSearch struct { type AccountSearch struct {
Start *int32 `protobuf:"varint,1,opt"` Start proto.Option[int32] `protobuf:"varint,1,opt"`
Count *uint32 `protobuf:"varint,2,opt"` Count proto.Option[uint32] `protobuf:"varint,2,opt"`
End *uint32 `protobuf:"varint,3,opt"` End proto.Option[uint32] `protobuf:"varint,3,opt"`
Keyword *string `protobuf:"bytes,4,opt"` Keyword proto.Option[string] `protobuf:"bytes,4,opt"`
List []*AccountSearchRecord `protobuf:"bytes,5,rep"` List []*AccountSearchRecord `protobuf:"bytes,5,rep"`
Highlight []string `protobuf:"bytes,6,rep"` Highlight []string `protobuf:"bytes,6,rep"`
UserLocation *Location `protobuf:"bytes,10,opt"` UserLocation *Location `protobuf:"bytes,10,opt"`
LocationGroup *bool `protobuf:"varint,11,opt"` LocationGroup proto.Option[bool] `protobuf:"varint,11,opt"`
Filtertype *int32 `protobuf:"varint,12,opt"` Filtertype proto.Option[int32] `protobuf:"varint,12,opt"`
//repeated C33304record recommendList = 13; //repeated C33304record recommendList = 13;
HotwordRecord *Hotwordrecord `protobuf:"bytes,14,opt"` HotwordRecord *Hotwordrecord `protobuf:"bytes,14,opt"`
ArticleMoreUrl *string `protobuf:"bytes,15,opt"` ArticleMoreUrl proto.Option[string] `protobuf:"bytes,15,opt"`
ResultItems []*ResultItem `protobuf:"bytes,16,rep"` ResultItems []*ResultItem `protobuf:"bytes,16,rep"`
KeywordSuicide *bool `protobuf:"varint,17,opt"` KeywordSuicide proto.Option[bool] `protobuf:"varint,17,opt"`
ExactSearch *bool `protobuf:"varint,18,opt"` ExactSearch proto.Option[bool] `protobuf:"varint,18,opt"`
}
func (x *AccountSearch) GetStart() int32 {
if x != nil && x.Start != nil {
return *x.Start
}
return 0
}
func (x *AccountSearch) GetCount() uint32 {
if x != nil && x.Count != nil {
return *x.Count
}
return 0
}
func (x *AccountSearch) GetEnd() uint32 {
if x != nil && x.End != nil {
return *x.End
}
return 0
}
func (x *AccountSearch) GetKeyword() string {
if x != nil && x.Keyword != nil {
return *x.Keyword
}
return ""
}
func (x *AccountSearch) GetLocationGroup() bool {
if x != nil && x.LocationGroup != nil {
return *x.LocationGroup
}
return false
}
func (x *AccountSearch) GetFiltertype() int32 {
if x != nil && x.Filtertype != nil {
return *x.Filtertype
}
return 0
}
func (x *AccountSearch) GetArticleMoreUrl() string {
if x != nil && x.ArticleMoreUrl != nil {
return *x.ArticleMoreUrl
}
return ""
}
func (x *AccountSearch) GetKeywordSuicide() bool {
if x != nil && x.KeywordSuicide != nil {
return *x.KeywordSuicide
}
return false
}
func (x *AccountSearch) GetExactSearch() bool {
if x != nil && x.ExactSearch != nil {
return *x.ExactSearch
}
return false
} }

View File

@ -3,426 +3,101 @@
package profilecard package profilecard
import (
proto "github.com/RomiChan/protobuf/proto"
)
type BusiColor struct { type BusiColor struct {
R *int32 `protobuf:"varint,1,opt"` R proto.Option[int32] `protobuf:"varint,1,opt"`
G *int32 `protobuf:"varint,2,opt"` G proto.Option[int32] `protobuf:"varint,2,opt"`
B *int32 `protobuf:"varint,3,opt"` B proto.Option[int32] `protobuf:"varint,3,opt"`
}
func (x *BusiColor) GetR() int32 {
if x != nil && x.R != nil {
return *x.R
}
return 0
}
func (x *BusiColor) GetG() int32 {
if x != nil && x.G != nil {
return *x.G
}
return 0
}
func (x *BusiColor) GetB() int32 {
if x != nil && x.B != nil {
return *x.B
}
return 0
} }
type BusiComm struct { type BusiComm struct {
Ver *int32 `protobuf:"varint,1,opt"` Ver proto.Option[int32] `protobuf:"varint,1,opt"`
Seq *int32 `protobuf:"varint,2,opt"` Seq proto.Option[int32] `protobuf:"varint,2,opt"`
Fromuin *int64 `protobuf:"varint,3,opt"` Fromuin proto.Option[int64] `protobuf:"varint,3,opt"`
Touin *int64 `protobuf:"varint,4,opt"` Touin proto.Option[int64] `protobuf:"varint,4,opt"`
Service *int32 `protobuf:"varint,5,opt"` Service proto.Option[int32] `protobuf:"varint,5,opt"`
SessionType *int32 `protobuf:"varint,6,opt"` SessionType proto.Option[int32] `protobuf:"varint,6,opt"`
SessionKey []byte `protobuf:"bytes,7,opt"` SessionKey []byte `protobuf:"bytes,7,opt"`
ClientIp *int32 `protobuf:"varint,8,opt"` ClientIp proto.Option[int32] `protobuf:"varint,8,opt"`
Display *BusiUi `protobuf:"bytes,9,opt"` Display *BusiUi `protobuf:"bytes,9,opt"`
Result *int32 `protobuf:"varint,10,opt"` Result proto.Option[int32] `protobuf:"varint,10,opt"`
ErrMsg *string `protobuf:"bytes,11,opt"` ErrMsg proto.Option[string] `protobuf:"bytes,11,opt"`
Platform *int32 `protobuf:"varint,12,opt"` Platform proto.Option[int32] `protobuf:"varint,12,opt"`
Qqver *string `protobuf:"bytes,13,opt"` Qqver proto.Option[string] `protobuf:"bytes,13,opt"`
Build *int32 `protobuf:"varint,14,opt"` Build proto.Option[int32] `protobuf:"varint,14,opt"`
MsgLoginSig *BusiLoginSig `protobuf:"bytes,15,opt"` MsgLoginSig *BusiLoginSig `protobuf:"bytes,15,opt"`
Version *int32 `protobuf:"varint,17,opt"` Version proto.Option[int32] `protobuf:"varint,17,opt"`
MsgUinInfo *BusiUinInfo `protobuf:"bytes,18,opt"` MsgUinInfo *BusiUinInfo `protobuf:"bytes,18,opt"`
MsgRichDisplay *BusiRichUi `protobuf:"bytes,19,opt"` MsgRichDisplay *BusiRichUi `protobuf:"bytes,19,opt"`
} }
func (x *BusiComm) GetVer() int32 {
if x != nil && x.Ver != nil {
return *x.Ver
}
return 0
}
func (x *BusiComm) GetSeq() int32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *BusiComm) GetFromuin() int64 {
if x != nil && x.Fromuin != nil {
return *x.Fromuin
}
return 0
}
func (x *BusiComm) GetTouin() int64 {
if x != nil && x.Touin != nil {
return *x.Touin
}
return 0
}
func (x *BusiComm) GetService() int32 {
if x != nil && x.Service != nil {
return *x.Service
}
return 0
}
func (x *BusiComm) GetSessionType() int32 {
if x != nil && x.SessionType != nil {
return *x.SessionType
}
return 0
}
func (x *BusiComm) GetClientIp() int32 {
if x != nil && x.ClientIp != nil {
return *x.ClientIp
}
return 0
}
func (x *BusiComm) GetResult() int32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *BusiComm) GetErrMsg() string {
if x != nil && x.ErrMsg != nil {
return *x.ErrMsg
}
return ""
}
func (x *BusiComm) GetPlatform() int32 {
if x != nil && x.Platform != nil {
return *x.Platform
}
return 0
}
func (x *BusiComm) GetQqver() string {
if x != nil && x.Qqver != nil {
return *x.Qqver
}
return ""
}
func (x *BusiComm) GetBuild() int32 {
if x != nil && x.Build != nil {
return *x.Build
}
return 0
}
func (x *BusiComm) GetVersion() int32 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
}
type BusiCommonReq struct { type BusiCommonReq struct {
ServiceCmd *string `protobuf:"bytes,1,opt"` ServiceCmd proto.Option[string] `protobuf:"bytes,1,opt"`
VcReq *BusiVisitorCountReq `protobuf:"bytes,2,opt"` VcReq *BusiVisitorCountReq `protobuf:"bytes,2,opt"`
HrReq *BusiHideRecordsReq `protobuf:"bytes,3,opt"` HrReq *BusiHideRecordsReq `protobuf:"bytes,3,opt"`
} }
func (x *BusiCommonReq) GetServiceCmd() string {
if x != nil && x.ServiceCmd != nil {
return *x.ServiceCmd
}
return ""
}
type BusiDetailRecord struct { type BusiDetailRecord struct {
Fuin *int32 `protobuf:"varint,1,opt"` Fuin proto.Option[int32] `protobuf:"varint,1,opt"`
Source *int32 `protobuf:"varint,2,opt"` Source proto.Option[int32] `protobuf:"varint,2,opt"`
Vtime *int32 `protobuf:"varint,3,opt"` Vtime proto.Option[int32] `protobuf:"varint,3,opt"`
Mod *int32 `protobuf:"varint,4,opt"` Mod proto.Option[int32] `protobuf:"varint,4,opt"`
HideFlag *int32 `protobuf:"varint,5,opt"` HideFlag proto.Option[int32] `protobuf:"varint,5,opt"`
}
func (x *BusiDetailRecord) GetFuin() int32 {
if x != nil && x.Fuin != nil {
return *x.Fuin
}
return 0
}
func (x *BusiDetailRecord) GetSource() int32 {
if x != nil && x.Source != nil {
return *x.Source
}
return 0
}
func (x *BusiDetailRecord) GetVtime() int32 {
if x != nil && x.Vtime != nil {
return *x.Vtime
}
return 0
}
func (x *BusiDetailRecord) GetMod() int32 {
if x != nil && x.Mod != nil {
return *x.Mod
}
return 0
}
func (x *BusiDetailRecord) GetHideFlag() int32 {
if x != nil && x.HideFlag != nil {
return *x.HideFlag
}
return 0
} }
type BusiHideRecordsReq struct { type BusiHideRecordsReq struct {
Huin *int32 `protobuf:"varint,1,opt"` Huin proto.Option[int32] `protobuf:"varint,1,opt"`
Fuin *int32 `protobuf:"varint,2,opt"` Fuin proto.Option[int32] `protobuf:"varint,2,opt"`
Records []*BusiDetailRecord `protobuf:"bytes,3,rep"` Records []*BusiDetailRecord `protobuf:"bytes,3,rep"`
} }
func (x *BusiHideRecordsReq) GetHuin() int32 {
if x != nil && x.Huin != nil {
return *x.Huin
}
return 0
}
func (x *BusiHideRecordsReq) GetFuin() int32 {
if x != nil && x.Fuin != nil {
return *x.Fuin
}
return 0
}
type BusiLabel struct { type BusiLabel struct {
Name []byte `protobuf:"bytes,1,opt"` Name []byte `protobuf:"bytes,1,opt"`
EnumType *int32 `protobuf:"varint,2,opt"` EnumType proto.Option[int32] `protobuf:"varint,2,opt"`
TextColor *BusiColor `protobuf:"bytes,3,opt"` TextColor *BusiColor `protobuf:"bytes,3,opt"`
EdgingColor *BusiColor `protobuf:"bytes,4,opt"` EdgingColor *BusiColor `protobuf:"bytes,4,opt"`
LabelAttr *int32 `protobuf:"varint,5,opt"` LabelAttr proto.Option[int32] `protobuf:"varint,5,opt"`
LabelType *int32 `protobuf:"varint,6,opt"` LabelType proto.Option[int32] `protobuf:"varint,6,opt"`
}
func (x *BusiLabel) GetEnumType() int32 {
if x != nil && x.EnumType != nil {
return *x.EnumType
}
return 0
}
func (x *BusiLabel) GetLabelAttr() int32 {
if x != nil && x.LabelAttr != nil {
return *x.LabelAttr
}
return 0
}
func (x *BusiLabel) GetLabelType() int32 {
if x != nil && x.LabelType != nil {
return *x.LabelType
}
return 0
} }
type BusiLoginSig struct { type BusiLoginSig struct {
Type *int32 `protobuf:"varint,1,opt"` Type proto.Option[int32] `protobuf:"varint,1,opt"`
Sig []byte `protobuf:"bytes,2,opt"` Sig []byte `protobuf:"bytes,2,opt"`
Appid *int32 `protobuf:"varint,3,opt"` Appid proto.Option[int32] `protobuf:"varint,3,opt"`
}
func (x *BusiLoginSig) GetType() int32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *BusiLoginSig) GetAppid() int32 {
if x != nil && x.Appid != nil {
return *x.Appid
}
return 0
} }
type BusiRichUi struct { type BusiRichUi struct {
Name *string `protobuf:"bytes,1,opt"` Name proto.Option[string] `protobuf:"bytes,1,opt"`
ServiceUrl *string `protobuf:"bytes,2,opt"` //repeated UiInfo uiList = 3; ServiceUrl proto.Option[string] `protobuf:"bytes,2,opt"` //repeated UiInfo uiList = 3;
}
func (x *BusiRichUi) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *BusiRichUi) GetServiceUrl() string {
if x != nil && x.ServiceUrl != nil {
return *x.ServiceUrl
}
return ""
} }
type BusiUi struct { type BusiUi struct {
Url *string `protobuf:"bytes,1,opt"` Url proto.Option[string] `protobuf:"bytes,1,opt"`
Title *string `protobuf:"bytes,2,opt"` Title proto.Option[string] `protobuf:"bytes,2,opt"`
Content *string `protobuf:"bytes,3,opt"` Content proto.Option[string] `protobuf:"bytes,3,opt"`
JumpUrl *string `protobuf:"bytes,4,opt"` JumpUrl proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *BusiUi) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
}
func (x *BusiUi) GetTitle() string {
if x != nil && x.Title != nil {
return *x.Title
}
return ""
}
func (x *BusiUi) GetContent() string {
if x != nil && x.Content != nil {
return *x.Content
}
return ""
}
func (x *BusiUi) GetJumpUrl() string {
if x != nil && x.JumpUrl != nil {
return *x.JumpUrl
}
return ""
} }
type BusiUinInfo struct { type BusiUinInfo struct {
Int64Longitude *int64 `protobuf:"varint,1,opt"` Int64Longitude proto.Option[int64] `protobuf:"varint,1,opt"`
Int64Latitude *int64 `protobuf:"varint,2,opt"` Int64Latitude proto.Option[int64] `protobuf:"varint,2,opt"`
}
func (x *BusiUinInfo) GetInt64Longitude() int64 {
if x != nil && x.Int64Longitude != nil {
return *x.Int64Longitude
}
return 0
}
func (x *BusiUinInfo) GetInt64Latitude() int64 {
if x != nil && x.Int64Latitude != nil {
return *x.Int64Latitude
}
return 0
} }
type BusiVisitorCountReq struct { type BusiVisitorCountReq struct {
Requireuin *int32 `protobuf:"varint,1,opt"` Requireuin proto.Option[int32] `protobuf:"varint,1,opt"`
Operuin *int32 `protobuf:"varint,2,opt"` Operuin proto.Option[int32] `protobuf:"varint,2,opt"`
Mod *int32 `protobuf:"varint,3,opt"` Mod proto.Option[int32] `protobuf:"varint,3,opt"`
ReportFlag *int32 `protobuf:"varint,4,opt"` ReportFlag proto.Option[int32] `protobuf:"varint,4,opt"`
}
func (x *BusiVisitorCountReq) GetRequireuin() int32 {
if x != nil && x.Requireuin != nil {
return *x.Requireuin
}
return 0
}
func (x *BusiVisitorCountReq) GetOperuin() int32 {
if x != nil && x.Operuin != nil {
return *x.Operuin
}
return 0
}
func (x *BusiVisitorCountReq) GetMod() int32 {
if x != nil && x.Mod != nil {
return *x.Mod
}
return 0
}
func (x *BusiVisitorCountReq) GetReportFlag() int32 {
if x != nil && x.ReportFlag != nil {
return *x.ReportFlag
}
return 0
} }
type BusiVisitorCountRsp struct { type BusiVisitorCountRsp struct {
Requireuin *int32 `protobuf:"varint,1,opt"` Requireuin proto.Option[int32] `protobuf:"varint,1,opt"`
TotalLike *int32 `protobuf:"varint,2,opt"` TotalLike proto.Option[int32] `protobuf:"varint,2,opt"`
TotalView *int32 `protobuf:"varint,3,opt"` TotalView proto.Option[int32] `protobuf:"varint,3,opt"`
HotValue *int32 `protobuf:"varint,4,opt"` HotValue proto.Option[int32] `protobuf:"varint,4,opt"`
RedValue *int32 `protobuf:"varint,5,opt"` RedValue proto.Option[int32] `protobuf:"varint,5,opt"`
HotDiff *int32 `protobuf:"varint,6,opt"` HotDiff proto.Option[int32] `protobuf:"varint,6,opt"`
}
func (x *BusiVisitorCountRsp) GetRequireuin() int32 {
if x != nil && x.Requireuin != nil {
return *x.Requireuin
}
return 0
}
func (x *BusiVisitorCountRsp) GetTotalLike() int32 {
if x != nil && x.TotalLike != nil {
return *x.TotalLike
}
return 0
}
func (x *BusiVisitorCountRsp) GetTotalView() int32 {
if x != nil && x.TotalView != nil {
return *x.TotalView
}
return 0
}
func (x *BusiVisitorCountRsp) GetHotValue() int32 {
if x != nil && x.HotValue != nil {
return *x.HotValue
}
return 0
}
func (x *BusiVisitorCountRsp) GetRedValue() int32 {
if x != nil && x.RedValue != nil {
return *x.RedValue
}
return 0
}
func (x *BusiVisitorCountRsp) GetHotDiff() int32 {
if x != nil && x.HotDiff != nil {
return *x.HotDiff
}
return 0
} }

View File

@ -3,108 +3,42 @@
package profilecard package profilecard
import (
proto "github.com/RomiChan/protobuf/proto"
)
type GateCommTaskInfo struct { type GateCommTaskInfo struct {
Appid *int32 `protobuf:"varint,1,opt"` Appid proto.Option[int32] `protobuf:"varint,1,opt"`
TaskData []byte `protobuf:"bytes,2,opt"` TaskData []byte `protobuf:"bytes,2,opt"`
} }
func (x *GateCommTaskInfo) GetAppid() int32 {
if x != nil && x.Appid != nil {
return *x.Appid
}
return 0
}
type GateGetGiftListReq struct { type GateGetGiftListReq struct {
Uin *int32 `protobuf:"varint,1,opt"` Uin proto.Option[int32] `protobuf:"varint,1,opt"`
}
func (x *GateGetGiftListReq) GetUin() int32 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
} }
type GateGetGiftListRsp struct { type GateGetGiftListRsp struct {
GiftUrl []string `protobuf:"bytes,1,rep"` GiftUrl []string `protobuf:"bytes,1,rep"`
CustomUrl *string `protobuf:"bytes,2,opt"` CustomUrl proto.Option[string] `protobuf:"bytes,2,opt"`
Desc *string `protobuf:"bytes,3,opt"` Desc proto.Option[string] `protobuf:"bytes,3,opt"`
IsOn *bool `protobuf:"varint,4,opt"` IsOn proto.Option[bool] `protobuf:"varint,4,opt"`
}
func (x *GateGetGiftListRsp) GetCustomUrl() string {
if x != nil && x.CustomUrl != nil {
return *x.CustomUrl
}
return ""
}
func (x *GateGetGiftListRsp) GetDesc() string {
if x != nil && x.Desc != nil {
return *x.Desc
}
return ""
}
func (x *GateGetGiftListRsp) GetIsOn() bool {
if x != nil && x.IsOn != nil {
return *x.IsOn
}
return false
} }
type GateGetVipCareReq struct { type GateGetVipCareReq struct {
Uin *int64 `protobuf:"varint,1,opt"` Uin proto.Option[int64] `protobuf:"varint,1,opt"`
}
func (x *GateGetVipCareReq) GetUin() int64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
} }
type GateGetVipCareRsp struct { type GateGetVipCareRsp struct {
Buss *int32 `protobuf:"varint,1,opt"` Buss proto.Option[int32] `protobuf:"varint,1,opt"`
Notice *int32 `protobuf:"varint,2,opt"` Notice proto.Option[int32] `protobuf:"varint,2,opt"`
}
func (x *GateGetVipCareRsp) GetBuss() int32 {
if x != nil && x.Buss != nil {
return *x.Buss
}
return 0
}
func (x *GateGetVipCareRsp) GetNotice() int32 {
if x != nil && x.Notice != nil {
return *x.Notice
}
return 0
} }
type GateOidbFlagInfo struct { type GateOidbFlagInfo struct {
Fieled *int32 `protobuf:"varint,1,opt"` Fieled proto.Option[int32] `protobuf:"varint,1,opt"`
ByetsValue []byte `protobuf:"bytes,2,opt"` ByetsValue []byte `protobuf:"bytes,2,opt"`
} }
func (x *GateOidbFlagInfo) GetFieled() int32 {
if x != nil && x.Fieled != nil {
return *x.Fieled
}
return 0
}
type GatePrivilegeBaseInfoReq struct { type GatePrivilegeBaseInfoReq struct {
UReqUin *int64 `protobuf:"varint,1,opt"` UReqUin proto.Option[int64] `protobuf:"varint,1,opt"`
}
func (x *GatePrivilegeBaseInfoReq) GetUReqUin() int64 {
if x != nil && x.UReqUin != nil {
return *x.UReqUin
}
return 0
} }
type GatePrivilegeBaseInfoRsp struct { type GatePrivilegeBaseInfoRsp struct {
@ -112,72 +46,23 @@ type GatePrivilegeBaseInfoRsp struct {
JumpUrl []byte `protobuf:"bytes,2,opt"` JumpUrl []byte `protobuf:"bytes,2,opt"`
VOpenPriv []*GatePrivilegeInfo `protobuf:"bytes,3,rep"` VOpenPriv []*GatePrivilegeInfo `protobuf:"bytes,3,rep"`
VClosePriv []*GatePrivilegeInfo `protobuf:"bytes,4,rep"` VClosePriv []*GatePrivilegeInfo `protobuf:"bytes,4,rep"`
UIsGrayUsr *int32 `protobuf:"varint,5,opt"` UIsGrayUsr proto.Option[int32] `protobuf:"varint,5,opt"`
}
func (x *GatePrivilegeBaseInfoRsp) GetUIsGrayUsr() int32 {
if x != nil && x.UIsGrayUsr != nil {
return *x.UIsGrayUsr
}
return 0
} }
type GatePrivilegeInfo struct { type GatePrivilegeInfo struct {
IType *int32 `protobuf:"varint,1,opt"` IType proto.Option[int32] `protobuf:"varint,1,opt"`
ISort *int32 `protobuf:"varint,2,opt"` ISort proto.Option[int32] `protobuf:"varint,2,opt"`
IFeeType *int32 `protobuf:"varint,3,opt"` IFeeType proto.Option[int32] `protobuf:"varint,3,opt"`
ILevel *int32 `protobuf:"varint,4,opt"` ILevel proto.Option[int32] `protobuf:"varint,4,opt"`
IFlag *int32 `protobuf:"varint,5,opt"` IFlag proto.Option[int32] `protobuf:"varint,5,opt"`
IconUrl []byte `protobuf:"bytes,6,opt"` IconUrl []byte `protobuf:"bytes,6,opt"`
DeluxeIconUrl []byte `protobuf:"bytes,7,opt"` DeluxeIconUrl []byte `protobuf:"bytes,7,opt"`
JumpUrl []byte `protobuf:"bytes,8,opt"` JumpUrl []byte `protobuf:"bytes,8,opt"`
IIsBig *int32 `protobuf:"varint,9,opt"` IIsBig proto.Option[int32] `protobuf:"varint,9,opt"`
}
func (x *GatePrivilegeInfo) GetIType() int32 {
if x != nil && x.IType != nil {
return *x.IType
}
return 0
}
func (x *GatePrivilegeInfo) GetISort() int32 {
if x != nil && x.ISort != nil {
return *x.ISort
}
return 0
}
func (x *GatePrivilegeInfo) GetIFeeType() int32 {
if x != nil && x.IFeeType != nil {
return *x.IFeeType
}
return 0
}
func (x *GatePrivilegeInfo) GetILevel() int32 {
if x != nil && x.ILevel != nil {
return *x.ILevel
}
return 0
}
func (x *GatePrivilegeInfo) GetIFlag() int32 {
if x != nil && x.IFlag != nil {
return *x.IFlag
}
return 0
}
func (x *GatePrivilegeInfo) GetIIsBig() int32 {
if x != nil && x.IIsBig != nil {
return *x.IIsBig
}
return 0
} }
type GateVaProfileGateReq struct { type GateVaProfileGateReq struct {
UCmd *int32 `protobuf:"varint,1,opt"` UCmd proto.Option[int32] `protobuf:"varint,1,opt"`
StPrivilegeReq *GatePrivilegeBaseInfoReq `protobuf:"bytes,2,opt"` StPrivilegeReq *GatePrivilegeBaseInfoReq `protobuf:"bytes,2,opt"`
StGiftReq *GateGetGiftListReq `protobuf:"bytes,3,opt"` StGiftReq *GateGetGiftListReq `protobuf:"bytes,3,opt"`
TaskItem []*GateCommTaskInfo `protobuf:"bytes,4,rep"` TaskItem []*GateCommTaskInfo `protobuf:"bytes,4,rep"`
@ -185,50 +70,15 @@ type GateVaProfileGateReq struct {
StVipCare *GateGetVipCareReq `protobuf:"bytes,6,opt"` StVipCare *GateGetVipCareReq `protobuf:"bytes,6,opt"`
} }
func (x *GateVaProfileGateReq) GetUCmd() int32 {
if x != nil && x.UCmd != nil {
return *x.UCmd
}
return 0
}
type GateQidInfoItem struct { type GateQidInfoItem struct {
Qid *string `protobuf:"bytes,1,opt"` Qid proto.Option[string] `protobuf:"bytes,1,opt"`
Url *string `protobuf:"bytes,2,opt"` Url proto.Option[string] `protobuf:"bytes,2,opt"`
Color *string `protobuf:"bytes,3,opt"` Color proto.Option[string] `protobuf:"bytes,3,opt"`
LogoUrl *string `protobuf:"bytes,4,opt"` LogoUrl proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *GateQidInfoItem) GetQid() string {
if x != nil && x.Qid != nil {
return *x.Qid
}
return ""
}
func (x *GateQidInfoItem) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
}
func (x *GateQidInfoItem) GetColor() string {
if x != nil && x.Color != nil {
return *x.Color
}
return ""
}
func (x *GateQidInfoItem) GetLogoUrl() string {
if x != nil && x.LogoUrl != nil {
return *x.LogoUrl
}
return ""
} }
type GateVaProfileGateRsp struct { type GateVaProfileGateRsp struct {
IRetCode *int32 `protobuf:"varint,1,opt"` IRetCode proto.Option[int32] `protobuf:"varint,1,opt"`
SRetMsg []byte `protobuf:"bytes,2,opt"` SRetMsg []byte `protobuf:"bytes,2,opt"`
StPrivilegeRsp *GatePrivilegeBaseInfoRsp `protobuf:"bytes,3,opt"` StPrivilegeRsp *GatePrivilegeBaseInfoRsp `protobuf:"bytes,3,opt"`
StGiftRsp *GateGetGiftListRsp `protobuf:"bytes,4,opt"` StGiftRsp *GateGetGiftListRsp `protobuf:"bytes,4,opt"`
@ -237,10 +87,3 @@ type GateVaProfileGateRsp struct {
StVipCare *GateGetVipCareRsp `protobuf:"bytes,7,opt"` StVipCare *GateGetVipCareRsp `protobuf:"bytes,7,opt"`
QidInfo *GateQidInfoItem `protobuf:"bytes,9,opt"` QidInfo *GateQidInfoItem `protobuf:"bytes,9,opt"`
} }
func (x *GateVaProfileGateRsp) GetIRetCode() int32 {
if x != nil && x.IRetCode != nil {
return *x.IRetCode
}
return 0
}

View File

@ -3,185 +3,49 @@
package qweb package qweb
import (
proto "github.com/RomiChan/protobuf/proto"
)
type QWebReq struct { type QWebReq struct {
Seq *int64 `protobuf:"varint,1,opt"` Seq proto.Option[int64] `protobuf:"varint,1,opt"`
Qua *string `protobuf:"bytes,2,opt"` Qua proto.Option[string] `protobuf:"bytes,2,opt"`
DeviceInfo *string `protobuf:"bytes,3,opt"` DeviceInfo proto.Option[string] `protobuf:"bytes,3,opt"`
BusiBuff []byte `protobuf:"bytes,4,opt"` BusiBuff []byte `protobuf:"bytes,4,opt"`
TraceId *string `protobuf:"bytes,5,opt"` TraceId proto.Option[string] `protobuf:"bytes,5,opt"`
Module *string `protobuf:"bytes,6,opt"` Module proto.Option[string] `protobuf:"bytes,6,opt"`
Cmdname *string `protobuf:"bytes,7,opt"` Cmdname proto.Option[string] `protobuf:"bytes,7,opt"`
LoginSig *StAuthInfo `protobuf:"bytes,8,opt"` LoginSig *StAuthInfo `protobuf:"bytes,8,opt"`
Crypto *StEncryption `protobuf:"bytes,9,opt"` Crypto *StEncryption `protobuf:"bytes,9,opt"`
Extinfo []*COMMEntry `protobuf:"bytes,10,rep"` Extinfo []*COMMEntry `protobuf:"bytes,10,rep"`
ContentType *uint32 `protobuf:"varint,11,opt"` ContentType proto.Option[uint32] `protobuf:"varint,11,opt"`
}
func (x *QWebReq) GetSeq() int64 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *QWebReq) GetQua() string {
if x != nil && x.Qua != nil {
return *x.Qua
}
return ""
}
func (x *QWebReq) GetDeviceInfo() string {
if x != nil && x.DeviceInfo != nil {
return *x.DeviceInfo
}
return ""
}
func (x *QWebReq) GetTraceId() string {
if x != nil && x.TraceId != nil {
return *x.TraceId
}
return ""
}
func (x *QWebReq) GetModule() string {
if x != nil && x.Module != nil {
return *x.Module
}
return ""
}
func (x *QWebReq) GetCmdname() string {
if x != nil && x.Cmdname != nil {
return *x.Cmdname
}
return ""
}
func (x *QWebReq) GetContentType() uint32 {
if x != nil && x.ContentType != nil {
return *x.ContentType
}
return 0
} }
type QWebRsp struct { type QWebRsp struct {
Seq *int64 `protobuf:"varint,1,opt"` Seq proto.Option[int64] `protobuf:"varint,1,opt"`
RetCode *int64 `protobuf:"varint,2,opt"` RetCode proto.Option[int64] `protobuf:"varint,2,opt"`
ErrMsg *string `protobuf:"bytes,3,opt"` ErrMsg proto.Option[string] `protobuf:"bytes,3,opt"`
BusiBuff []byte `protobuf:"bytes,4,opt"` BusiBuff []byte `protobuf:"bytes,4,opt"`
Traceid *string `protobuf:"bytes,5,opt"` Traceid proto.Option[string] `protobuf:"bytes,5,opt"`
}
func (x *QWebRsp) GetSeq() int64 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
func (x *QWebRsp) GetRetCode() int64 {
if x != nil && x.RetCode != nil {
return *x.RetCode
}
return 0
}
func (x *QWebRsp) GetErrMsg() string {
if x != nil && x.ErrMsg != nil {
return *x.ErrMsg
}
return ""
}
func (x *QWebRsp) GetTraceid() string {
if x != nil && x.Traceid != nil {
return *x.Traceid
}
return ""
} }
type StAuthInfo struct { type StAuthInfo struct {
Uin *string `protobuf:"bytes,1,opt"` Uin proto.Option[string] `protobuf:"bytes,1,opt"`
Sig []byte `protobuf:"bytes,2,opt"` Sig []byte `protobuf:"bytes,2,opt"`
Platform *string `protobuf:"bytes,3,opt"` Platform proto.Option[string] `protobuf:"bytes,3,opt"`
Type *uint32 `protobuf:"varint,4,opt"` Type proto.Option[uint32] `protobuf:"varint,4,opt"`
Appid *string `protobuf:"bytes,5,opt"` Appid proto.Option[string] `protobuf:"bytes,5,opt"`
Openid *string `protobuf:"bytes,6,opt"` Openid proto.Option[string] `protobuf:"bytes,6,opt"`
Sessionkey []byte `protobuf:"bytes,7,opt"` Sessionkey []byte `protobuf:"bytes,7,opt"`
Extinfo []*COMMEntry `protobuf:"bytes,8,rep"` Extinfo []*COMMEntry `protobuf:"bytes,8,rep"`
} }
func (x *StAuthInfo) GetUin() string {
if x != nil && x.Uin != nil {
return *x.Uin
}
return ""
}
func (x *StAuthInfo) GetPlatform() string {
if x != nil && x.Platform != nil {
return *x.Platform
}
return ""
}
func (x *StAuthInfo) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *StAuthInfo) GetAppid() string {
if x != nil && x.Appid != nil {
return *x.Appid
}
return ""
}
func (x *StAuthInfo) GetOpenid() string {
if x != nil && x.Openid != nil {
return *x.Openid
}
return ""
}
type StEncryption struct { type StEncryption struct {
Method *uint32 `protobuf:"varint,1,opt"` Method proto.Option[uint32] `protobuf:"varint,1,opt"`
Iv *string `protobuf:"bytes,2,opt"` Iv proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *StEncryption) GetMethod() uint32 {
if x != nil && x.Method != nil {
return *x.Method
}
return 0
}
func (x *StEncryption) GetIv() string {
if x != nil && x.Iv != nil {
return *x.Iv
}
return ""
} }
type COMMEntry struct { type COMMEntry struct {
Key *string `protobuf:"bytes,1,opt"` Key proto.Option[string] `protobuf:"bytes,1,opt"`
Value *string `protobuf:"bytes,2,opt"` Value proto.Option[string] `protobuf:"bytes,2,opt"`
}
func (x *COMMEntry) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
func (x *COMMEntry) GetValue() string {
if x != nil && x.Value != nil {
return *x.Value
}
return ""
} }

View File

@ -3,47 +3,16 @@
package web package web
import (
proto "github.com/RomiChan/protobuf/proto"
)
type STServiceMonitItem struct { type STServiceMonitItem struct {
Cmd *string `protobuf:"bytes,1,opt"` Cmd proto.Option[string] `protobuf:"bytes,1,opt"`
Url *string `protobuf:"bytes,2,opt"` Url proto.Option[string] `protobuf:"bytes,2,opt"`
Errcode *int32 `protobuf:"varint,3,opt"` Errcode proto.Option[int32] `protobuf:"varint,3,opt"`
Cost *uint32 `protobuf:"varint,4,opt"` Cost proto.Option[uint32] `protobuf:"varint,4,opt"`
Src *uint32 `protobuf:"varint,5,opt"` Src proto.Option[uint32] `protobuf:"varint,5,opt"`
}
func (x *STServiceMonitItem) GetCmd() string {
if x != nil && x.Cmd != nil {
return *x.Cmd
}
return ""
}
func (x *STServiceMonitItem) GetUrl() string {
if x != nil && x.Url != nil {
return *x.Url
}
return ""
}
func (x *STServiceMonitItem) GetErrcode() int32 {
if x != nil && x.Errcode != nil {
return *x.Errcode
}
return 0
}
func (x *STServiceMonitItem) GetCost() uint32 {
if x != nil && x.Cost != nil {
return *x.Cost
}
return 0
}
func (x *STServiceMonitItem) GetSrc() uint32 {
if x != nil && x.Src != nil {
return *x.Src
}
return 0
} }
type STServiceMonitReq struct { type STServiceMonitReq struct {
@ -51,91 +20,21 @@ type STServiceMonitReq struct {
} }
type WebSsoControlData struct { type WebSsoControlData struct {
Frequency *uint32 `protobuf:"varint,1,opt"` Frequency proto.Option[uint32] `protobuf:"varint,1,opt"`
PackageSize *uint32 `protobuf:"varint,2,opt"` PackageSize proto.Option[uint32] `protobuf:"varint,2,opt"`
}
func (x *WebSsoControlData) GetFrequency() uint32 {
if x != nil && x.Frequency != nil {
return *x.Frequency
}
return 0
}
func (x *WebSsoControlData) GetPackageSize() uint32 {
if x != nil && x.PackageSize != nil {
return *x.PackageSize
}
return 0
} }
type WebSsoRequestBody struct { type WebSsoRequestBody struct {
Version *uint32 `protobuf:"varint,1,opt"` Version proto.Option[uint32] `protobuf:"varint,1,opt"`
Type *uint32 `protobuf:"varint,2,opt"` Type proto.Option[uint32] `protobuf:"varint,2,opt"`
Data *string `protobuf:"bytes,3,opt"` Data proto.Option[string] `protobuf:"bytes,3,opt"`
WebData *string `protobuf:"bytes,4,opt"` WebData proto.Option[string] `protobuf:"bytes,4,opt"`
}
func (x *WebSsoRequestBody) GetVersion() uint32 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
}
func (x *WebSsoRequestBody) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *WebSsoRequestBody) GetData() string {
if x != nil && x.Data != nil {
return *x.Data
}
return ""
}
func (x *WebSsoRequestBody) GetWebData() string {
if x != nil && x.WebData != nil {
return *x.WebData
}
return ""
} }
type WebSsoResponseBody struct { type WebSsoResponseBody struct {
Version *uint32 `protobuf:"varint,1,opt"` Version proto.Option[uint32] `protobuf:"varint,1,opt"`
Type *uint32 `protobuf:"varint,2,opt"` Type proto.Option[uint32] `protobuf:"varint,2,opt"`
Ret *uint32 `protobuf:"varint,3,opt"` Ret proto.Option[uint32] `protobuf:"varint,3,opt"`
Data *string `protobuf:"bytes,4,opt"` Data proto.Option[string] `protobuf:"bytes,4,opt"`
ControlData *WebSsoControlData `protobuf:"bytes,5,opt"` ControlData *WebSsoControlData `protobuf:"bytes,5,opt"`
} }
func (x *WebSsoResponseBody) GetVersion() uint32 {
if x != nil && x.Version != nil {
return *x.Version
}
return 0
}
func (x *WebSsoResponseBody) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *WebSsoResponseBody) GetRet() uint32 {
if x != nil && x.Ret != nil {
return *x.Ret
}
return 0
}
func (x *WebSsoResponseBody) GetData() string {
if x != nil && x.Data != nil {
return *x.Data
}
return ""
}

View File

@ -138,7 +138,7 @@ func (c *QQClient) buildGetOneDayRoamMsgRequest(target, lastMsgTime, random int6
PeerUin: proto.Uint64(uint64(target)), PeerUin: proto.Uint64(uint64(target)),
LastMsgTime: proto.Uint64(uint64(lastMsgTime)), LastMsgTime: proto.Uint64(uint64(lastMsgTime)),
Random: proto.Uint64(uint64(random)), Random: proto.Uint64(uint64(random)),
ReadCnt: &count, ReadCnt: proto.Some(count),
} }
payload, _ := proto.Marshal(req) payload, _ := proto.Marshal(req)
packet := packets.BuildUniPacket(c.Uin, seq, "MessageSvc.PbGetOneDayRoamMsg", 1, c.SessionId, EmptyBytes, c.sigInfo.d2Key, payload) packet := packets.BuildUniPacket(c.Uin, seq, "MessageSvc.PbGetOneDayRoamMsg", 1, c.SessionId, EmptyBytes, c.sigInfo.d2Key, payload)
@ -156,16 +156,16 @@ func (c *QQClient) buildFriendSendingPacket(target int64, msgSeq, r, pkgNum, pkg
} }
} }
req := &msg.SendMessageRequest{ req := &msg.SendMessageRequest{
RoutingHead: &msg.RoutingHead{C2C: &msg.C2C{ToUin: &target}}, RoutingHead: &msg.RoutingHead{C2C: &msg.C2C{ToUin: proto.Some(target)}},
ContentHead: &msg.ContentHead{PkgNum: &pkgNum, PkgIndex: &pkgIndex, DivSeq: &pkgDiv}, ContentHead: &msg.ContentHead{PkgNum: proto.Some(pkgNum), PkgIndex: proto.Some(pkgIndex), DivSeq: proto.Some(pkgDiv)},
MsgBody: &msg.MessageBody{ MsgBody: &msg.MessageBody{
RichText: &msg.RichText{ RichText: &msg.RichText{
Elems: message.ToProtoElems(m, false), Elems: message.ToProtoElems(m, false),
Ptt: ptt, Ptt: ptt,
}, },
}, },
MsgSeq: &msgSeq, MsgSeq: proto.Some(msgSeq),
MsgRand: &r, MsgRand: proto.Some(r),
SyncCookie: syncCookie(time), SyncCookie: syncCookie(time),
} }
payload, _ := proto.Marshal(req) payload, _ := proto.Marshal(req)
@ -176,8 +176,8 @@ func (c *QQClient) buildFriendSendingPacket(target int64, msgSeq, r, pkgNum, pkg
func (c *QQClient) buildGroupTempSendingPacket(groupUin, target int64, msgSeq, r int32, time int64, m *message.SendingMessage) (uint16, []byte) { func (c *QQClient) buildGroupTempSendingPacket(groupUin, target int64, msgSeq, r int32, time int64, m *message.SendingMessage) (uint16, []byte) {
req := &msg.SendMessageRequest{ req := &msg.SendMessageRequest{
RoutingHead: &msg.RoutingHead{GrpTmp: &msg.GrpTmp{ RoutingHead: &msg.RoutingHead{GrpTmp: &msg.GrpTmp{
GroupUin: &groupUin, GroupUin: proto.Some(groupUin),
ToUin: &target, ToUin: proto.Some(target),
}}, }},
ContentHead: &msg.ContentHead{PkgNum: proto.Int32(1)}, ContentHead: &msg.ContentHead{PkgNum: proto.Int32(1)},
MsgBody: &msg.MessageBody{ MsgBody: &msg.MessageBody{
@ -185,8 +185,8 @@ func (c *QQClient) buildGroupTempSendingPacket(groupUin, target int64, msgSeq, r
Elems: message.ToProtoElems(m.Elements, false), Elems: message.ToProtoElems(m.Elements, false),
}, },
}, },
MsgSeq: &msgSeq, MsgSeq: proto.Some(msgSeq),
MsgRand: &r, MsgRand: proto.Some(r),
SyncCookie: syncCookie(time), SyncCookie: syncCookie(time),
} }
payload, _ := proto.Marshal(req) payload, _ := proto.Marshal(req)
@ -205,8 +205,8 @@ func (c *QQClient) buildWPATempSendingPacket(uin int64, sig []byte, msgSeq, r in
Elems: message.ToProtoElems(m.Elements, false), Elems: message.ToProtoElems(m.Elements, false),
}, },
}, },
MsgSeq: &msgSeq, MsgSeq: proto.Some(msgSeq),
MsgRand: &r, MsgRand: proto.Some(r),
SyncCookie: syncCookie(time), SyncCookie: syncCookie(time),
} }
payload, _ := proto.Marshal(req) payload, _ := proto.Marshal(req)
@ -215,11 +215,11 @@ func (c *QQClient) buildWPATempSendingPacket(uin int64, sig []byte, msgSeq, r in
func syncCookie(time int64) []byte { func syncCookie(time int64) []byte {
cookie, _ := proto.Marshal(&msg.SyncCookie{ cookie, _ := proto.Marshal(&msg.SyncCookie{
Time: &time, Time: proto.Some(time),
Ran1: proto.Int64(rand.Int63()), Ran1: proto.Int64(rand.Int63()),
Ran2: proto.Int64(rand.Int63()), Ran2: proto.Int64(rand.Int63()),
Const1: &syncConst1, Const1: proto.Some(syncConst1),
Const2: &syncConst2, Const2: proto.Some(syncConst2),
Const3: proto.Int64(0x1d), Const3: proto.Int64(0x1d),
}) })
return cookie return cookie

View File

@ -89,7 +89,7 @@ func (c *QQClient) UploadVoice(target message.Source, voice io.ReadSeeker) (*mes
} }
ptt := &msg.Ptt{ ptt := &msg.Ptt{
FileType: proto.Int32(4), FileType: proto.Int32(4),
SrcUin: &c.Uin, SrcUin: proto.Some(c.Uin),
FileMd5: fh, FileMd5: fh,
FileName: proto.String(fmt.Sprintf("%x.amr", fh)), FileName: proto.String(fmt.Sprintf("%x.amr", fh)),
FileSize: proto.Int32(int32(length)), FileSize: proto.Int32(int32(length)),

View File

@ -56,7 +56,7 @@ func (c *QQClient) getQiDianAddressDetailList() ([]*FriendInfo, error) {
continue continue
} }
ret = append(ret, &FriendInfo{ ret = append(ret, &FriendInfo{
Uin: int64(detail.Qq[0].GetAccount()), Uin: int64(detail.Qq[0].Account.Unwrap()),
Nickname: string(detail.Name), Nickname: string(detail.Name),
}) })
} }
@ -73,7 +73,7 @@ func (c *QQClient) buildLoginExtraPacket() (uint16, []byte) {
}, },
SubcmdLoginProcessCompleteReqBody: &cmd0x3f6.QDUserLoginProcessCompleteReqBody{ SubcmdLoginProcessCompleteReqBody: &cmd0x3f6.QDUserLoginProcessCompleteReqBody{
Kfext: proto.Uint64(uint64(c.Uin)), Kfext: proto.Uint64(uint64(c.Uin)),
Pubno: &c.version.AppId, Pubno: proto.Some(c.version.AppId),
Buildno: proto.Uint32(uint32(utils.ConvertSubVersionToInt(c.version.SortVersionName))), Buildno: proto.Uint32(uint32(utils.ConvertSubVersionToInt(c.version.SortVersionName))),
TerminalType: proto.Uint32(2), TerminalType: proto.Uint32(2),
Status: proto.Uint32(10), Status: proto.Uint32(10),
@ -81,8 +81,8 @@ func (c *QQClient) buildLoginExtraPacket() (uint16, []byte) {
HardwareInfo: proto.String(string(c.deviceInfo.Model)), HardwareInfo: proto.String(string(c.deviceInfo.Model)),
SoftwareInfo: proto.String(string(c.deviceInfo.Version.Release)), SoftwareInfo: proto.String(string(c.deviceInfo.Version.Release)),
Guid: c.deviceInfo.Guid, Guid: c.deviceInfo.Guid,
AppName: &c.version.ApkId, AppName: proto.Some(c.version.ApkId),
SubAppId: &c.version.AppId, SubAppId: proto.Some(c.version.AppId),
}, },
} }
payload, _ := proto.Marshal(req) payload, _ := proto.Marshal(req)
@ -114,7 +114,7 @@ func (c *QQClient) bigDataRequest(subCmd uint32, req proto.Message) ([]byte, err
HttpconnHead: &msg.HttpConnHead{ HttpconnHead: &msg.HttpConnHead{
Uin: proto.Uint64(uint64(c.Uin)), Uin: proto.Uint64(uint64(c.Uin)),
Command: proto.Uint32(1791), Command: proto.Uint32(1791),
SubCommand: &subCmd, SubCommand: proto.Some(subCmd),
Seq: proto.Uint32(uint32(c.nextHighwayApplySeq())), Seq: proto.Uint32(uint32(c.nextHighwayApplySeq())),
Version: proto.Uint32(500), // todo: short version convert Version: proto.Uint32(500), // todo: short version convert
Flag: proto.Uint32(1), Flag: proto.Uint32(1),
@ -164,9 +164,9 @@ func decodeLoginExtraResponse(c *QQClient, _ *network.IncomingPacketInfo, payloa
return nil, errors.New("login process resp is nil") return nil, errors.New("login process resp is nil")
} }
c.QiDian = &QiDianAccountInfo{ c.QiDian = &QiDianAccountInfo{
MasterUin: int64(rsp.SubcmdLoginProcessCompleteRspBody.GetCorpuin()), MasterUin: int64(rsp.SubcmdLoginProcessCompleteRspBody.Corpuin.Unwrap()),
ExtName: rsp.SubcmdLoginProcessCompleteRspBody.GetExtuinName(), ExtName: rsp.SubcmdLoginProcessCompleteRspBody.ExtuinName.Unwrap(),
CreateTime: int64(rsp.SubcmdLoginProcessCompleteRspBody.GetOpenAccountTime()), CreateTime: int64(rsp.SubcmdLoginProcessCompleteRspBody.OpenAccountTime.Unwrap()),
} }
return nil, nil return nil, nil
} }
@ -184,9 +184,9 @@ func decodeConnKeyResponse(c *QQClient, _ *network.IncomingPacketInfo, payload [
SessionKey: rsp.RspBody.SessionKey, SessionKey: rsp.RspBody.SessionKey,
} }
for _, srv := range rsp.RspBody.Addrs { for _, srv := range rsp.RspBody.Addrs {
if srv.GetServiceType() == 1 { if srv.ServiceType.Unwrap() == 1 {
for _, addr := range srv.Addrs { for _, addr := range srv.Addrs {
c.QiDian.bigDataReqAddrs = append(c.QiDian.bigDataReqAddrs, fmt.Sprintf("%v:%v", binary.UInt32ToIPV4Address(addr.GetIp()), addr.GetPort())) c.QiDian.bigDataReqAddrs = append(c.QiDian.bigDataReqAddrs, fmt.Sprintf("%v:%v", binary.UInt32ToIPV4Address(addr.Ip.Unwrap()), addr.Port.Unwrap()))
} }
} }
} }

View File

@ -14,8 +14,8 @@ import (
func (c *QQClient) RecallGroupMessage(groupCode int64, msgID, msgInternalId int32) error { func (c *QQClient) RecallGroupMessage(groupCode int64, msgID, msgInternalId int32) error {
if m, _ := c.GetGroupMessages(groupCode, int64(msgID), int64(msgID)); len(m) > 0 { if m, _ := c.GetGroupMessages(groupCode, int64(msgID), int64(msgID)); len(m) > 0 {
content := m[0].OriginalObject.Content content := m[0].OriginalObject.Content
if content.GetPkgNum() > 1 { if content.PkgNum.Unwrap() > 1 {
if m, err := c.GetGroupMessages(groupCode, int64(msgID-content.GetPkgIndex()-1), int64(msgID+(content.GetPkgNum()-content.GetPkgIndex()+1))); err == nil { if m, err := c.GetGroupMessages(groupCode, int64(msgID-content.PkgIndex.Unwrap()-1), int64(msgID+(content.PkgNum.Unwrap()-content.PkgIndex.Unwrap()+1))); err == nil {
if flag, _ := c.internalGroupRecall(groupCode, msgInternalId, m); flag { if flag, _ := c.internalGroupRecall(groupCode, msgInternalId, m); flag {
return nil return nil
} }
@ -49,11 +49,11 @@ func (c *QQClient) buildGroupRecallPacket(groupCode int64, msgSeq, msgRan int32)
GroupWithDraw: []*msg.GroupMsgWithDrawReq{ GroupWithDraw: []*msg.GroupMsgWithDrawReq{
{ {
SubCmd: proto.Int32(1), SubCmd: proto.Int32(1),
GroupCode: &groupCode, GroupCode: proto.Some(groupCode),
MsgList: []*msg.GroupMsgInfo{ MsgList: []*msg.GroupMsgInfo{
{ {
MsgSeq: &msgSeq, MsgSeq: proto.Some(msgSeq),
MsgRandom: &msgRan, MsgRandom: proto.Some(msgRan),
MsgType: proto.Int32(0), MsgType: proto.Int32(0),
}, },
}, },
@ -70,15 +70,15 @@ func (c *QQClient) buildPrivateRecallPacket(uin, ts int64, msgSeq, random int32)
{ {
MsgInfo: []*msg.C2CMsgInfo{ MsgInfo: []*msg.C2CMsgInfo{
{ {
FromUin: &c.Uin, FromUin: proto.Some(c.Uin),
ToUin: &uin, ToUin: proto.Some(uin),
MsgTime: &ts, MsgTime: proto.Some(ts),
MsgUid: proto.Int64(0x0100_0000_0000_0000 | (int64(random) & 0xFFFFFFFF)), MsgUid: proto.Int64(0x0100_0000_0000_0000 | (int64(random) & 0xFFFFFFFF)),
MsgSeq: &msgSeq, MsgSeq: proto.Some(msgSeq),
MsgRandom: &random, MsgRandom: proto.Some(random),
RoutingHead: &msg.RoutingHead{ RoutingHead: &msg.RoutingHead{
C2C: &msg.C2C{ C2C: &msg.C2C{
ToUin: &uin, ToUin: proto.Some(uin),
}, },
}, },
}, },
@ -98,13 +98,13 @@ func decodeMsgWithDrawResponse(_ *QQClient, _ *network.IncomingPacketInfo, paylo
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if len(rsp.C2CWithDraw) > 0 { if len(rsp.C2CWithDraw) > 0 {
if rsp.C2CWithDraw[0].GetErrMsg() != "" && rsp.C2CWithDraw[0].GetErrMsg() != "Success" { if rsp.C2CWithDraw[0].ErrMsg.Unwrap() != "" && rsp.C2CWithDraw[0].ErrMsg.Unwrap() != "Success" {
return nil, errors.Errorf("recall error: %v msg: %v", rsp.C2CWithDraw[0].GetResult(), rsp.C2CWithDraw[0].GetErrMsg()) return nil, errors.Errorf("recall error: %v msg: %v", rsp.C2CWithDraw[0].Result.Unwrap(), rsp.C2CWithDraw[0].ErrMsg.Unwrap())
} }
} }
if len(rsp.GroupWithDraw) > 0 { if len(rsp.GroupWithDraw) > 0 {
if rsp.GroupWithDraw[0].GetErrMsg() != "" && rsp.GroupWithDraw[0].GetErrMsg() != "Success" { if rsp.GroupWithDraw[0].ErrMsg.Unwrap() != "" && rsp.GroupWithDraw[0].ErrMsg.Unwrap() != "Success" {
return nil, errors.Errorf("recall error: %v msg: %v", rsp.GroupWithDraw[0].GetResult(), rsp.GroupWithDraw[0].GetErrMsg()) return nil, errors.Errorf("recall error: %v msg: %v", rsp.GroupWithDraw[0].Result.Unwrap(), rsp.GroupWithDraw[0].ErrMsg.Unwrap())
} }
} }
return nil, nil return nil, nil

View File

@ -37,7 +37,7 @@ func (c *QQClient) buildUrlCheckRequest(url string) (uint16, []byte) {
Type: proto.Uint32(2), Type: proto.Uint32(2),
SendUin: proto.Uint64(uint64(c.Uin)), SendUin: proto.Uint64(uint64(c.Uin)),
ReqType: proto.String("webview"), ReqType: proto.String("webview"),
OriginalUrl: &url, OriginalUrl: proto.Some(url),
IsArk: proto.Bool(false), IsArk: proto.Bool(false),
IsFinish: proto.Bool(false), IsFinish: proto.Bool(false),
SrcUrls: []string{url}, SrcUrls: []string{url},
@ -57,10 +57,10 @@ func decodeUrlCheckResponse(_ *QQClient, _ *network.IncomingPacketInfo, payload
if rsp.CheckUrlRsp == nil || len(rsp.CheckUrlRsp.Results) == 0 { if rsp.CheckUrlRsp == nil || len(rsp.CheckUrlRsp.Results) == 0 {
return nil, errors.New("response is empty") return nil, errors.New("response is empty")
} }
if rsp.CheckUrlRsp.Results[0].JumpUrl != nil { if rsp.CheckUrlRsp.Results[0].JumpUrl.IsSome() {
return Danger, nil return Danger, nil
} }
if rsp.CheckUrlRsp.Results[0].GetUmrtype() == 2 { if rsp.CheckUrlRsp.Results[0].Umrtype.Unwrap() == 2 {
return Safe, nil return Safe, nil
} }
return Unknown, nil return Unknown, nil

View File

@ -141,17 +141,15 @@ func (c *QQClient) buildDeviceListRequestPacket() (uint16, []byte) {
// RegPrxySvc.getOffMsg // RegPrxySvc.getOffMsg
func (c *QQClient) buildGetOfflineMsgRequestPacket() (uint16, []byte) { func (c *QQClient) buildGetOfflineMsgRequestPacket() (uint16, []byte) {
t := c.stat.LastMessageTime.Load()
if t == 0 {
t = 1
}
regReq := &jce.SvcReqRegisterNew{ regReq := &jce.SvcReqRegisterNew{
RequestOptional: 0x101C2 | 32, RequestOptional: 0x101C2 | 32,
C2CMsg: &jce.SvcReqGetMsgV2{ C2CMsg: &jce.SvcReqGetMsgV2{
Uin: c.Uin, Uin: c.Uin,
DateTime: func() int32 { DateTime: int32(t),
t := c.stat.LastMessageTime.Load()
if t == 0 {
return 1
}
return int32(t)
}(),
RecivePic: 1, RecivePic: 1,
Ability: 15, Ability: 15,
Channel: 4, Channel: 4,
@ -171,7 +169,7 @@ func (c *QQClient) buildGetOfflineMsgRequestPacket() (uint16, []byte) {
} }
flag := msg.SyncFlag_START flag := msg.SyncFlag_START
msgReq, _ := proto.Marshal(&msg.GetMessageRequest{ msgReq, _ := proto.Marshal(&msg.GetMessageRequest{
SyncFlag: &flag, SyncFlag: proto.Some(int32(flag)),
SyncCookie: c.sig.SyncCookie, SyncCookie: c.sig.SyncCookie,
RambleFlag: proto.Int32(0), RambleFlag: proto.Int32(0),
ContextFlag: proto.Int32(1), ContextFlag: proto.Int32(1),
@ -207,18 +205,16 @@ func (c *QQClient) buildSyncMsgRequestPacket() (uint16, []byte) {
}, },
}, },
}) })
t := c.stat.LastMessageTime.Load()
if t == 0 {
t = 1
}
regReq := &jce.SvcReqRegisterNew{ regReq := &jce.SvcReqRegisterNew{
RequestOptional: 128 | 64 | 256 | 2 | 8192 | 16384 | 65536, RequestOptional: 128 | 64 | 256 | 2 | 8192 | 16384 | 65536,
DisGroupMsgFilter: 1, DisGroupMsgFilter: 1,
C2CMsg: &jce.SvcReqGetMsgV2{ C2CMsg: &jce.SvcReqGetMsgV2{
Uin: c.Uin, Uin: c.Uin,
DateTime: func() int32 { DateTime: int32(t),
t := c.stat.LastMessageTime.Load()
if t == 0 {
return 1
}
return int32(t)
}(),
RecivePic: 1, RecivePic: 1,
Ability: 15, Ability: 15,
Channel: 4, Channel: 4,
@ -236,7 +232,7 @@ func (c *QQClient) buildSyncMsgRequestPacket() (uint16, []byte) {
} }
flag := msg.SyncFlag_START flag := msg.SyncFlag_START
msgReq := &msg.GetMessageRequest{ msgReq := &msg.GetMessageRequest{
SyncFlag: &flag, SyncFlag: proto.Some(int32(flag)),
SyncCookie: c.sig.SyncCookie, SyncCookie: c.sig.SyncCookie,
RambleFlag: proto.Int32(0), RambleFlag: proto.Int32(0),
ContextFlag: proto.Int32(1), ContextFlag: proto.Int32(1),
@ -318,34 +314,30 @@ func decodePushParamPacket(c *QQClient, _ *network.IncomingPacketInfo, payload [
allowedClients, _ := c.GetAllowedClients() allowedClients, _ := c.GetAllowedClients()
c.OnlineClients = []*OtherClientInfo{} c.OnlineClients = []*OtherClientInfo{}
for _, i := range rsp.OnlineInfos { for _, i := range rsp.OnlineInfos {
c.OnlineClients = append(c.OnlineClients, &OtherClientInfo{ name, kind := i.SubPlatform, i.SubPlatform
AppId: int64(i.InstanceId),
DeviceName: func() string {
for _, ac := range allowedClients { for _, ac := range allowedClients {
if ac.AppId == int64(i.InstanceId) { if ac.AppId == int64(i.InstanceId) {
return ac.DeviceName name = ac.DeviceName
} }
} }
return i.SubPlatform
}(),
DeviceKind: func() string {
switch i.UClientType { switch i.UClientType {
case 65793: case 65793:
return "Windows" kind = "Windows"
case 65805, 68104: case 65805, 68104:
return "aPad" kind = "aPad"
case 66818, 66831, 81154: case 66818, 66831, 81154:
return "Mac" kind = "Mac"
case 68361, 72194: case 68361, 72194:
return "iPad" kind = "iPad"
case 75023, 78082, 78096: case 75023, 78082, 78096:
return "Watch" kind = "Watch"
case 77313: case 77313:
return "Windows TIM" kind = "Windows TIM"
default:
return i.SubPlatform
} }
}(), c.OnlineClients = append(c.OnlineClients, &OtherClientInfo{
AppId: int64(i.InstanceId),
DeviceName: name,
DeviceKind: kind,
}) })
} }
return nil, nil return nil, nil
@ -358,11 +350,11 @@ func decodeMsgSyncResponse(c *QQClient, info *network.IncomingPacketInfo, payloa
return nil, err return nil, err
} }
ret := &sessionSyncEvent{ ret := &sessionSyncEvent{
IsEnd: (rsp.GetFlag() & 2) == 2, IsEnd: (rsp.Flag.Unwrap() & 2) == 2,
GroupNum: -1, GroupNum: -1,
} }
if rsp.Info != nil { if rsp.Info != nil {
ret.GroupNum = int32(rsp.Info.GetGroupNum()) ret.GroupNum = int32(rsp.Info.GroupNum.Unwrap())
} }
if len(rsp.GroupMsg) > 0 { if len(rsp.GroupMsg) > 0 {
for _, gm := range rsp.GroupMsg { for _, gm := range rsp.GroupMsg {
@ -372,7 +364,7 @@ func decodeMsgSyncResponse(c *QQClient, info *network.IncomingPacketInfo, payloa
} }
var latest []*message.GroupMessage var latest []*message.GroupMessage
for _, m := range gmRsp.Msg { for _, m := range gmRsp.Msg {
if m.Head.GetFromUin() != 0 { if m.Head.FromUin.Unwrap() != 0 {
pm := c.parseGroupMessage(m) pm := c.parseGroupMessage(m)
if pm != nil { if pm != nil {
latest = append(latest, pm) latest = append(latest, pm)
@ -380,8 +372,8 @@ func decodeMsgSyncResponse(c *QQClient, info *network.IncomingPacketInfo, payloa
} }
} }
ret.GroupSessions = append(ret.GroupSessions, &GroupSessionInfo{ ret.GroupSessions = append(ret.GroupSessions, &GroupSessionInfo{
GroupCode: int64(gmRsp.GetGroupCode()), GroupCode: int64(gmRsp.GroupCode.Unwrap()),
UnreadCount: uint32(gmRsp.GetReturnEndSeq() - gm.GetMemberSeq()), UnreadCount: uint32(gmRsp.ReturnEndSeq.Unwrap() - gm.MemberSeq.Unwrap()),
LatestMessages: latest, LatestMessages: latest,
}) })
} }
@ -401,7 +393,7 @@ func decodeC2CSyncPacket(c *QQClient, info *network.IncomingPacketInfo, payload
if err := proto.Unmarshal(payload, &m); err != nil { if err := proto.Unmarshal(payload, &m); err != nil {
return nil, err return nil, err
} }
_ = c.sendPacket(c.buildDeleteOnlinePushPacket(c.Uin, m.GetSvrip(), m.PushToken, info.SequenceId, nil)) _ = c.sendPacket(c.buildDeleteOnlinePushPacket(c.Uin, m.Svrip.Unwrap(), m.PushToken, info.SequenceId, nil))
c.commMsgProcessor(m.Msg, info) c.commMsgProcessor(m.Msg, info)
return nil, nil return nil, nil
} }
@ -412,7 +404,7 @@ func decodeMsgReadedResponse(_ *QQClient, _ *network.IncomingPacketInfo, payload
return nil, errors.Wrap(err, "failed to unmarshal protobuf message") return nil, errors.Wrap(err, "failed to unmarshal protobuf message")
} }
if len(rsp.GrpReadReport) > 0 { if len(rsp.GrpReadReport) > 0 {
return rsp.GrpReadReport[0].GetResult() == 0, nil return rsp.GrpReadReport[0].Result.Unwrap() == 0, nil
} }
return nil, nil return nil, nil
} }

View File

@ -88,7 +88,7 @@ func (c *QQClient) webSsoRequest(host, webCmd, data string) (string, error) {
cmd := "MQUpdateSvc_" + sub + ".web." + webCmd cmd := "MQUpdateSvc_" + sub + ".web." + webCmd
req, _ := proto.Marshal(&web.WebSsoRequestBody{ req, _ := proto.Marshal(&web.WebSsoRequestBody{
Type: proto.Uint32(0), Type: proto.Uint32(0),
Data: &data, Data: proto.Some(data),
}) })
rspData, err := c.sendAndWaitDynamic(c.uniPacket(cmd, req)) rspData, err := c.sendAndWaitDynamic(c.uniPacket(cmd, req))
if err != nil { if err != nil {
@ -98,5 +98,5 @@ func (c *QQClient) webSsoRequest(host, webCmd, data string) (string, error) {
if err = proto.Unmarshal(rspData, rsp); err != nil { if err = proto.Unmarshal(rspData, rsp); err != nil {
return "", errors.Wrap(err, "unmarshal response error") return "", errors.Wrap(err, "unmarshal response error")
} }
return rsp.GetData(), nil return rsp.Data.Unwrap(), nil
} }

4
go.mod
View File

@ -3,8 +3,8 @@ module github.com/Mrs4s/MiraiGo
go 1.18 go 1.18
require ( require (
github.com/RomiChan/protobuf v0.0.0-20220318113238-d8a99598f896 github.com/RomiChan/protobuf v0.1.1-0.20220523101132-5546fc25db37
github.com/RomiChan/syncx v0.0.0-20220320130821-c88644afda9c github.com/RomiChan/syncx v0.0.0-20220404072119-d7ea0ae15a4c
github.com/fumiama/imgsz v0.0.2 github.com/fumiama/imgsz v0.0.2
github.com/pierrec/lz4/v4 v4.1.11 github.com/pierrec/lz4/v4 v4.1.11
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1

8
go.sum
View File

@ -1,7 +1,7 @@
github.com/RomiChan/protobuf v0.0.0-20220318113238-d8a99598f896 h1:UFAqSbH6VqW5mEzQV2HVB7+p3k9JfTbidWJ/9F15yz0= github.com/RomiChan/protobuf v0.1.1-0.20220523101132-5546fc25db37 h1:MtLqymjslqAWUYMHqamYI9KKXq+am9JOyLIcSDWE3Ak=
github.com/RomiChan/protobuf v0.0.0-20220318113238-d8a99598f896/go.mod h1:CKKOWC7mBxd36zxsCB1V8DTrwlTNRQvkSVbYqyUiGEE= github.com/RomiChan/protobuf v0.1.1-0.20220523101132-5546fc25db37/go.mod h1:2Ie+hdBFQpQFDHfeklgxoFmQRCE7O+KwFpISeXq7OwA=
github.com/RomiChan/syncx v0.0.0-20220320130821-c88644afda9c h1:zHWyqx7A71A/+mlzthPVcVrNGuTPyTpCW3meUPtaULU= github.com/RomiChan/syncx v0.0.0-20220404072119-d7ea0ae15a4c h1:cNPOdTNiVwxLpROLjXCgbIPvdkE+BwvxDvgmdYmWx6Q=
github.com/RomiChan/syncx v0.0.0-20220320130821-c88644afda9c/go.mod h1:KqZzu7slNKROh3TSYEH/IUMG6f4M+1qubZ5e52QypsE= github.com/RomiChan/syncx v0.0.0-20220404072119-d7ea0ae15a4c/go.mod h1:KqZzu7slNKROh3TSYEH/IUMG6f4M+1qubZ5e52QypsE=
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=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=

View File

@ -12,26 +12,30 @@ func Unmarshal(b []byte, m Message) error {
return proto.Unmarshal(b, m) return proto.Unmarshal(b, m)
} }
func Some[T any](val T) proto.Option[T] {
return proto.Some(val)
}
// Bool stores v in a new bool value and returns a pointer to it. // Bool stores v in a new bool value and returns a pointer to it.
func Bool(v bool) *bool { return &v } func Bool(v bool) proto.Option[bool] { return proto.Some(v) }
// Int32 stores v in a new int32 value and returns a pointer to it. // Int32 stores v in a new int32 value and returns a pointer to it.
func Int32(v int32) *int32 { return &v } func Int32(v int32) proto.Option[int32] { return proto.Some(v) }
// Int64 stores v in a new int64 value and returns a pointer to it. // Int64 stores v in a new int64 value and returns a pointer to it.
func Int64(v int64) *int64 { return &v } func Int64(v int64) proto.Option[int64] { return proto.Some(v) }
// Float32 stores v in a new float32 value and returns a pointer to it. // Float32 stores v in a new float32 value and returns a pointer to it.
func Float32(v float32) *float32 { return &v } func Float32(v float32) proto.Option[float32] { return proto.Some(v) }
// Float64 stores v in a new float64 value and returns a pointer to it. // Float64 stores v in a new float64 value and returns a pointer to it.
func Float64(v float64) *float64 { return &v } func Float64(v float64) proto.Option[float64] { return proto.Some(v) }
// Uint32 stores v in a new uint32 value and returns a pointer to it. // Uint32 stores v in a new uint32 value and returns a pointer to it.
func Uint32(v uint32) *uint32 { return &v } func Uint32(v uint32) proto.Option[uint32] { return proto.Some(v) }
// Uint64 stores v in a new uint64 value and returns a pointer to it. // Uint64 stores v in a new uint64 value and returns a pointer to it.
func Uint64(v uint64) *uint64 { return &v } func Uint64(v uint64) proto.Option[uint64] { return proto.Some(v) }
// String stores v in a new string value and returns a pointer to it. // String stores v in a new string value and returns a pointer to it.
func String(v string) *string { return &v } func String(v string) proto.Option[string] { return proto.Some(v) }

View File

@ -124,19 +124,19 @@ func (f *ForwardMessage) PackForwardMessage(seq int32, random int32, groupCode i
for _, node := range f.Nodes { for _, node := range f.Nodes {
ml = append(ml, &msg.Message{ ml = append(ml, &msg.Message{
Head: &msg.MessageHead{ Head: &msg.MessageHead{
FromUin: &node.SenderId, FromUin: proto.Some(node.SenderId),
MsgSeq: &seq, MsgSeq: proto.Some(seq),
MsgTime: &node.Time, MsgTime: proto.Some(node.Time),
MsgUid: proto.Int64(0x0100_0000_0000_0000 | (int64(random) & 0xFFFFFFFF)), MsgUid: proto.Int64(0x0100_0000_0000_0000 | (int64(random) & 0xFFFFFFFF)),
MutiltransHead: &msg.MutilTransHead{ MutiltransHead: &msg.MutilTransHead{
MsgId: proto.Int32(1), MsgId: proto.Int32(1),
}, },
MsgType: proto.Int32(82), MsgType: proto.Int32(82),
GroupInfo: &msg.GroupInfo{ GroupInfo: &msg.GroupInfo{
GroupCode: &groupCode, GroupCode: proto.Some(groupCode),
GroupRank: []byte{}, GroupRank: []byte{},
GroupName: []byte{}, GroupName: []byte{},
GroupCard: &node.SenderName, GroupCard: proto.Some(node.SenderName),
}, },
}, },
Body: &msg.MessageBody{ Body: &msg.MessageBody{

View File

@ -102,12 +102,12 @@ func (e *GroupImageElement) Pack() (r []*msg.Elem) {
Useful: proto.Int32(1), Useful: proto.Int32(1),
// Origin: 1, // Origin: 1,
BizType: proto.Int32(5), BizType: proto.Int32(5),
Width: &e.Width, Width: proto.Some(e.Width),
Height: &e.Height, Height: proto.Some(e.Height),
FileId: proto.Int32(int32(e.FileId)), FileId: proto.Int32(int32(e.FileId)),
FilePath: &e.ImageId, FilePath: proto.Some(e.ImageId),
ImageType: &e.ImageType, ImageType: proto.Some(e.ImageType),
Size: &e.Size, Size: proto.Some(e.Size),
Md5: e.Md5, Md5: e.Md5,
Flag: make([]byte, 4), Flag: make([]byte, 4),
// OldData: imgOld, // OldData: imgOld,
@ -132,7 +132,7 @@ func (e *GroupImageElement) Pack() (r []*msg.Elem) {
res := &msg.ResvAttr{} res := &msg.ResvAttr{}
if e.EffectID != 0 { // resolve show pic if e.EffectID != 0 { // resolve show pic
res.ImageShow = &msg.AnimationImageShow{ res.ImageShow = &msg.AnimationImageShow{
EffectId: &e.EffectID, EffectId: proto.Some(e.EffectID),
AnimationParam: []byte("{}"), AnimationParam: []byte("{}"),
} }
cface.Flag = []byte{0x11, 0x00, 0x00, 0x00} cface.Flag = []byte{0x11, 0x00, 0x00, 0x00}
@ -147,11 +147,11 @@ func (e *GroupImageElement) Pack() (r []*msg.Elem) {
func (e *FriendImageElement) Pack() []*msg.Elem { func (e *FriendImageElement) Pack() []*msg.Elem {
image := &msg.NotOnlineImage{ image := &msg.NotOnlineImage{
FilePath: &e.ImageId, FilePath: proto.Some(e.ImageId),
ResId: &e.ImageId, ResId: proto.Some(e.ImageId),
OldPicMd5: proto.Bool(false), OldPicMd5: proto.Some(false),
PicMd5: e.Md5, PicMd5: e.Md5,
DownloadPath: &e.ImageId, DownloadPath: proto.Some(e.ImageId),
Original: proto.Int32(1), Original: proto.Int32(1),
PbReserve: []byte{0x78, 0x02}, PbReserve: []byte{0x78, 0x02},
} }
@ -182,12 +182,12 @@ func (e *GuildImageElement) Pack() (r []*msg.Elem) {
FileType: proto.Int32(66), FileType: proto.Int32(66),
Useful: proto.Int32(1), Useful: proto.Int32(1),
BizType: proto.Int32(0), BizType: proto.Int32(0),
Width: &e.Width, Width: proto.Some(e.Width),
Height: &e.Height, Height: proto.Some(e.Height),
FileId: proto.Int32(int32(e.FileId)), FileId: proto.Int32(int32(e.FileId)),
FilePath: &e.FilePath, FilePath: proto.Some(e.FilePath),
ImageType: &e.ImageType, ImageType: proto.Some(e.ImageType),
Size: &e.Size, Size: proto.Some(e.Size),
Md5: e.Md5, Md5: e.Md5,
PbReserve: proto.DynamicMessage{ PbReserve: proto.DynamicMessage{
1: uint32(0), 2: uint32(0), 6: "", 10: uint32(0), 15: uint32(8), 1: uint32(0), 2: uint32(0), 6: "", 10: uint32(0), 15: uint32(8),

View File

@ -46,7 +46,7 @@ func (e *MarketFaceElement) Pack() []*msg.Elem {
}, },
}, },
{ {
Text: &msg.Text{Str: &e.Name}, Text: &msg.Text{Str: proto.Some(e.Name)},
}, },
} }
} }

View File

@ -244,8 +244,8 @@ func ToProtoElems(elems []IMessageElement, generalFlags bool) (r []*msg.Elem) {
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
SrcMsg: &msg.SourceMsg{ SrcMsg: &msg.SourceMsg{
OrigSeqs: []int32{reply.ReplySeq}, OrigSeqs: []int32{reply.ReplySeq},
SenderUin: &reply.Sender, SenderUin: proto.Some(reply.Sender),
Time: &reply.Time, Time: proto.Some(reply.Time),
Flag: proto.Int32(1), Flag: proto.Int32(1),
Elems: ToSrcProtoElems(reply.Elements), Elems: ToSrcProtoElems(reply.Elements),
RichMsg: []byte{}, RichMsg: []byte{},
@ -279,7 +279,7 @@ func ToProtoElems(elems []IMessageElement, generalFlags bool) (r []*msg.Elem) {
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
GeneralFlags: &msg.GeneralFlags{ GeneralFlags: &msg.GeneralFlags{
LongTextFlag: proto.Int32(1), LongTextFlag: proto.Int32(1),
LongTextResid: &e.ResId, LongTextResid: proto.Some(e.ResId),
PbReserve: []byte{0x78, 0x00, 0xF8, 0x01, 0x00, 0xC8, 0x02, 0x00}, PbReserve: []byte{0x78, 0x00, 0xF8, 0x01, 0x00, 0xC8, 0x02, 0x00},
}, },
}) })
@ -322,15 +322,15 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
if elem.SrcMsg != nil && len(elem.SrcMsg.OrigSeqs) != 0 { if elem.SrcMsg != nil && len(elem.SrcMsg.OrigSeqs) != 0 {
r := &ReplyElement{ r := &ReplyElement{
ReplySeq: elem.SrcMsg.OrigSeqs[0], ReplySeq: elem.SrcMsg.OrigSeqs[0],
Time: elem.SrcMsg.GetTime(), Time: elem.SrcMsg.Time.Unwrap(),
Sender: elem.SrcMsg.GetSenderUin(), Sender: elem.SrcMsg.SenderUin.Unwrap(),
GroupID: elem.SrcMsg.GetToUin(), GroupID: elem.SrcMsg.ToUin.Unwrap(),
Elements: ParseMessageElems(elem.SrcMsg.Elems), Elements: ParseMessageElems(elem.SrcMsg.Elems),
} }
res = append(res, r) res = append(res, r)
} }
if elem.TransElemInfo != nil { if elem.TransElemInfo != nil {
if elem.TransElemInfo.GetElemType() == 24 { // QFile if elem.TransElemInfo.ElemType.Unwrap() == 24 { // QFile
i3 := len(elem.TransElemInfo.ElemValue) i3 := len(elem.TransElemInfo.ElemValue)
r := binary.NewReader(elem.TransElemInfo.ElemValue) r := binary.NewReader(elem.TransElemInfo.ElemValue)
if i3 > 3 { if i3 > 3 {
@ -368,8 +368,8 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
&ShortVideoElement{ &ShortVideoElement{
Name: string(elem.VideoFile.FileName), Name: string(elem.VideoFile.FileName),
Uuid: elem.VideoFile.FileUuid, Uuid: elem.VideoFile.FileUuid,
Size: elem.VideoFile.GetFileSize(), Size: elem.VideoFile.FileSize.Unwrap(),
ThumbSize: elem.VideoFile.GetThumbFileSize(), ThumbSize: elem.VideoFile.ThumbFileSize.Unwrap(),
Md5: elem.VideoFile.FileMd5, Md5: elem.VideoFile.FileMd5,
ThumbMd5: elem.VideoFile.ThumbFileMd5, ThumbMd5: elem.VideoFile.ThumbFileMd5,
}, },
@ -381,20 +381,20 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
att6 := binary.NewReader(elem.Text.Attr6Buf) att6 := binary.NewReader(elem.Text.Attr6Buf)
att6.ReadBytes(7) att6.ReadBytes(7)
target := int64(uint32(att6.ReadInt32())) target := int64(uint32(att6.ReadInt32()))
at := NewAt(target, elem.Text.GetStr()) at := NewAt(target, elem.Text.Str.Unwrap())
at.SubType = AtTypeGroupMember at.SubType = AtTypeGroupMember
res = append(res, at) res = append(res, at)
case len(elem.Text.PbReserve) > 0: case len(elem.Text.PbReserve) > 0:
resv := new(msg.TextResvAttr) resv := new(msg.TextResvAttr)
_ = proto.Unmarshal(elem.Text.PbReserve, resv) _ = proto.Unmarshal(elem.Text.PbReserve, resv)
if resv.GetAtType() == 2 { if resv.AtType.Unwrap() == 2 {
at := NewAt(int64(resv.GetAtMemberTinyid()), elem.Text.GetStr()) at := NewAt(int64(resv.AtMemberTinyid.Unwrap()), elem.Text.Str.Unwrap())
at.SubType = AtTypeGuildMember at.SubType = AtTypeGuildMember
res = append(res, at) res = append(res, at)
break break
} }
if resv.GetAtType() == 4 { if resv.AtType.Unwrap() == 4 {
at := NewAt(int64(resv.AtChannelInfo.GetChannelId()), elem.Text.GetStr()) at := NewAt(int64(resv.AtChannelInfo.ChannelId.Unwrap()), elem.Text.Str.Unwrap())
at.SubType = AtTypeGuildChannel at.SubType = AtTypeGuildChannel
res = append(res, at) res = append(res, at)
break break
@ -403,10 +403,10 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
default: default:
res = append(res, NewText(func() string { res = append(res, NewText(func() string {
// 这么处理应该没问题 // 这么处理应该没问题
if strings.Contains(elem.Text.GetStr(), "\r") && !strings.Contains(elem.Text.GetStr(), "\r\n") { if strings.Contains(elem.Text.Str.Unwrap(), "\r") && !strings.Contains(elem.Text.Str.Unwrap(), "\r\n") {
return strings.ReplaceAll(elem.Text.GetStr(), "\r", "\r\n") return strings.ReplaceAll(elem.Text.Str.Unwrap(), "\r", "\r\n")
} }
return elem.Text.GetStr() return elem.Text.Str.Unwrap()
}())) }()))
} }
} }
@ -419,18 +419,18 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
content = string(binary.ZlibUncompress(elem.RichMsg.Template1[1:])) content = string(binary.ZlibUncompress(elem.RichMsg.Template1[1:]))
} }
if content != "" { if content != "" {
if elem.RichMsg.GetServiceId() == 35 { if elem.RichMsg.ServiceId.Unwrap() == 35 {
elem := forwardMsgFromXML(content) elem := forwardMsgFromXML(content)
if elem != nil { if elem != nil {
res = append(res, elem) res = append(res, elem)
continue continue
} }
} }
if elem.RichMsg.GetServiceId() == 33 { if elem.RichMsg.ServiceId.Unwrap() == 33 {
continue // 前面一个 elem 已经解析到链接 continue // 前面一个 elem 已经解析到链接
} }
if isOk := strings.Contains(content, "<?xml"); isOk { if isOk := strings.Contains(content, "<?xml"); isOk {
res = append(res, NewRichXml(content, int64(elem.RichMsg.GetServiceId()))) res = append(res, NewRichXml(content, int64(elem.RichMsg.ServiceId.Unwrap())))
continue continue
} else if json.Valid(utils.S2B(content)) { } else if json.Valid(utils.S2B(content)) {
res = append(res, NewRichJson(content)) res = append(res, NewRichJson(content))
@ -444,18 +444,18 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
continue continue
} }
var url string var url string
if elem.CustomFace.GetOrigUrl() == "" { if elem.CustomFace.OrigUrl.Unwrap() == "" {
url = fmt.Sprintf("https://gchat.qpic.cn/gchatpic_new/0/0-0-%X/0?term=2", elem.CustomFace.Md5) url = fmt.Sprintf("https://gchat.qpic.cn/gchatpic_new/0/0-0-%X/0?term=2", elem.CustomFace.Md5)
} else { } else {
url = "https://gchat.qpic.cn" + elem.CustomFace.GetOrigUrl() url = "https://gchat.qpic.cn" + elem.CustomFace.OrigUrl.Unwrap()
} }
if strings.Contains(elem.CustomFace.GetOrigUrl(), "qmeet") { if strings.Contains(elem.CustomFace.OrigUrl.Unwrap(), "qmeet") {
res = append(res, &GuildImageElement{ res = append(res, &GuildImageElement{
FileId: int64(elem.CustomFace.GetFileId()), FileId: int64(elem.CustomFace.FileId.Unwrap()),
FilePath: elem.CustomFace.GetFilePath(), FilePath: elem.CustomFace.FilePath.Unwrap(),
Size: elem.CustomFace.GetSize(), Size: elem.CustomFace.Size.Unwrap(),
Width: elem.CustomFace.GetWidth(), Width: elem.CustomFace.Width.Unwrap(),
Height: elem.CustomFace.GetHeight(), Height: elem.CustomFace.Height.Unwrap(),
Url: url, Url: url,
Md5: elem.CustomFace.Md5, Md5: elem.CustomFace.Md5,
}) })
@ -465,15 +465,15 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
if len(elem.CustomFace.PbReserve) != 0 { if len(elem.CustomFace.PbReserve) != 0 {
attr := new(msg.ResvAttr) attr := new(msg.ResvAttr)
if proto.Unmarshal(elem.CustomFace.PbReserve, attr) == nil { if proto.Unmarshal(elem.CustomFace.PbReserve, attr) == nil {
bizType = ImageBizType(attr.GetImageBizType()) bizType = ImageBizType(attr.ImageBizType.Unwrap())
} }
} }
res = append(res, &GroupImageElement{ res = append(res, &GroupImageElement{
FileId: int64(elem.CustomFace.GetFileId()), FileId: int64(elem.CustomFace.FileId.Unwrap()),
ImageId: elem.CustomFace.GetFilePath(), ImageId: elem.CustomFace.FilePath.Unwrap(),
Size: elem.CustomFace.GetSize(), Size: elem.CustomFace.Size.Unwrap(),
Width: elem.CustomFace.GetWidth(), Width: elem.CustomFace.Width.Unwrap(),
Height: elem.CustomFace.GetHeight(), Height: elem.CustomFace.Height.Unwrap(),
Url: url, Url: url,
ImageBizType: bizType, ImageBizType: bizType,
Md5: elem.CustomFace.Md5, Md5: elem.CustomFace.Md5,
@ -483,10 +483,10 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
face := &MarketFaceElement{ face := &MarketFaceElement{
Name: utils.B2S(elem.MarketFace.FaceName), Name: utils.B2S(elem.MarketFace.FaceName),
FaceId: elem.MarketFace.FaceId, FaceId: elem.MarketFace.FaceId,
TabId: int32(elem.MarketFace.GetTabId()), TabId: int32(elem.MarketFace.TabId.Unwrap()),
ItemType: int32(elem.MarketFace.GetItemType()), ItemType: int32(elem.MarketFace.ItemType.Unwrap()),
SubType: int32(elem.MarketFace.GetSubType()), SubType: int32(elem.MarketFace.SubType.Unwrap()),
MediaType: int32(elem.MarketFace.GetMediaType()), MediaType: int32(elem.MarketFace.MediaType.Unwrap()),
EncryptKey: elem.MarketFace.Key, EncryptKey: elem.MarketFace.Key,
MagicValue: utils.B2S(elem.MarketFace.Mobileparam), MagicValue: utils.B2S(elem.MarketFace.Mobileparam),
} }
@ -515,13 +515,13 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
} }
if elem.NotOnlineImage != nil { if elem.NotOnlineImage != nil {
var img string var img string
if elem.NotOnlineImage.GetOrigUrl() != "" { if elem.NotOnlineImage.OrigUrl.Unwrap() != "" {
img = "https://c2cpicdw.qpic.cn" + elem.NotOnlineImage.GetOrigUrl() img = "https://c2cpicdw.qpic.cn" + elem.NotOnlineImage.OrigUrl.Unwrap()
} else { } else {
img = "https://c2cpicdw.qpic.cn/offpic_new/0" img = "https://c2cpicdw.qpic.cn/offpic_new/0"
downloadPath := elem.NotOnlineImage.GetResId() downloadPath := elem.NotOnlineImage.ResId.Unwrap()
if elem.NotOnlineImage.GetDownloadPath() != "" { if elem.NotOnlineImage.DownloadPath.Unwrap() != "" {
downloadPath = elem.NotOnlineImage.GetDownloadPath() downloadPath = elem.NotOnlineImage.DownloadPath.Unwrap()
} }
if !strings.HasPrefix(downloadPath, "/") { if !strings.HasPrefix(downloadPath, "/") {
img += "/" img += "/"
@ -529,39 +529,39 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
img += downloadPath + "/0?term=3" img += downloadPath + "/0?term=3"
} }
res = append(res, &FriendImageElement{ res = append(res, &FriendImageElement{
ImageId: elem.NotOnlineImage.GetFilePath(), ImageId: elem.NotOnlineImage.FilePath.Unwrap(),
Size: elem.NotOnlineImage.GetFileLen(), Size: elem.NotOnlineImage.FileLen.Unwrap(),
Url: img, Url: img,
Md5: elem.NotOnlineImage.PicMd5, Md5: elem.NotOnlineImage.PicMd5,
}) })
} }
if elem.QQWalletMsg != nil && elem.QQWalletMsg.AioBody != nil { if elem.QQWalletMsg != nil && elem.QQWalletMsg.AioBody != nil {
// /com/tencent/mobileqq/data/MessageForQQWalletMsg.java#L366 // /com/tencent/mobileqq/data/MessageForQQWalletMsg.java#L366
msgType := elem.QQWalletMsg.AioBody.GetMsgType() msgType := elem.QQWalletMsg.AioBody.MsgType.Unwrap()
if msgType <= 1000 && elem.QQWalletMsg.AioBody.RedType != nil { if msgType <= 1000 && elem.QQWalletMsg.AioBody.RedType.IsSome() {
return []IMessageElement{ return []IMessageElement{
&RedBagElement{ &RedBagElement{
MsgType: RedBagMessageType(msgType), MsgType: RedBagMessageType(msgType),
Title: elem.QQWalletMsg.AioBody.Receiver.GetTitle(), Title: elem.QQWalletMsg.AioBody.Receiver.Title.Unwrap(),
}, },
} }
} }
} }
if elem.Face != nil { if elem.Face != nil {
res = append(res, NewFace(elem.Face.GetIndex())) res = append(res, NewFace(elem.Face.Index.Unwrap()))
} }
if elem.CommonElem != nil { if elem.CommonElem != nil {
switch elem.CommonElem.GetServiceType() { switch elem.CommonElem.ServiceType.Unwrap() {
case 3: case 3:
flash := &msg.MsgElemInfoServtype3{} flash := &msg.MsgElemInfoServtype3{}
_ = proto.Unmarshal(elem.CommonElem.PbElem, flash) _ = proto.Unmarshal(elem.CommonElem.PbElem, flash)
if flash.FlashTroopPic != nil { if flash.FlashTroopPic != nil {
res = append(res, &GroupImageElement{ res = append(res, &GroupImageElement{
FileId: int64(flash.FlashTroopPic.GetFileId()), FileId: int64(flash.FlashTroopPic.FileId.Unwrap()),
ImageId: flash.FlashTroopPic.GetFilePath(), ImageId: flash.FlashTroopPic.FilePath.Unwrap(),
Size: flash.FlashTroopPic.GetSize(), Size: flash.FlashTroopPic.Size.Unwrap(),
Width: flash.FlashTroopPic.GetWidth(), Width: flash.FlashTroopPic.Width.Unwrap(),
Height: flash.FlashTroopPic.GetHeight(), Height: flash.FlashTroopPic.Height.Unwrap(),
Md5: flash.FlashTroopPic.Md5, Md5: flash.FlashTroopPic.Md5,
Flash: true, Flash: true,
}) })
@ -569,8 +569,8 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
} }
if flash.FlashC2CPic != nil { if flash.FlashC2CPic != nil {
res = append(res, &FriendImageElement{ res = append(res, &FriendImageElement{
ImageId: flash.FlashC2CPic.GetFilePath(), ImageId: flash.FlashC2CPic.FilePath.Unwrap(),
Size: flash.FlashC2CPic.GetFileLen(), Size: flash.FlashC2CPic.FileLen.Unwrap(),
Md5: flash.FlashC2CPic.PicMd5, Md5: flash.FlashC2CPic.PicMd5,
Flash: true, Flash: true,
}) })
@ -579,12 +579,12 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
case 33: case 33:
newSysFaceMsg := &msg.MsgElemInfoServtype33{} newSysFaceMsg := &msg.MsgElemInfoServtype33{}
_ = proto.Unmarshal(elem.CommonElem.PbElem, newSysFaceMsg) _ = proto.Unmarshal(elem.CommonElem.PbElem, newSysFaceMsg)
res = append(res, NewFace(int32(newSysFaceMsg.GetIndex()))) res = append(res, NewFace(int32(newSysFaceMsg.Index.Unwrap())))
case 37: case 37:
animatedStickerMsg := &msg.MsgElemInfoServtype37{} animatedStickerMsg := &msg.MsgElemInfoServtype37{}
_ = proto.Unmarshal(elem.CommonElem.PbElem, animatedStickerMsg) _ = proto.Unmarshal(elem.CommonElem.PbElem, animatedStickerMsg)
sticker := &AnimatedSticker{ sticker := &AnimatedSticker{
ID: int32(animatedStickerMsg.GetQsid()), ID: int32(animatedStickerMsg.Qsid.Unwrap()),
Name: strings.TrimPrefix(string(animatedStickerMsg.Text), "/"), Name: strings.TrimPrefix(string(animatedStickerMsg.Text), "/"),
} }
return []IMessageElement{sticker} // sticker 永远为单独消息 return []IMessageElement{sticker} // sticker 永远为单独消息

View File

@ -19,7 +19,7 @@ var imgOld = []byte{
func (e *TextElement) Pack() (r []*msg.Elem) { func (e *TextElement) Pack() (r []*msg.Elem) {
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
Text: &msg.Text{ Text: &msg.Text{
Str: &e.Content, Str: proto.Some(e.Content),
}, },
}) })
return return
@ -44,7 +44,7 @@ func (e *FaceElement) Pack() (r []*msg.Elem) {
} else { } else {
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
Face: &msg.Face{ Face: &msg.Face{
Index: &e.Index, Index: proto.Some(e.Index),
Old: binary.ToBytes(int16(0x1445 - 4 + e.Index)), Old: binary.ToBytes(int16(0x1445 - 4 + e.Index)),
Buf: []byte{0x00, 0x01, 0x00, 0x04, 0x52, 0xCC, 0xF5, 0xD0}, Buf: []byte{0x00, 0x01, 0x00, 0x04, 0x52, 0xCC, 0xF5, 0xD0},
}, },
@ -59,7 +59,7 @@ func (e *AtElement) Pack() (r []*msg.Elem) {
case AtTypeGroupMember: case AtTypeGroupMember:
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
Text: &msg.Text{ Text: &msg.Text{
Str: &e.Display, Str: proto.Some(e.Display),
Attr6Buf: binary.NewWriterF(func(w *binary.Writer) { Attr6Buf: binary.NewWriterF(func(w *binary.Writer) {
w.WriteUInt16(1) w.WriteUInt16(1)
w.WriteUInt16(0) w.WriteUInt16(0)
@ -78,7 +78,7 @@ func (e *AtElement) Pack() (r []*msg.Elem) {
pb, _ := proto.Marshal(&msg.TextResvAttr{AtType: proto.Uint32(2), AtMemberTinyid: proto.Uint64(uint64(e.Target))}) pb, _ := proto.Marshal(&msg.TextResvAttr{AtType: proto.Uint32(2), AtMemberTinyid: proto.Uint64(uint64(e.Target))})
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
Text: &msg.Text{ Text: &msg.Text{
Str: &e.Display, Str: proto.Some(e.Display),
PbReserve: pb, PbReserve: pb,
}, },
}) })
@ -92,13 +92,13 @@ func (e *ServiceElement) Pack() (r []*msg.Elem) {
// id =35 已移至 ForwardElement // id =35 已移至 ForwardElement
if e.Id == 1 { if e.Id == 1 {
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
Text: &msg.Text{Str: &e.ResId}, Text: &msg.Text{Str: proto.Some(e.ResId)},
}) })
} }
r = append(r, &msg.Elem{ r = append(r, &msg.Elem{
RichMsg: &msg.RichMsg{ RichMsg: &msg.RichMsg{
Template1: append([]byte{1}, binary.ZlibCompress([]byte(e.Content))...), Template1: append([]byte{1}, binary.ZlibCompress([]byte(e.Content))...),
ServiceId: &e.Id, ServiceId: proto.Some(e.Id),
}, },
}) })
return return
@ -179,14 +179,14 @@ func (e *AnimatedSticker) Pack() []*msg.Elem {
CommonElem: &msg.CommonElem{ CommonElem: &msg.CommonElem{
ServiceType: proto.Int32(37), ServiceType: proto.Int32(37),
PbElem: pbElem, PbElem: pbElem,
BusinessType: &business, BusinessType: proto.Some(business),
}, },
} }
pbReverse, _ := proto.Marshal(&msg.Text{Str: proto.String(fmt.Sprintf("[%s]请使用最新版手机QQ体验新功能", e.Name))}) pbReverse, _ := proto.Marshal(&msg.Text{Str: proto.String(fmt.Sprintf("[%s]请使用最新版手机QQ体验新功能", e.Name))})
text := &msg.Elem{ text := &msg.Elem{
Text: &msg.Text{ Text: &msg.Text{
Str: &name, Str: proto.Some(name),
PbReserve: pbReverse, PbReserve: pbReverse,
}, },
} }

View File

@ -115,76 +115,76 @@ func (f *Feed) ToSendingPayload(selfUin int64) string {
func DecodeFeed(p *channel.StFeed) *Feed { func DecodeFeed(p *channel.StFeed) *Feed {
f := &Feed{ f := &Feed{
Id: p.GetId(), Id: p.Id.Unwrap(),
Title: p.Title.Contents[0].TextContent.GetText(), Title: p.Title.Contents[0].TextContent.Text.Unwrap(),
SubTitle: "", SubTitle: "",
CreateTime: int64(p.GetCreateTime()), CreateTime: int64(p.CreateTime.Unwrap()),
GuildId: p.ChannelInfo.Sign.GetGuildId(), GuildId: p.ChannelInfo.Sign.GuildId.Unwrap(),
ChannelId: p.ChannelInfo.Sign.GetChannelId(), ChannelId: p.ChannelInfo.Sign.ChannelId.Unwrap(),
} }
if p.Subtitle != nil && len(p.Subtitle.Contents) > 0 { if p.Subtitle != nil && len(p.Subtitle.Contents) > 0 {
f.SubTitle = p.Subtitle.Contents[0].TextContent.GetText() f.SubTitle = p.Subtitle.Contents[0].TextContent.Text.Unwrap()
} }
if p.Poster != nil { if p.Poster != nil {
tinyId, _ := strconv.ParseUint(p.Poster.GetId(), 10, 64) tinyId, _ := strconv.ParseUint(p.Poster.Id.Unwrap(), 10, 64)
f.Poster = &FeedPoster{ f.Poster = &FeedPoster{
TinyId: tinyId, TinyId: tinyId,
TinyIdStr: p.Poster.GetId(), TinyIdStr: p.Poster.Id.Unwrap(),
Nickname: p.Poster.GetNick(), Nickname: p.Poster.Nick.Unwrap(),
} }
if p.Poster.Icon != nil { if p.Poster.Icon != nil {
f.Poster.IconUrl = p.Poster.Icon.GetIconUrl() f.Poster.IconUrl = p.Poster.Icon.IconUrl.Unwrap()
} }
} }
for _, video := range p.Videos { for _, video := range p.Videos {
f.Videos = append(f.Videos, &FeedVideoInfo{ f.Videos = append(f.Videos, &FeedVideoInfo{
FileId: video.GetFileId(), FileId: video.FileId.Unwrap(),
PatternId: video.GetPatternId(), PatternId: video.PatternId.Unwrap(),
Url: video.GetPlayUrl(), Url: video.PlayUrl.Unwrap(),
Width: video.GetWidth(), Width: video.Width.Unwrap(),
Height: video.GetHeight(), Height: video.Height.Unwrap(),
}) })
} }
for _, image := range p.Images { for _, image := range p.Images {
f.Images = append(f.Images, &FeedImageInfo{ f.Images = append(f.Images, &FeedImageInfo{
FileId: image.GetPicId(), FileId: image.PicId.Unwrap(),
PatternId: image.GetPatternId(), PatternId: image.PatternId.Unwrap(),
Url: image.GetPicUrl(), Url: image.PicUrl.Unwrap(),
Width: image.GetWidth(), Width: image.Width.Unwrap(),
Height: image.GetHeight(), Height: image.Height.Unwrap(),
}) })
} }
for _, c := range p.Contents.Contents { for _, c := range p.Contents.Contents {
if c.TextContent != nil { if c.TextContent != nil {
f.Contents = append(f.Contents, &TextElement{Content: c.TextContent.GetText()}) f.Contents = append(f.Contents, &TextElement{Content: c.TextContent.Text.Unwrap()})
} }
if c.EmojiContent != nil { if c.EmojiContent != nil {
id, _ := strconv.ParseInt(c.EmojiContent.GetId(), 10, 64) id, _ := strconv.ParseInt(c.EmojiContent.Id.Unwrap(), 10, 64)
f.Contents = append(f.Contents, &EmojiElement{ f.Contents = append(f.Contents, &EmojiElement{
Index: int32(id), Index: int32(id),
Id: c.EmojiContent.GetId(), Id: c.EmojiContent.Id.Unwrap(),
Name: message.FaceNameById(int(id)), Name: message.FaceNameById(int(id)),
}) })
} }
if c.ChannelContent != nil && c.ChannelContent.ChannelInfo != nil { if c.ChannelContent != nil && c.ChannelContent.ChannelInfo != nil {
f.Contents = append(f.Contents, &ChannelQuoteElement{ f.Contents = append(f.Contents, &ChannelQuoteElement{
GuildId: c.ChannelContent.ChannelInfo.Sign.GetGuildId(), GuildId: c.ChannelContent.ChannelInfo.Sign.GuildId.Unwrap(),
ChannelId: c.ChannelContent.ChannelInfo.Sign.GetChannelId(), ChannelId: c.ChannelContent.ChannelInfo.Sign.ChannelId.Unwrap(),
DisplayText: c.ChannelContent.ChannelInfo.GetName(), DisplayText: c.ChannelContent.ChannelInfo.Name.Unwrap(),
}) })
} }
if c.AtContent != nil && c.AtContent.User != nil { if c.AtContent != nil && c.AtContent.User != nil {
tinyId, _ := strconv.ParseUint(c.AtContent.User.GetId(), 10, 64) tinyId, _ := strconv.ParseUint(c.AtContent.User.Id.Unwrap(), 10, 64)
f.Contents = append(f.Contents, &AtElement{ f.Contents = append(f.Contents, &AtElement{
Id: c.AtContent.User.GetId(), Id: c.AtContent.User.Id.Unwrap(),
TinyId: tinyId, TinyId: tinyId,
Nickname: c.AtContent.User.GetNick(), Nickname: c.AtContent.User.Nick.Unwrap(),
}) })
} }
if c.UrlContent != nil { if c.UrlContent != nil {
f.Contents = append(f.Contents, &UrlQuoteElement{ f.Contents = append(f.Contents, &UrlQuoteElement{
Url: c.UrlContent.GetUrl(), Url: c.UrlContent.Url.Unwrap(),
DisplayText: c.UrlContent.GetDisplayText(), DisplayText: c.UrlContent.DisplayText.Unwrap(),
}) })
} }
} }