github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/client/pb/msg/msg.proto (about)

     1  syntax = "proto2";
     2  
     3  package msg;
     4  
     5  option go_package = "github.com/Mrs4s/MiraiGo/client/pb/msg";
     6  
     7  message GetMessageRequest {
     8    optional SyncFlag syncFlag = 1;
     9    optional bytes syncCookie = 2;
    10    optional int32 rambleFlag = 3;
    11    optional int32 latestRambleNumber = 4;
    12    optional int32 otherRambleNumber = 5;
    13    optional int32 onlineSyncFlag = 6;
    14    optional int32 contextFlag = 7;
    15    optional int32 whisperSessionId = 8;
    16    optional int32 msgReqType = 9;
    17    optional bytes pubaccountCookie = 10;
    18    optional bytes msgCtrlBuf = 11;
    19    optional bytes serverBuf = 12;
    20  }
    21  
    22  message SendMessageRequest {
    23    optional RoutingHead routingHead = 1;
    24    optional ContentHead contentHead = 2;
    25    optional MessageBody msgBody = 3;
    26    optional int32 msgSeq = 4;
    27    optional int32 msgRand = 5;
    28    optional bytes syncCookie = 6;
    29    //MsgComm.AppShareInfo? appShare = 7;
    30    optional int32 msgVia = 8;
    31    optional int32 dataStatist = 9;
    32    //MultiMsgAssist? multiMsgAssist = 10;
    33    //PbInputNotifyInfo? inputNotifyInfo = 11;
    34    optional MsgCtrl msgCtrl = 12;
    35    //ImReceipt.ReceiptReq? receiptReq = 13;
    36    optional int32 multiSendSeq = 14;
    37  }
    38  
    39  message SendMessageResponse {
    40    optional int32 result = 1;
    41    optional string errMsg = 2;
    42  }
    43  
    44  message MsgWithDrawReq {
    45    repeated C2CMsgWithDrawReq c2cWithDraw = 1;
    46    repeated GroupMsgWithDrawReq groupWithDraw = 2;
    47  }
    48  
    49  message C2CMsgWithDrawReq{
    50    repeated C2CMsgInfo msgInfo = 1;
    51    optional int32 longMessageFlag = 2;
    52    optional bytes reserved = 3;
    53    optional int32 subCmd = 4;
    54  }
    55  
    56  message GroupMsgWithDrawReq{
    57    optional int32 subCmd = 1;
    58    optional int32 groupType = 2;
    59    optional int64 groupCode = 3;
    60    repeated GroupMsgInfo msgList = 4;
    61    optional bytes userDef = 5;
    62  }
    63  
    64  message MsgWithDrawResp {
    65    repeated C2CMsgWithDrawResp c2cWithDraw = 1;
    66    repeated GroupMsgWithDrawResp groupWithDraw = 2;
    67  }
    68  
    69  message C2CMsgWithDrawResp {
    70    optional int32 result = 1;
    71    optional string errMsg = 2;
    72  }
    73  
    74  message GroupMsgWithDrawResp {
    75    optional int32 result = 1;
    76    optional string errMsg = 2;
    77  }
    78  
    79  message GroupMsgInfo {
    80    optional int32 msgSeq = 1;
    81    optional int32 msgRandom = 2;
    82    optional int32 msgType = 3;
    83  }
    84  
    85  message C2CMsgInfo {
    86    optional int64 fromUin = 1;
    87    optional int64 toUin = 2;
    88    optional int32 msgSeq = 3;
    89    optional int64 msgUid = 4;
    90    optional int64 msgTime = 5;
    91    optional int32 msgRandom = 6;
    92    optional int32 pkgNum = 7;
    93    optional int32 pkgIndex = 8;
    94    optional int32 divSeq = 9;
    95    optional int32 msgType = 10;
    96    optional RoutingHead routingHead = 20;
    97  }
    98  
    99  message RoutingHead {
   100    optional C2C c2c = 1;
   101    optional Grp grp = 2;
   102    optional GrpTmp grpTmp = 3;
   103    optional WPATmp wpaTmp = 6;
   104    optional Trans0x211 trans_0X211 = 15;
   105    /*
   106    Dis dis = 4;
   107    DisTmp disTmp = 5;
   108    SecretFileHead? secretFile = 7;
   109    PublicPlat? publicPlat = 8;
   110    TransMsg? transMsg = 9;
   111    AddressListTmp? addressList = 10;
   112    RichStatusTmp? richStatusTmp = 11;
   113    TransCmd? transCmd = 12;
   114    AccostTmp? accostTmp = 13;
   115    PubGroupTmp? pubGroupTmp = 14;
   116    BusinessWPATmp? businessWpaTmp = 16;
   117    AuthTmp? authTmp = 17;
   118    BsnsTmp? bsnsTmp = 18;
   119    QQQueryBusinessTmp? qqQuerybusinessTmp = 19;
   120    NearByDatingTmp? nearbyDatingTmp = 20;
   121    NearByAssistantTmp? nearbyAssistantTmp = 21;
   122    CommTmp? commTmp = 22;
   123    */
   124  }
   125  
   126  message Trans0x211 {
   127    optional uint64 toUin = 1;
   128    optional uint32 ccCmd = 2;
   129  }
   130  
   131  message WPATmp {
   132    optional uint64 toUin = 1;
   133    optional bytes sig = 2;
   134  }
   135  
   136  message C2C {
   137    optional int64 toUin = 1;
   138  }
   139  
   140  message Grp {
   141    optional int64 groupCode = 1;
   142  }
   143  
   144  message GrpTmp {
   145    optional int64 groupUin = 1;
   146    optional int64 toUin = 2;
   147  }
   148  
   149  message MsgCtrl {
   150    optional int32 msgFlag = 1;
   151  }
   152  
   153  message GetMessageResponse {
   154    optional int32 result = 1;
   155    optional string errorMessage = 2;
   156    optional bytes syncCookie = 3;
   157    optional SyncFlag syncFlag = 4;
   158    repeated UinPairMessage uinPairMsgs = 5;
   159    optional int64 bindUin = 6;
   160    optional int32 msgRspType = 7;
   161    optional bytes pubAccountCookie = 8;
   162    optional bool isPartialSync = 9;
   163    optional bytes msgCtrlBuf = 10;
   164  }
   165  
   166  message PushMessagePacket {
   167    optional Message message = 1;
   168    optional int32 svrip = 2;
   169    optional bytes pushToken = 3;
   170    optional int32 pingFLag = 4;
   171    optional int32 generalFlag = 9;
   172  }
   173  
   174  message UinPairMessage {
   175    optional int32 lastReadTime = 1;
   176    optional int64 peerUin = 2;
   177    optional int32 msgCompleted = 3;
   178    repeated Message messages = 4;
   179  }
   180  
   181  message Message {
   182    optional MessageHead head = 1;
   183    optional ContentHead content = 2;
   184    optional MessageBody body = 3;
   185  }
   186  
   187  message MessageBody {
   188    optional RichText richText = 1;
   189    optional bytes msgContent = 2;
   190    optional bytes msgEncryptContent = 3;
   191  }
   192  
   193  message RichText {
   194    optional Attr attr = 1;
   195    repeated Elem elems = 2;
   196    optional NotOnlineFile notOnlineFile = 3;
   197    optional Ptt ptt = 4;
   198  }
   199  
   200  message Elem {
   201    optional Text text = 1;
   202    optional Face face = 2;
   203    optional OnlineImage onlineImage = 3;
   204    optional NotOnlineImage notOnlineImage = 4;
   205    optional TransElem transElemInfo = 5;
   206    optional MarketFace marketFace = 6;
   207    //ElemFlags elemFlags = 7;
   208    optional CustomFace customFace = 8;
   209    //optional ElemFlags2 elemFlags2 = 9;
   210    //FunFace funFace = 10;
   211    //SecretFileMsg secretFile = 11;
   212    optional RichMsg richMsg = 12;
   213    optional GroupFile groupFile = 13;
   214    //PubGroup pubGroup = 14;
   215    //MarketTrans marketTrans = 15;
   216    optional ExtraInfo extraInfo = 16;
   217    //ShakeWindow? shakeWindow = 17;
   218    //PubAccount? pubAccount = 18;
   219    optional VideoFile videoFile = 19;
   220    //TipsInfo? tipsInfo = 20;
   221    optional AnonymousGroupMessage anonGroupMsg = 21;
   222    //QQLiveOld? qqLiveOld = 22;
   223    //LifeOnlineAccount? lifeOnline = 23;
   224    optional QQWalletMsg QQWalletMsg = 24;
   225    //CrmElem? crmElem = 25;
   226    //ConferenceTipsInfo? conferenceTipsInfo = 26;
   227    //RedBagInfo? redbagInfo = 27;
   228    //LowVersionTips? lowVersionTips = 28;
   229    //bytes bankcodeCtrlInfo = 29;
   230    //NearByMessageType? nearByMsg = 30;
   231    optional CustomElem customElem = 31;
   232    //LocationInfo? locationInfo = 32;
   233    //PubAccInfo? pubAccInfo = 33;
   234    //SmallEmoji? smallEmoji = 34;
   235    //FSJMessageElem? fsjMsgElem = 35;
   236    //ArkAppElem? arkApp = 36;
   237    optional GeneralFlags generalFlags = 37;
   238    //CustomFace? hcFlashPic = 38;
   239    //DeliverGiftMsg? deliverGiftMsg = 39;
   240    //BitAppMsg? bitappMsg = 40;
   241    //OpenQQData? openQqData = 41;
   242    //ApolloActMsg? apolloMsg = 42;
   243    //GroupPubAccountInfo? groupPubAccInfo = 43;
   244    //BlessingMessage? blessMsg = 44;
   245    optional SourceMsg srcMsg = 45;
   246    //LolaMsg? lolaMsg = 46;
   247    //GroupBusinessMsg? groupBusinessMsg = 47;
   248    //WorkflowNotifyMsg? msgWorkflowNotify = 48;
   249    //PatsElem? patElem = 49;
   250    //GroupPostElem? groupPostElem = 50;
   251    optional LightAppElem lightApp = 51;
   252    //EIMInfo? eimInfo = 52;
   253    optional CommonElem commonElem = 53;
   254  }
   255  
   256  message MarketFace {
   257    optional bytes faceName = 1;
   258    optional uint32 itemType = 2;
   259    optional uint32 faceInfo = 3;
   260    optional bytes faceId = 4;
   261    optional uint32 tabId = 5;
   262    optional uint32 subType = 6;
   263    optional bytes key = 7;
   264    optional bytes param = 8;
   265    optional uint32 mediaType = 9;
   266    optional uint32 imageWidth = 10;
   267    optional uint32 imageHeight = 11;
   268    optional bytes mobileparam = 12;
   269    optional bytes pbReserve = 13;
   270  }
   271  
   272  message ElemFlags2 {
   273    optional uint32 colorTextId = 1;
   274    optional uint64 msgId = 2;
   275    optional uint32 whisperSessionId = 3;
   276    optional uint32 pttChangeBit = 4;
   277    optional uint32 vipStatus = 5;
   278    optional uint32 compatibleId = 6;
   279    repeated Inst insts = 7;
   280    optional uint32 msgRptCnt = 8;
   281    optional Inst srcInst = 9;
   282    optional uint32 longtitude = 10;
   283    optional uint32 latitude = 11;
   284    optional uint32 customFont = 12;
   285    optional PcSupportDef pcSupportDef = 13;
   286    optional uint32 crmFlags = 14;
   287  
   288    message Inst {
   289      optional uint32 appId = 1;
   290      optional uint32 instId = 2;
   291    }
   292  }
   293  
   294  message PcSupportDef {
   295    optional uint32 pcPtlBegin = 1;
   296    optional uint32 pcPtlEnd = 2;
   297    optional uint32 macPtlBegin = 3;
   298    optional uint32 macPtlEnd = 4;
   299    repeated uint32 ptlsSupport = 5;
   300    repeated uint32 ptlsNotSupport = 6;
   301  }
   302  
   303  message CommonElem {
   304    optional int32 serviceType = 1;
   305    optional bytes pbElem = 2;
   306    optional int32 businessType = 3;
   307  }
   308  
   309  message QQWalletMsg {
   310    optional QQWalletAioBody aioBody = 1;
   311  }
   312  
   313  message QQWalletAioBody {
   314    optional uint64 sendUin = 1;
   315    optional QQWalletAioElem sender = 2;
   316    optional QQWalletAioElem receiver = 3;
   317    optional sint32 ChannelId = 4;
   318    optional sint32 templateId = 5;
   319    optional uint32 resend = 6;
   320    optional uint32 msgPriority = 7;
   321    optional sint32 redType = 8;
   322    optional bytes billNo = 9;
   323    optional bytes authKey = 10;
   324    optional sint32 sessionType = 11;
   325    optional sint32 msgType = 12;
   326    optional sint32 envelOpeId = 13;
   327    optional bytes name = 14;
   328    optional sint32 confType = 15;
   329    optional sint32 msgFrom = 16;
   330    optional bytes pcBody = 17;
   331    optional bytes index = 18;
   332    optional uint32 redChannel = 19;
   333    repeated uint64 grapUin = 20;
   334    optional bytes pbReserve = 21;
   335  }
   336  
   337  message QQWalletAioElem{
   338    optional uint32 background = 1;
   339    optional uint32 icon = 2;
   340    optional string title = 3;
   341    optional string subtitle = 4;
   342    optional string content = 5;
   343    optional bytes linkUrl = 6;
   344    optional bytes blackStripe = 7;
   345    optional bytes notice = 8;
   346    optional uint32 titleColor = 9;
   347    optional uint32 subtitleColor = 10;
   348    optional bytes actionsPriority = 11;
   349    optional bytes jumpUrl = 12;
   350    optional bytes nativeIos = 13;
   351    optional bytes nativeAndroid = 14;
   352    optional bytes iconUrl = 15;
   353    optional uint32 contentColor = 16;
   354    optional uint32 contentBgColor = 17;
   355    optional bytes aioImageLeft = 18;
   356    optional bytes aioImageRight = 19;
   357    optional bytes cftImage = 20;
   358    optional bytes pbReserve = 21;
   359  }
   360  
   361  message RichMsg {
   362    optional bytes template1 = 1;
   363    optional int32 serviceId = 2;
   364    optional bytes msgResId = 3;
   365    optional int32 rand = 4;
   366    optional int32 seq = 5;
   367  }
   368  
   369  message CustomElem {
   370    optional bytes desc = 1;
   371    optional bytes data = 2;
   372    optional int32  enumType = 3;
   373    optional bytes ext = 4;
   374    optional bytes sound = 5;
   375  }
   376  
   377  message Text {
   378    optional string str = 1;
   379    optional string link = 2;
   380    optional bytes attr6Buf = 3;
   381    optional bytes attr7Buf = 4;
   382    optional bytes buf = 11;
   383    optional bytes pbReserve = 12;
   384  }
   385  
   386  message Attr {
   387    optional int32 codePage = 1;
   388    optional int32 time = 2;
   389    optional int32 random = 3;
   390    optional int32 color = 4;
   391    optional int32 size = 5;
   392    optional int32 effect = 6;
   393    optional int32 charSet = 7;
   394    optional int32 pitchAndFamily = 8;
   395    optional string fontName = 9;
   396    optional bytes reserveData = 10;
   397  }
   398  
   399  message Ptt {
   400    optional int32 fileType = 1;
   401    optional int64 srcUin = 2;
   402    optional bytes fileUuid = 3;
   403    optional bytes fileMd5 = 4;
   404    optional string fileName = 5;
   405    optional int32 fileSize = 6;
   406    optional bytes reserve = 7;
   407    optional int32 fileId = 8;
   408    optional int32 serverIp = 9;
   409    optional int32 serverPort = 10;
   410    optional bool boolValid = 11;
   411    optional bytes signature = 12;
   412    optional bytes shortcut = 13;
   413    optional bytes fileKey = 14;
   414    optional int32 magicPttIndex = 15;
   415    optional int32 voiceSwitch = 16;
   416    optional bytes pttUrl = 17;
   417    optional bytes groupFileKey = 18;
   418    optional int32 time = 19;
   419    optional bytes downPara = 20;
   420    optional int32 format = 29;
   421    optional bytes pbReserve = 30;
   422    repeated bytes bytesPttUrls = 31;
   423    optional int32 downloadFlag = 32;
   424  }
   425  
   426  message OnlineImage {
   427    optional bytes guid = 1;
   428    optional bytes filePath = 2;
   429    optional  bytes oldVerSendFile = 3;
   430  }
   431  
   432  message NotOnlineImage {
   433    optional string filePath = 1;
   434    optional int32 fileLen = 2;
   435    optional string downloadPath = 3;
   436    optional bytes oldVerSendFile = 4;
   437    optional int32 imgType = 5;
   438    optional bytes previewsImage = 6;
   439    optional bytes picMd5 = 7;
   440    optional int32 picHeight = 8;
   441    optional int32 picWidth = 9;
   442    optional string resId = 10;
   443    optional bytes flag = 11;
   444    optional string thumbUrl = 12;
   445    optional int32 original = 13;
   446    optional string bigUrl = 14;
   447    optional string origUrl = 15;
   448    optional int32 bizType = 16;
   449    optional int32 result = 17;
   450    optional int32 index = 18;
   451    optional bytes opFaceBuf = 19;
   452    optional bool oldPicMd5 = 20;
   453    optional int32 thumbWidth = 21;
   454    optional int32 thumbHeight = 22;
   455    optional int32 fileId = 23;
   456    optional int32 showLen = 24;
   457    optional int32 downloadLen = 25;
   458  
   459    // TODO: find this message
   460    message PbReserve {
   461      optional string url = 30;
   462    }
   463    optional PbReserve pbReserve = 29;
   464  }
   465  
   466  message NotOnlineFile {
   467    optional int32 fileType = 1;
   468    optional bytes sig = 2;
   469    optional bytes fileUuid = 3;
   470    optional bytes fileMd5 = 4;
   471    optional bytes fileName = 5;
   472    optional int64 fileSize = 6;
   473    optional bytes note = 7;
   474    optional int32 reserved = 8;
   475    optional int32 subcmd = 9;
   476    optional int32 microCloud = 10;
   477    repeated bytes bytesFileUrls = 11;
   478    optional int32 downloadFlag = 12;
   479    optional int32 dangerEvel = 50;
   480    optional int32 lifeTime = 51;
   481    optional int32 uploadTime = 52;
   482    optional int32 absFileType = 53;
   483    optional int32 clientType = 54;
   484    optional int32 expireTime = 55;
   485    optional bytes pbReserve = 56;
   486  }
   487  
   488  message TransElem {
   489    optional int32 elemType = 1;
   490    optional bytes elemValue = 2;
   491  }
   492  
   493  message ExtraInfo {
   494    optional bytes nick = 1;
   495    optional bytes groupCard = 2;
   496    optional int32 level = 3;
   497    optional int32 flags = 4;
   498    optional int32 groupMask = 5;
   499    optional int32 msgTailId = 6;
   500    optional bytes senderTitle = 7;
   501    optional bytes apnsTips = 8;
   502    optional int64 uin = 9;
   503    optional int32 msgStateFlag = 10;
   504    optional int32 apnsSoundType = 11;
   505    optional int32 newGroupFlag = 12;
   506  }
   507  
   508  message GroupFile {
   509    optional bytes filename = 1;
   510    optional int64 fileSize = 2;
   511    optional bytes fileId = 3;
   512    optional bytes batchId = 4;
   513    optional bytes fileKey = 5;
   514    optional bytes mark = 6;
   515    optional int64 sequence = 7;
   516    optional bytes batchItemId = 8;
   517    optional int32 feedMsgTime = 9;
   518    optional bytes pbReserve = 10;
   519  }
   520  
   521  message AnonymousGroupMessage {
   522    optional int32 flags = 1;
   523    optional bytes anonId = 2;
   524    optional bytes anonNick = 3;
   525    optional int32 headPortrait = 4;
   526    optional int32 expireTime = 5;
   527    optional int32 bubbleId = 6;
   528    optional bytes rankColor = 7;
   529  }
   530  
   531  message VideoFile {
   532    optional bytes fileUuid = 1;
   533    optional bytes fileMd5 = 2;
   534    optional bytes fileName = 3;
   535    optional int32 fileFormat = 4;
   536    optional int32 fileTime = 5;
   537    optional int32 fileSize = 6;
   538    optional int32 thumbWidth = 7;
   539    optional int32 thumbHeight = 8;
   540    optional bytes thumbFileMd5 = 9;
   541    optional bytes source = 10;
   542    optional int32 thumbFileSize = 11;
   543    optional int32 busiType = 12;
   544    optional int32 fromChatType = 13;
   545    optional int32 toChatType = 14;
   546    optional bool boolSupportProgressive = 15;
   547    optional int32 fileWidth = 16;
   548    optional int32 fileHeight = 17;
   549    optional int32 subBusiType = 18;
   550    optional int32 videoAttr = 19;
   551    repeated bytes bytesThumbFileUrls = 20;
   552    repeated bytes bytesVideoFileUrls = 21;
   553    optional int32 thumbDownloadFlag = 22;
   554    optional int32 videoDownloadFlag = 23;
   555    optional bytes pbReserve = 24;
   556  }
   557  
   558  message SourceMsg {
   559    repeated int32 origSeqs = 1;
   560    optional int64 senderUin = 2;
   561    optional int32 time = 3;
   562    optional int32 flag = 4;
   563    repeated Elem elems = 5;
   564    optional int32 type = 6;
   565    optional bytes richMsg = 7;
   566    optional bytes pbReserve = 8;
   567    optional bytes srcMsg = 9;
   568    optional int64 toUin = 10;
   569    optional bytes troopName = 11;
   570  }
   571  
   572  message Face {
   573    optional int32 index = 1;
   574    optional bytes old = 2;
   575    optional bytes buf = 11;
   576  }
   577  
   578  message LightAppElem {
   579    optional bytes data = 1;
   580    optional bytes msgResid = 2;
   581  }
   582  
   583  message CustomFace {
   584    optional bytes guid = 1;
   585    optional  string filePath = 2;
   586    optional string shortcut = 3;
   587    optional bytes buffer = 4;
   588    optional bytes flag = 5;
   589    optional bytes oldData = 6;
   590    optional int32 fileId = 7;
   591    optional int32 serverIp = 8;
   592    optional int32 serverPort = 9;
   593    optional int32 fileType = 10;
   594    optional bytes signature = 11;
   595    optional int32 useful = 12;
   596    optional bytes md5 = 13;
   597    optional string thumbUrl = 14;
   598    optional string bigUrl = 15;
   599    optional string origUrl = 16;
   600    optional int32 bizType = 17;
   601    optional int32 repeatIndex = 18;
   602    optional int32 repeatImage = 19;
   603    optional int32 imageType = 20;
   604    optional int32 index = 21;
   605    optional int32 width = 22;
   606    optional int32 height = 23;
   607    optional int32 source = 24;
   608    optional int32 size = 25;
   609    optional int32 origin = 26;
   610    optional int32 thumbWidth = 27;
   611    optional int32 thumbHeight = 28;
   612    optional int32 showLen = 29;
   613    optional int32 downloadLen = 30;
   614    optional string _400Url = 31;
   615    optional int32 _400Width = 32;
   616    optional int32 _400Height = 33;
   617    optional bytes pbReserve = 34;
   618  }
   619  
   620  message ContentHead {
   621    optional int32 pkgNum = 1;
   622    optional int32 pkgIndex = 2;
   623    optional int32 divSeq = 3;
   624    optional int32 autoReply = 4;
   625  }
   626  
   627  message MessageHead {
   628    optional int64 fromUin = 1;
   629    optional int64 toUin = 2;
   630    optional int32 msgType = 3;
   631    optional int32 c2cCmd = 4;
   632    optional int32 msgSeq = 5;
   633    optional int32 msgTime = 6;
   634    optional int64 msgUid = 7;
   635    optional C2CTempMessageHead c2cTmpMsgHead = 8;
   636    optional GroupInfo groupInfo = 9;
   637    optional int32 fromAppid = 10;
   638    optional int32 fromInstid = 11;
   639    optional int32 userActive = 12;
   640    // optional DiscussInfo discussInfo = 13;
   641    optional string fromNick = 14;
   642    optional int64 authUin = 15;
   643    optional string authNick = 16;
   644    optional int32 msgFlag = 17;
   645    optional string authRemark = 18;
   646    optional string groupName = 19;
   647    optional MutilTransHead mutiltransHead = 20;
   648    // optional InstCtrl msgInstCtrl = 21;
   649    optional int32 publicAccountGroupSendFlag = 22;
   650    optional int32 wseqInC2cMsghead = 23;
   651    optional int64 cpid = 24;
   652    // optional ExtGroupKeyInfo extGroupKeyInfo = 25;
   653    optional string multiCompatibleText = 26;
   654    optional int32 authSex = 27;
   655    optional bool isSrcMsg = 28;
   656  }
   657  
   658  message GroupInfo {
   659    optional int64 groupCode = 1;
   660    optional int32 groupType = 2;
   661    optional int64 groupInfoSeq = 3;
   662    optional string groupCard = 4;
   663    optional bytes groupRank = 5;
   664    optional int32 groupLevel = 6;
   665    optional int32 groupCardType = 7;
   666    optional bytes groupName = 8;
   667  }
   668  
   669  message DiscussInfo {
   670    optional int64 discussUin = 1;
   671    optional int32 discussType = 2;
   672    optional int64 discussInfoSeq = 3;
   673    optional bytes discussRemark = 4;
   674    optional bytes discussName = 5;
   675  }
   676  
   677  message MutilTransHead{
   678    optional int32 status = 1;
   679    optional int32 msgId = 2;
   680  }
   681  
   682  message C2CTempMessageHead {
   683    optional int32 c2cType = 1;
   684    optional int32 serviceType = 2;
   685    optional int64 groupUin = 3;
   686    optional int64 groupCode = 4;
   687    optional bytes sig = 5;
   688    optional int32 sigType = 6;
   689    optional string fromPhone = 7;
   690    optional string toPhone = 8;
   691    optional int32 lockDisplay = 9;
   692    optional int32 directionFlag = 10;
   693    optional bytes reserved = 11;
   694  }
   695  
   696  message InstCtrl {
   697    repeated InstInfo msgSendToInst = 1;
   698    repeated InstInfo msgExcludeInst = 2;
   699    optional InstInfo msgFromInst = 3;
   700  }
   701  
   702  message InstInfo {
   703    optional int32 apppid = 1;
   704    optional int32 instid = 2;
   705    optional int32 platform = 3;
   706    optional int32 enumDeviceType = 10;
   707  }
   708  
   709  message ExtGroupKeyInfo {
   710    optional int32 curMaxSeq = 1;
   711    optional int64 curTime = 2;
   712  }
   713  
   714  message SyncCookie {
   715    optional int64 time1 = 1;
   716    optional int64 time = 2;
   717    optional int64 ran1 = 3;
   718    optional int64 ran2 = 4;
   719    optional int64 const1 = 5;
   720    optional int64 const2 = 11;
   721    optional int64 const3 = 12;
   722    optional int64 lastSyncTime = 13;
   723    optional int64 const4 = 14;
   724  }
   725  
   726  message TransMsgInfo {
   727    optional int64 fromUin = 1;
   728    optional int64 toUin = 2;
   729    optional int32 msgType = 3;
   730    optional int32 msgSubtype = 4;
   731    optional int32 msgSeq = 5;
   732    optional int64 msgUid = 6;
   733    optional int32 msgTime = 7;
   734    optional int32 realMsgTime = 8;
   735    optional string nickName = 9;
   736    optional bytes msgData = 10;
   737    optional int32 svrIp = 11;
   738    optional ExtGroupKeyInfo extGroupKeyInfo = 12;
   739    optional int32 generalFlag = 17;
   740  }
   741  
   742  message GeneralFlags {
   743    optional int32 bubbleDiyTextId = 1;
   744    optional int32 groupFlagNew = 2;
   745    optional int64 uin = 3;
   746    optional bytes rpId = 4;
   747    optional int32 prpFold = 5;
   748    optional int32 longTextFlag = 6;
   749    optional string longTextResid = 7;
   750    optional int32 groupType = 8;
   751    optional int32 toUinFlag = 9;
   752    optional int32 glamourLevel = 10;
   753    optional int32 memberLevel = 11;
   754    optional int64 groupRankSeq = 12;
   755    optional int32 olympicTorch = 13;
   756    optional bytes babyqGuideMsgCookie = 14;
   757    optional int32 uin32ExpertFlag = 15;
   758    optional int32 bubbleSubId = 16;
   759    optional int64 pendantId = 17;
   760    optional bytes rpIndex = 18;
   761    optional bytes pbReserve = 19;
   762  }
   763  
   764  
   765  message PbMultiMsgItem {
   766    optional string fileName = 1;
   767    optional PbMultiMsgNew buffer = 2;
   768  }
   769  message PbMultiMsgNew {
   770    repeated Message msg = 1;
   771  }
   772  message PbMultiMsgTransmit {
   773    repeated Message msg = 1;
   774    repeated PbMultiMsgItem pbItemList = 2;
   775  }
   776  
   777  message MsgElemInfo_servtype3 {
   778    optional CustomFace flash_troop_pic = 1;
   779    optional NotOnlineImage flash_c2c_pic = 2;
   780  }
   781  
   782  message MsgElemInfo_servtype33 {
   783    optional uint32 index = 1;
   784    optional bytes text = 2;
   785    optional bytes compat = 3;
   786    optional bytes buf = 4;
   787  }
   788  
   789  message MsgElemInfo_servtype38 {
   790    optional bytes reactData = 1;
   791    optional bytes replyData = 2;
   792  }
   793  
   794  message SubMsgType0x4Body {
   795    optional NotOnlineFile notOnlineFile = 1;
   796    optional uint32 msgTime = 2;
   797    optional uint32 onlineFileForPolyToOffline = 3;
   798    // fileImageInfo
   799  }
   800  
   801  enum SyncFlag {
   802    START = 0;
   803    CONTINUME = 1;
   804    STOP = 2;
   805  }
   806  
   807  message ResvAttr {
   808    optional uint32 imageBizType = 1;
   809    optional AnimationImageShow image_show = 7;
   810  }
   811  
   812  message AnimationImageShow {
   813    optional int32 effect_id = 1;
   814    optional bytes animation_param = 2;
   815  }
   816  
   817  message UinTypeUserDef {
   818    optional int32 fromUinType = 1;
   819    optional int64 fromGroupCode = 2;
   820    optional string fileUuid = 3;
   821  }
   822  
   823  message GetGroupMsgReq {
   824    optional uint64 groupCode = 1;
   825    optional uint64 beginSeq = 2;
   826    optional uint64 endSeq = 3;
   827    optional uint32 filter = 4;
   828    optional uint64 memberSeq = 5;
   829    optional bool publicGroup = 6;
   830    optional uint32 shieldFlag = 7;
   831    optional uint32 saveTrafficFlag = 8;
   832  }
   833  
   834  message GetGroupMsgResp {
   835    optional uint32 result = 1;
   836    optional string errmsg = 2;
   837    optional uint64 groupCode = 3;
   838    optional uint64 returnBeginSeq = 4;
   839    optional uint64 returnEndSeq = 5;
   840    repeated Message msg = 6;
   841  }
   842  
   843  message PbGetOneDayRoamMsgReq {
   844    optional uint64 peerUin = 1;
   845    optional uint64 lastMsgTime = 2;
   846    optional uint64 random = 3;
   847    optional uint32 readCnt = 4;
   848  }
   849  
   850  message PbGetOneDayRoamMsgResp {
   851    optional uint32 result = 1;
   852    optional string errMsg = 2;
   853    optional uint64 peerUin = 3;
   854    optional uint64 lastMsgTime = 4;
   855    optional uint64 random = 5;
   856    repeated Message msg = 6;
   857    optional uint32 isComplete = 7;
   858  }
   859  
   860  message PbPushMsg {
   861    optional Message msg = 1;
   862    optional int32 svrip = 2;
   863    optional bytes pushToken = 3;
   864    optional uint32 pingFlag = 4;
   865    optional uint32 generalFlag = 9;
   866    optional uint64 bindUin = 10;
   867  }
   868  
   869  message MsgElemInfo_servtype37 {
   870    optional bytes packid = 1;
   871    optional bytes stickerid = 2;
   872    optional uint32 qsid = 3;
   873    optional uint32 sourcetype = 4;
   874    optional uint32 stickertype = 5;
   875    optional bytes resultid = 6;
   876    optional bytes text = 7;
   877    optional bytes surpriseid = 8;
   878    optional uint32 randomtype = 9;
   879  }
   880  
   881  message PbMultiMediaElement {
   882    message Elem1 {
   883      message Meta {
   884        message Data {
   885          optional int32 FileLen = 1;
   886          optional bytes PicMd5 = 2;
   887        }
   888        optional Data data = 1;
   889        optional string FilePath = 2;
   890      }
   891      optional Meta meta = 1;
   892  
   893      message Data {
   894        optional string ImgURL = 2;
   895        optional string Domain = 3;
   896      }
   897      optional Data data = 2;
   898    }
   899    optional Elem1 elem1 = 1;
   900  
   901    message Elem2 {
   902      message Data {
   903        message Friend {
   904          optional string RKey = 30;
   905        }
   906        optional Friend friend = 11;
   907        message Group {
   908          optional string RKey = 30;
   909        }
   910        optional Group group = 12;
   911      }
   912      optional Data data = 1;
   913    }
   914    optional Elem2 elem2 = 2;
   915  }
   916  
   917