github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/binary/jce/structs.go (about) 1 package jce 2 3 type IJceStruct interface { 4 ToBytes() []byte 5 ReadFrom(*JceReader) 6 } 7 8 //go:generate go run github.com/Mrs4s/MiraiGo/internal/generator/jce_gen -file=structs.go -o structs_tobytes.go 9 type ( 10 RequestPacket struct { 11 IVersion int16 `jceId:"1"` 12 CPacketType byte `jceId:"2"` 13 IMessageType int32 `jceId:"3"` 14 IRequestId int32 `jceId:"4"` 15 SServantName string `jceId:"5"` 16 SFuncName string `jceId:"6"` 17 SBuffer []byte `jceId:"7"` 18 ITimeout int32 `jceId:"8"` 19 Context map[string]string `jceId:"9"` 20 Status map[string]string `jceId:"10"` 21 } 22 23 RequestDataVersion3 struct { 24 Map map[string][]byte `jceId:"0"` 25 } 26 27 RequestDataVersion2 struct { 28 Map map[string]map[string][]byte `jceId:"0"` 29 } 30 31 SsoServerInfo struct { 32 Server string `jceId:"1"` 33 Port int32 `jceId:"2"` 34 Location string `jceId:"8"` 35 } 36 37 FileStoragePushFSSvcList struct { 38 UploadList []FileStorageServerInfo `jceId:"0"` 39 PicDownloadList []FileStorageServerInfo `jceId:"1"` 40 GPicDownloadList []FileStorageServerInfo `jceId:"2"` 41 QZoneProxyServiceList []FileStorageServerInfo `jceId:"3"` 42 UrlEncodeServiceList []FileStorageServerInfo `jceId:"4"` 43 BigDataChannel *BigDataChannel `jceId:"5"` 44 VipEmotionList []FileStorageServerInfo `jceId:"6"` 45 C2CPicDownList []FileStorageServerInfo `jceId:"7"` 46 // FmtIPInfo *FmtIPInfo `jceId:"8"` 47 // DomainIPChannel *DomainIPChannel `jceId:"9"` 48 PttList []byte `jceId:"10"` 49 } 50 51 FileStorageServerInfo struct { 52 Server string `jceId:"1"` 53 Port int32 `jceId:"2"` 54 } 55 56 BigDataChannel struct { 57 IPLists []BigDataIPList `jceId:"0"` 58 SigSession []byte `jceId:"1"` 59 KeySession []byte `jceId:"2"` 60 SigUin int64 `jceId:"3"` 61 ConnectFlag int32 `jceId:"4"` 62 PbBuf []byte `jceId:"5"` 63 } 64 65 BigDataIPList struct { 66 ServiceType int64 `jceId:"0"` 67 IPList []BigDataIPInfo `jceId:"1"` 68 FragmentSize int64 `jceId:"3"` 69 } 70 71 BigDataIPInfo struct { 72 Type int64 `jceId:"0"` 73 Server string `jceId:"1"` 74 Port int64 `jceId:"2"` 75 } 76 77 SvcReqRegister struct { 78 Uin int64 `jceId:"0"` 79 Bid int64 `jceId:"1"` 80 ConnType byte `jceId:"2"` 81 Other string `jceId:"3"` 82 Status int32 `jceId:"4"` 83 OnlinePush byte `jceId:"5"` 84 IsOnline byte `jceId:"6"` 85 IsShowOnline byte `jceId:"7"` 86 KickPC byte `jceId:"8"` 87 KickWeak byte `jceId:"9"` 88 Timestamp int64 `jceId:"10"` 89 IOSVersion int64 `jceId:"11"` 90 NetType byte `jceId:"12"` 91 BuildVer string `jceId:"13"` 92 RegType byte `jceId:"14"` 93 DevParam []byte `jceId:"15"` 94 Guid []byte `jceId:"16"` 95 LocaleId int32 `jceId:"17"` 96 SilentPush byte `jceId:"18"` 97 DevName string `jceId:"19"` 98 DevType string `jceId:"20"` 99 OSVer string `jceId:"21"` 100 OpenPush byte `jceId:"22"` 101 LargeSeq int64 `jceId:"23"` 102 LastWatchStartTime int64 `jceId:"24"` 103 OldSSOIp int64 `jceId:"26"` 104 NewSSOIp int64 `jceId:"27"` 105 ChannelNo string `jceId:"28"` 106 CPID int64 `jceId:"29"` 107 VendorName string `jceId:"30"` 108 VendorOSName string `jceId:"31"` 109 IOSIdfa string `jceId:"32"` 110 B769 []byte `jceId:"33"` 111 IsSetStatus byte `jceId:"34"` 112 ServerBuf []byte `jceId:"35"` 113 SetMute byte `jceId:"36"` 114 ExtOnlineStatus int64 `jceId:"38"` 115 BatteryStatus int32 `jceId:"39"` 116 } 117 118 SvcRespRegister struct { 119 Uin int64 `jceId:"0"` 120 Bid int64 `jceId:"1"` 121 ReplyCode byte `jceId:"2"` 122 Result string `jceId:"3"` 123 ServerTime int64 `jceId:"4"` 124 LogQQ byte `jceId:"5"` 125 NeedKik byte `jceId:"6"` 126 UpdateFlag byte `jceId:"7"` 127 Timestamp int64 `jceId:"8"` 128 CrashFlag byte `jceId:"9"` 129 ClientIp string `jceId:"10"` 130 ClientPort int32 `jceId:"11"` 131 HelloInterval int32 `jceId:"12"` 132 LargeSeq int32 `jceId:"13"` 133 LargeSeqUpdate byte `jceId:"14"` 134 D769RspBody []byte `jceId:"15"` 135 Status int32 `jceId:"16"` 136 ExtOnlineStatus int64 `jceId:"17"` 137 ClientBatteryGetInterval int64 `jceId:"18"` 138 ClientAutoStatusInterval int64 `jceId:"19"` 139 } 140 141 SvcReqRegisterNew struct { 142 RequestOptional int64 `jceId:"0"` 143 C2CMsg IJceStruct `jceId:"1"` // SvcReqGetMsgV2 144 GroupMsg IJceStruct `jceId:"2"` // SvcReqPullGroupMsgSeq 145 DisGroupMsgFilter byte `jceId:"14"` 146 GroupMask byte `jceId:"15"` 147 EndSeq int64 `jceId:"16"` 148 O769Body []byte `jceId:"20"` 149 } 150 151 SvcReqGetMsgV2 struct { 152 IJceStruct 153 Uin int64 `jceId:"0"` 154 DateTime int32 `jceId:"1"` 155 RecivePic byte `jceId:"4"` 156 Ability int16 `jceId:"6"` 157 Channel byte `jceId:"9"` 158 Inst byte `jceId:"16"` 159 ChannelEx byte `jceId:"17"` 160 SyncCookie []byte `jceId:"18"` 161 SyncFlag int `jceId:"19"` 162 RambleFlag byte `jceId:"20"` 163 GeneralAbi int64 `jceId:"26"` 164 PubAccountCookie []byte `jceId:"27"` 165 } 166 167 SvcReqPullGroupMsgSeq struct { 168 IJceStruct 169 GroupInfo []IJceStruct `jceId:"0"` // PullGroupSeqParam 170 VerifyType byte `jceId:"1"` 171 Filter int32 `jceId:"2"` 172 } 173 174 PullGroupSeqParam struct { 175 GroupCode int64 `jceId:"0"` 176 LastSeqId int64 `jceId:"1"` 177 } 178 179 SvcRespParam struct { 180 PCStat int32 `jceId:"0"` 181 IsSupportC2CRoamMsg int32 `jceId:"1"` 182 IsSupportDataLine int32 `jceId:"2"` 183 IsSupportPrintable int32 `jceId:"3"` 184 IsSupportViewPCFile int32 `jceId:"4"` 185 PcVersion int32 `jceId:"5"` 186 RoamFlag int64 `jceId:"6"` 187 OnlineInfos []OnlineInfo `jceId:"7"` 188 PCClientType int32 `jceId:"8"` 189 } 190 191 RequestPushNotify struct { 192 Uin int64 `jceId:"0"` 193 Type byte `jceId:"1"` 194 Service string `jceId:"2"` 195 Cmd string `jceId:"3"` 196 NotifyCookie []byte `jceId:"4"` 197 MsgType int32 `jceId:"5"` 198 UserActive int32 `jceId:"6"` 199 GeneralFlag int32 `jceId:"7"` 200 BindedUin int64 `jceId:"8"` 201 } 202 203 OnlineInfo struct { 204 InstanceId int32 `jceId:"0"` 205 ClientType int32 `jceId:"1"` 206 OnlineStatus int32 `jceId:"2"` 207 PlatformId int32 `jceId:"3"` 208 SubPlatform string `jceId:"4"` 209 UClientType int64 `jceId:"5"` 210 } 211 212 SvcReqMSFLoginNotify struct { 213 AppId int64 `jceId:"0"` 214 Status byte `jceId:"1"` 215 Tablet byte `jceId:"2"` 216 Platform int64 `jceId:"3"` 217 Title string `jceId:"4"` 218 Info string `jceId:"5"` 219 ProductType int64 `jceId:"6"` 220 ClientType int64 `jceId:"7"` 221 InstanceList []InstanceInfo `jceId:"8"` 222 } 223 224 InstanceInfo struct { 225 AppId int32 `jceId:"0"` 226 Tablet byte `jceId:"1"` 227 Platform int64 `jceId:"2"` 228 ProductType int64 `jceId:"3"` 229 ClientType int64 `jceId:"4"` 230 } 231 232 PushMessageInfo struct { 233 FromUin int64 `jceId:"0"` 234 MsgTime int64 `jceId:"1"` 235 MsgType int16 `jceId:"2"` 236 MsgSeq int16 `jceId:"3"` 237 Msg string `jceId:"4"` 238 RealMsgTime int32 `jceId:"5"` 239 VMsg []byte `jceId:"6"` 240 AppShareID int64 `jceId:"7"` 241 MsgCookies []byte `jceId:"8"` 242 AppShareCookie []byte `jceId:"9"` 243 MsgUid int64 `jceId:"10"` 244 LastChangeTime int64 `jceId:"11"` 245 FromInstId int64 `jceId:"14"` 246 RemarkOfSender []byte `jceId:"15"` 247 FromMobile string `jceId:"16"` 248 FromName string `jceId:"17"` 249 } 250 251 SvcRespPushMsg struct { 252 Uin int64 `jceId:"0"` 253 DelInfos []IJceStruct `jceId:"1"` 254 Svrip int32 `jceId:"2"` 255 PushToken []byte `jceId:"3"` 256 ServiceType int32 `jceId:"4"` 257 } 258 259 SvcReqGetDevLoginInfo struct { 260 IJceStruct 261 Guid []byte `jceId:"0"` 262 AppName string `jceId:"1"` 263 LoginType int64 `jceId:"2"` 264 Timestamp int64 `jceId:"3"` 265 NextItemIndex int64 `jceId:"4"` 266 RequireMax int64 `jceId:"5"` 267 GetDevListType int64 `jceId:"6"` // 1: getLoginDevList 2: getRecentLoginDevList 4: getAuthLoginDevList 268 } 269 270 SvcDevLoginInfo struct { 271 AppId int64 272 Guid []byte 273 LoginTime int64 274 LoginPlatform int64 275 LoginLocation string 276 DeviceName string 277 DeviceTypeInfo string 278 TerType int64 279 ProductType int64 280 CanBeKicked int64 281 } 282 283 DelMsgInfo struct { 284 IJceStruct 285 FromUin int64 `jceId:"0"` 286 MsgTime int64 `jceId:"1"` 287 MsgSeq int16 `jceId:"2"` 288 MsgCookies []byte `jceId:"3"` 289 Cmd int16 `jceId:"4"` 290 MsgType int64 `jceId:"5"` 291 AppId int64 `jceId:"6"` 292 SendTime int64 `jceId:"7"` 293 SsoSeq int32 `jceId:"8"` 294 SsoIp int32 `jceId:"9"` 295 ClientIp int32 `jceId:"10"` 296 } 297 298 FriendListRequest struct { 299 Reqtype int32 `jceId:"0"` 300 IfReflush byte `jceId:"1"` 301 Uin int64 `jceId:"2"` 302 StartIndex int16 `jceId:"3"` 303 FriendCount int16 `jceId:"4"` 304 GroupId byte `jceId:"5"` 305 IfGetGroupInfo byte `jceId:"6"` 306 GroupStartIndex byte `jceId:"7"` 307 GroupCount byte `jceId:"8"` 308 IfGetMSFGroup byte `jceId:"9"` 309 IfShowTermType byte `jceId:"10"` 310 Version int64 `jceId:"11"` 311 UinList []int64 `jceId:"12"` 312 AppType int32 `jceId:"13"` 313 IfGetDOVId byte `jceId:"14"` 314 IfGetBothFlag byte `jceId:"15"` 315 D50 []byte `jceId:"16"` 316 D6B []byte `jceId:"17"` 317 SnsTypeList []int64 `jceId:"18"` 318 } 319 320 FriendInfo struct { 321 FriendUin int64 `jceId:"0"` 322 GroupId byte `jceId:"1"` 323 FaceId int16 `jceId:"2"` 324 Remark string `jceId:"3"` 325 QQType byte `jceId:"4"` 326 Status byte `jceId:"5"` 327 MemberLevel byte `jceId:"6"` 328 IsMqqOnLine byte `jceId:"7"` 329 QQOnlineState byte `jceId:"8"` 330 IsIphoneOnline byte `jceId:"9"` 331 DetailStatusFlag byte `jceId:"10"` 332 QQOnlineStateV2 byte `jceId:"11"` 333 ShowName string `jceId:"12"` 334 IsRemark byte `jceId:"13"` 335 Nick string `jceId:"14"` 336 SpecialFlag byte `jceId:"15"` 337 IMGroupID []byte `jceId:"16"` 338 MSFGroupID []byte `jceId:"17"` 339 TermType int32 `jceId:"18"` 340 Network byte `jceId:"20"` 341 Ring []byte `jceId:"21"` 342 AbiFlag int64 `jceId:"22"` 343 FaceAddonId int64 `jceId:"23"` 344 NetworkType int32 `jceId:"24"` 345 VipFont int64 `jceId:"25"` 346 IconType int32 `jceId:"26"` 347 TermDesc string `jceId:"27"` 348 ColorRing int64 `jceId:"28"` 349 ApolloFlag byte `jceId:"29"` 350 ApolloTimestamp int64 `jceId:"30"` 351 Sex byte `jceId:"31"` 352 FounderFont int64 `jceId:"32"` 353 EimId string `jceId:"33"` 354 EimMobile string `jceId:"34"` 355 OlympicTorch byte `jceId:"35"` 356 ApolloSignTime int64 `jceId:"36"` 357 LaviUin int64 `jceId:"37"` 358 TagUpdateTime int64 `jceId:"38"` 359 GameLastLoginTime int64 `jceId:"39"` 360 GameAppId int64 `jceId:"40"` 361 CardID []byte `jceId:"41"` 362 BitSet int64 `jceId:"42"` 363 KingOfGloryFlag byte `jceId:"43"` 364 KingOfGloryRank int64 `jceId:"44"` 365 MasterUin string `jceId:"45"` 366 LastMedalUpdateTime int64 `jceId:"46"` 367 FaceStoreId int64 `jceId:"47"` 368 FontEffect int64 `jceId:"48"` 369 DOVId string `jceId:"49"` 370 BothFlag int64 `jceId:"50"` 371 CentiShow3DFlag byte `jceId:"51"` 372 IntimateInfo []byte `jceId:"52"` 373 ShowNameplate byte `jceId:"53"` 374 NewLoverDiamondFlag byte `jceId:"54"` 375 ExtSnsFrdData []byte `jceId:"55"` 376 MutualMarkData []byte `jceId:"56"` 377 } 378 379 TroopListRequest struct { 380 Uin int64 `jceId:"0"` 381 GetMSFMsgFlag byte `jceId:"1"` 382 Cookies []byte `jceId:"2"` 383 GroupInfo []int64 `jceId:"3"` 384 GroupFlagExt byte `jceId:"4"` 385 Version int32 `jceId:"5"` 386 CompanyId int64 `jceId:"6"` 387 VersionNum int64 `jceId:"7"` 388 GetLongGroupName byte `jceId:"8"` 389 } 390 391 TroopNumber struct { 392 GroupUin int64 `jceId:"0"` 393 GroupCode int64 `jceId:"1"` 394 Flag byte `jceId:"2"` 395 GroupInfoSeq int64 `jceId:"3"` 396 GroupName string `jceId:"4"` 397 GroupMemo string `jceId:"5"` 398 GroupFlagExt int64 `jceId:"6"` 399 GroupRankSeq int64 `jceId:"7"` 400 CertificationType int64 `jceId:"8"` 401 ShutUpTimestamp int64 `jceId:"9"` 402 MyShutUpTimestamp int64 `jceId:"10"` 403 CmdUinUinFlag int64 `jceId:"11"` 404 AdditionalFlag int64 `jceId:"12"` 405 GroupTypeFlag int64 `jceId:"13"` 406 GroupSecType int64 `jceId:"14"` 407 GroupSecTypeInfo int64 `jceId:"15"` 408 GroupClassExt int64 `jceId:"16"` 409 AppPrivilegeFlag int64 `jceId:"17"` 410 SubscriptionUin int64 `jceId:"18"` 411 MemberNum int64 `jceId:"19"` 412 MemberNumSeq int64 `jceId:"20"` 413 MemberCardSeq int64 `jceId:"21"` 414 GroupFlagExt3 int64 `jceId:"22"` 415 GroupOwnerUin int64 `jceId:"23"` 416 IsConfGroup byte `jceId:"24"` 417 IsModifyConfGroupFace byte `jceId:"25"` 418 IsModifyConfGroupName byte `jceId:"26"` 419 CmdUinJoinTime int64 `jceId:"27"` 420 CompanyId int64 `jceId:"28"` 421 MaxGroupMemberNum int64 `jceId:"29"` 422 CmdUinGroupMask int64 `jceId:"30"` 423 GuildAppId int64 `jceId:"31"` 424 GuildSubType int64 `jceId:"32"` 425 CmdUinRingtoneID int64 `jceId:"33"` 426 CmdUinFlagEx2 int64 `jceId:"34"` 427 } 428 429 TroopMemberListRequest struct { 430 Uin int64 `jceId:"0"` 431 GroupCode int64 `jceId:"1"` 432 NextUin int64 `jceId:"2"` 433 GroupUin int64 `jceId:"3"` 434 Version int64 `jceId:"4"` 435 ReqType int64 `jceId:"5"` 436 GetListAppointTime int64 `jceId:"6"` 437 RichCardNameVer byte `jceId:"7"` 438 } 439 440 TroopMemberInfo struct { 441 MemberUin int64 `jceId:"0"` 442 FaceId int16 `jceId:"1"` 443 Age byte `jceId:"2"` 444 Gender byte `jceId:"3"` 445 Nick string `jceId:"4"` 446 Status byte `jceId:"5"` 447 ShowName string `jceId:"6"` 448 Name string `jceId:"8"` 449 Memo string `jceId:"12"` 450 AutoRemark string `jceId:"13"` 451 MemberLevel int64 `jceId:"14"` 452 JoinTime int64 `jceId:"15"` 453 LastSpeakTime int64 `jceId:"16"` 454 CreditLevel int64 `jceId:"17"` 455 Flag int64 `jceId:"18"` 456 FlagExt int64 `jceId:"19"` 457 Point int64 `jceId:"20"` 458 Concerned byte `jceId:"21"` 459 Shielded byte `jceId:"22"` 460 SpecialTitle string `jceId:"23"` 461 SpecialTitleExpireTime int64 `jceId:"24"` 462 Job string `jceId:"25"` 463 ApolloFlag byte `jceId:"26"` 464 ApolloTimestamp int64 `jceId:"27"` 465 GlobalGroupLevel int64 `jceId:"28"` 466 TitleId int64 `jceId:"29"` 467 ShutUpTimestap int64 `jceId:"30"` 468 GlobalGroupPoint int64 `jceId:"31"` 469 RichCardNameVer byte `jceId:"33"` 470 VipType int64 `jceId:"34"` 471 VipLevel int64 `jceId:"35"` 472 BigClubLevel int64 `jceId:"36"` 473 BigClubFlag int64 `jceId:"37"` 474 Nameplate int64 `jceId:"38"` 475 GroupHonor []byte `jceId:"39"` 476 } 477 478 ModifyGroupCardRequest struct { 479 Zero int64 `jceId:"0"` 480 GroupCode int64 `jceId:"1"` 481 NewSeq int64 `jceId:"2"` 482 UinInfo []IJceStruct `jceId:"3"` 483 } 484 485 UinInfo struct { 486 IJceStruct 487 Uin int64 `jceId:"0"` 488 Flag int64 `jceId:"1"` 489 Name string `jceId:"2"` 490 Gender byte `jceId:"3"` 491 Phone string `jceId:"4"` 492 Email string `jceId:"5"` 493 Remark string `jceId:"6"` 494 } 495 496 SummaryCardReq struct { 497 Uin int64 `jceId:"0"` 498 ComeFrom int32 `jceId:"1"` 499 QzoneFeedTimestamp int64 `jceId:"2"` 500 IsFriend byte `jceId:"3"` 501 GroupCode int64 `jceId:"4"` 502 GroupUin int64 `jceId:"5"` 503 // Seed []byte`jceId:"6"` 504 // SearchName string`jceId:"7"` 505 GetControl int64 `jceId:"8"` 506 AddFriendSource int32 `jceId:"9"` 507 SecureSig []byte `jceId:"10"` 508 ReqServices [][]byte `jceId:"14"` 509 TinyId int64 `jceId:"15"` 510 LikeSource int64 `jceId:"16"` 511 ReqMedalWallInfo byte `jceId:"18"` 512 Req0x5ebFieldId []int64 `jceId:"19"` 513 ReqNearbyGodInfo byte `jceId:"20"` 514 ReqExtendCard byte `jceId:"22"` 515 } 516 517 SummaryCardReqSearch struct { 518 Keyword string `jceId:"0"` 519 CountryCode string `jceId:"1"` 520 Version int32 `jceId:"2"` 521 ReqServices [][]byte `jceId:"3"` // busi 522 } 523 524 DelFriendReq struct { 525 Uin int64 `jceId:"0"` 526 DelUin int64 `jceId:"1"` 527 DelType byte `jceId:"2"` 528 Version int32 `jceId:"3"` 529 } 530 531 VipInfo struct { 532 Open byte `jceId:"0"` // 1 为开通 533 Type int32 `jceId:"1"` // 1 为年费 534 Level int32 `jceId:"2"` 535 } 536 ) 537 538 func (pkt *RequestPacket) ReadFrom(r *JceReader) { 539 pkt.IVersion = r.ReadInt16(1) 540 pkt.CPacketType = r.ReadByte(2) 541 pkt.IMessageType = r.ReadInt32(3) 542 pkt.IRequestId = r.ReadInt32(4) 543 pkt.SServantName = r.ReadString(5) 544 pkt.SFuncName = r.ReadString(6) 545 pkt.SBuffer = r.ReadBytes(7) 546 pkt.ITimeout = r.ReadInt32(8) 547 // r.ReadMap(pkt.Context, 9) 548 pkt.Context = r.ReadMapStrStr(9) 549 // r.ReadMap(pkt.Status, 10) 550 pkt.Status = r.ReadMapStrStr(10) 551 } 552 553 func (pkt *RequestDataVersion3) ReadFrom(r *JceReader) { 554 pkt.Map = r.ReadMapStrByte(0) 555 } 556 557 func (pkt *RequestDataVersion2) ReadFrom(r *JceReader) { 558 pkt.Map = r.ReadMapStrMapStrByte(0) 559 } 560 561 func (pkt *SsoServerInfo) ReadFrom(r *JceReader) { 562 pkt.Server = r.ReadString(1) 563 pkt.Port = r.ReadInt32(2) 564 pkt.Location = r.ReadString(8) 565 } 566 567 func (pkt *FileStoragePushFSSvcList) ReadFrom(r *JceReader) { 568 pkt.UploadList = r.ReadFileStorageServerInfos(0) 569 pkt.PicDownloadList = r.ReadFileStorageServerInfos(1) 570 pkt.GPicDownloadList = r.ReadFileStorageServerInfos(2) 571 pkt.QZoneProxyServiceList = r.ReadFileStorageServerInfos(3) 572 pkt.UrlEncodeServiceList = r.ReadFileStorageServerInfos(4) 573 pkt.BigDataChannel = &BigDataChannel{} 574 r.ReadJceStruct(pkt.BigDataChannel, 5) 575 pkt.VipEmotionList = r.ReadFileStorageServerInfos(6) 576 pkt.C2CPicDownList = r.ReadFileStorageServerInfos(7) 577 pkt.PttList = r.ReadBytes(10) 578 } 579 580 func (pkt *FileStorageServerInfo) ReadFrom(r *JceReader) { 581 pkt.Server = r.ReadString(1) 582 pkt.Port = r.ReadInt32(2) 583 } 584 585 func (pkt *BigDataChannel) ReadFrom(r *JceReader) { 586 pkt.IPLists = r.ReadBigDataIPLists(0) 587 pkt.SigSession = r.ReadBytes(1) 588 pkt.KeySession = r.ReadBytes(2) 589 pkt.SigUin = r.ReadInt64(3) 590 pkt.ConnectFlag = r.ReadInt32(4) 591 pkt.PbBuf = r.ReadBytes(5) 592 } 593 594 func (pkt *BigDataIPList) ReadFrom(r *JceReader) { 595 pkt.ServiceType = r.ReadInt64(0) 596 pkt.IPList = r.ReadBigDataIPInfos(1) 597 pkt.FragmentSize = r.ReadInt64(3) 598 } 599 600 func (pkt *BigDataIPInfo) ReadFrom(r *JceReader) { 601 pkt.Type = r.ReadInt64(0) 602 pkt.Server = r.ReadString(1) 603 pkt.Port = r.ReadInt64(2) 604 } 605 606 func (pkt *SvcRespRegister) ReadFrom(r *JceReader) { 607 pkt.Uin = r.ReadInt64(0) 608 pkt.Bid = r.ReadInt64(1) 609 pkt.ReplyCode = r.ReadByte(2) 610 pkt.Result = r.ReadString(3) 611 pkt.ServerTime = r.ReadInt64(4) 612 pkt.LogQQ = r.ReadByte(5) 613 pkt.NeedKik = r.ReadByte(6) 614 pkt.UpdateFlag = r.ReadByte(7) 615 pkt.Timestamp = r.ReadInt64(8) 616 pkt.CrashFlag = r.ReadByte(9) 617 pkt.ClientIp = r.ReadString(10) 618 pkt.ClientPort = r.ReadInt32(11) 619 pkt.HelloInterval = r.ReadInt32(12) 620 pkt.LargeSeq = r.ReadInt32(13) 621 pkt.LargeSeqUpdate = r.ReadByte(14) 622 pkt.D769RspBody = r.ReadBytes(15) 623 pkt.Status = r.ReadInt32(16) 624 pkt.ExtOnlineStatus = r.ReadInt64(17) 625 } 626 627 func (pkt *FriendInfo) ReadFrom(r *JceReader) { 628 pkt.FriendUin = r.ReadInt64(0) 629 pkt.GroupId = r.ReadByte(1) 630 pkt.FaceId = r.ReadInt16(2) 631 pkt.Remark = r.ReadString(3) 632 pkt.Status = r.ReadByte(5) 633 pkt.MemberLevel = r.ReadByte(6) 634 pkt.Nick = r.ReadString(14) 635 pkt.Network = r.ReadByte(20) 636 pkt.NetworkType = r.ReadInt32(24) 637 pkt.CardID = r.ReadBytes(41) 638 } 639 640 func (pkt *TroopNumber) ReadFrom(r *JceReader) { 641 pkt.GroupUin = r.ReadInt64(0) 642 pkt.GroupCode = r.ReadInt64(1) 643 pkt.GroupName = r.ReadString(4) 644 pkt.GroupMemo = r.ReadString(5) 645 pkt.MemberNum = r.ReadInt64(19) 646 pkt.GroupOwnerUin = r.ReadInt64(23) 647 pkt.MaxGroupMemberNum = r.ReadInt64(29) 648 } 649 650 func (pkt *TroopMemberInfo) ReadFrom(r *JceReader) { 651 pkt.MemberUin = r.ReadInt64(0) 652 pkt.FaceId = r.ReadInt16(1) 653 pkt.Gender = r.ReadByte(3) 654 pkt.Nick = r.ReadString(4) 655 pkt.ShowName = r.ReadString(6) 656 pkt.Name = r.ReadString(8) 657 pkt.AutoRemark = r.ReadString(13) 658 pkt.MemberLevel = r.ReadInt64(14) 659 pkt.JoinTime = r.ReadInt64(15) 660 pkt.LastSpeakTime = r.ReadInt64(16) 661 pkt.Flag = r.ReadInt64(18) 662 pkt.SpecialTitle = r.ReadString(23) 663 pkt.SpecialTitleExpireTime = r.ReadInt64(24) 664 pkt.ShutUpTimestap = r.ReadInt64(30) 665 } 666 667 func (pkt *PushMessageInfo) ReadFrom(r *JceReader) { 668 pkt.FromUin = r.ReadInt64(0) 669 pkt.MsgTime = r.ReadInt64(1) 670 pkt.MsgType = r.ReadInt16(2) 671 pkt.MsgSeq = r.ReadInt16(3) 672 pkt.Msg = r.ReadString(4) 673 pkt.VMsg = r.ReadBytes(6) 674 pkt.MsgCookies = r.ReadBytes(8) 675 pkt.MsgUid = r.ReadInt64(10) 676 pkt.FromMobile = r.ReadString(16) 677 pkt.FromName = r.ReadString(17) 678 } 679 680 func (pkt *SvcDevLoginInfo) ReadFrom(r *JceReader) { 681 pkt.AppId = r.ReadInt64(0) 682 pkt.Guid = r.ReadBytes(1) 683 pkt.LoginTime = r.ReadInt64(2) 684 pkt.LoginPlatform = r.ReadInt64(3) 685 pkt.LoginLocation = r.ReadString(4) 686 pkt.DeviceName = r.ReadString(5) 687 pkt.DeviceTypeInfo = r.ReadString(6) 688 pkt.TerType = r.ReadInt64(8) 689 pkt.ProductType = r.ReadInt64(9) 690 pkt.CanBeKicked = r.ReadInt64(10) 691 } 692 693 func (pkt *SvcRespParam) ReadFrom(r *JceReader) { 694 pkt.PCStat = r.ReadInt32(0) 695 pkt.IsSupportC2CRoamMsg = r.ReadInt32(1) 696 pkt.IsSupportDataLine = r.ReadInt32(2) 697 pkt.IsSupportPrintable = r.ReadInt32(3) 698 pkt.IsSupportViewPCFile = r.ReadInt32(4) 699 pkt.PcVersion = r.ReadInt32(5) 700 pkt.RoamFlag = r.ReadInt64(6) 701 pkt.OnlineInfos = r.ReadOnlineInfos(7) 702 pkt.PCClientType = r.ReadInt32(8) 703 } 704 705 func (pkt *RequestPushNotify) ReadFrom(r *JceReader) { 706 pkt.Uin = r.ReadInt64(0) 707 pkt.Type = r.ReadByte(1) 708 pkt.Service = r.ReadString(2) 709 pkt.Cmd = r.ReadString(3) 710 pkt.NotifyCookie = r.ReadBytes(4) 711 pkt.MsgType = r.ReadInt32(5) 712 pkt.UserActive = r.ReadInt32(6) 713 pkt.GeneralFlag = r.ReadInt32(7) 714 pkt.BindedUin = r.ReadInt64(8) 715 } 716 717 func (pkt *OnlineInfo) ReadFrom(r *JceReader) { 718 pkt.InstanceId = r.ReadInt32(0) 719 pkt.ClientType = r.ReadInt32(1) 720 pkt.OnlineStatus = r.ReadInt32(2) 721 pkt.PlatformId = r.ReadInt32(3) 722 pkt.SubPlatform = string(r.ReadBytes(4)) 723 pkt.UClientType = r.ReadInt64(5) 724 } 725 726 func (pkt *SvcReqMSFLoginNotify) ReadFrom(r *JceReader) { 727 pkt.AppId = r.ReadInt64(0) 728 pkt.Status = r.ReadByte(1) 729 pkt.Tablet = r.ReadByte(2) 730 pkt.Platform = r.ReadInt64(3) 731 pkt.Title = r.ReadString(4) 732 pkt.Info = r.ReadString(5) 733 pkt.ProductType = r.ReadInt64(6) 734 pkt.ClientType = r.ReadInt64(7) 735 pkt.InstanceList = r.ReadInstanceInfos(8) 736 } 737 738 func (pkt *InstanceInfo) ReadFrom(r *JceReader) { 739 pkt.AppId = r.ReadInt32(0) 740 pkt.Tablet = r.ReadByte(1) 741 pkt.Platform = r.ReadInt64(2) 742 pkt.ProductType = r.ReadInt64(3) 743 pkt.ClientType = r.ReadInt64(4) 744 } 745 746 func (pkt *VipInfo) ReadFrom(r *JceReader) { 747 pkt.Open = r.ReadByte(0) 748 pkt.Type = r.ReadInt32(1) 749 pkt.Level = r.ReadInt32(2) 750 }