forked from Ikaros-521/AI-Vtuber
-
Notifications
You must be signed in to change notification settings - Fork 0
/
douyin.proto
745 lines (674 loc) · 16 KB
/
douyin.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
syntax = "proto3";
package douyin;
message Response {
repeated Message messagesList = 1;
string cursor = 2;
uint64 fetchInterval = 3;
uint64 now = 4;
string internalExt = 5;
uint32 fetchType = 6;
map<string, string> routeParams = 7;
uint64 heartbeatDuration = 8;
bool needAck = 9;
string pushServer = 10;
string liveCursor = 11;
bool historyNoMore = 12;
}
message Message{
string method = 1;
bytes payload = 2;
int64 msgId = 3;
int32 msgType = 4;
int64 offset = 5;
bool needWrdsStore = 6;
int64 wrdsVersion = 7;
string wrdsSubKey = 8;
}
message EmojiChatMessage {
Common common = 1;
User user = 2;
int64 emojiId = 3;
Text emojiContent = 4;
string defaultContent = 5;
Image backgroundImage = 6;
bool fromIntercom = 7;
bool intercomHideUserCard = 8;
}
// 聊天
message ChatMessage {
Common common = 1;
User user = 2;
string content = 3;
bool visibleToSender = 4;
Image backgroundImage = 5;
string fullScreenTextColor = 6;
Image backgroundImageV2 = 7;
PublicAreaCommon publicAreaCommon = 9;
Image giftImage = 10;
uint64 agreeMsgId = 11;
uint32 priorityLevel = 12;
LandscapeAreaCommon landscapeAreaCommon = 13;
uint64 eventTime = 15;
bool sendReview = 16;
bool fromIntercom = 17;
bool intercomHideUserCard = 18;
// repeated chatTagsList = 19;
string chatBy = 20;
uint32 individualChatPriority = 21;
Text rtfContent = 22;
}
message LandscapeAreaCommon {
bool showHead = 1;
bool showNickname = 2;
bool showFontColor = 3;
repeated string colorValueList = 4;
repeated CommentTypeTag commentTypeTagsList = 5;
}
message RoomUserSeqMessage {
Common common = 1;
repeated RoomUserSeqMessageContributor ranksList = 2;
int64 total = 3;
string popStr = 4;
repeated RoomUserSeqMessageContributor seatsList = 5;
int64 popularity = 6;
int64 totalUser = 7;
string totalUserStr = 8;
string totalStr = 9;
string onlineUserForAnchor = 10;
string totalPvForAnchor = 11;
string upRightStatsStr = 12;
string upRightStatsStrComplete = 13;
}
message CommonTextMessage {
Common common = 1;
User user = 2;
string scene = 3;
}
message UpdateFanTicketMessage {
Common common = 1;
string roomFanTicketCountText = 2;
uint64 roomFanTicketCount = 3;
bool forceUpdate = 4;
}
message RoomUserSeqMessageContributor {
uint64 score = 1;
User user = 2;
uint64 rank = 3;
uint64 delta = 4;
bool isHidden = 5;
string scoreDescription = 6;
string exactlyScore = 7;
}
// 礼物消息
message GiftMessage {
Common common = 1;
uint64 giftId = 2;
uint64 fanTicketCount = 3;
uint64 groupCount = 4;
uint64 repeatCount = 5;
uint64 comboCount = 6;
User user = 7;
User toUser = 8;
uint32 repeatEnd = 9;
TextEffect textEffect = 10;
uint64 groupId = 11;
uint64 incomeTaskgifts = 12;
uint64 roomFanTicketCount = 13;
GiftIMPriority priority = 14;
GiftStruct gift = 15;
string logId = 16;
uint64 sendType = 17;
PublicAreaCommon publicAreaCommon = 18;
Text trayDisplayText = 19;
uint64 bannedDisplayEffects = 20;
// GiftTrayInfo trayInfo = 21;
// AssetEffectMixInfo assetEffectMixInfo = 22;
bool displayForSelf = 25;
string interactGiftInfo = 26;
string diyItemInfo = 27;
repeated uint64 minAssetSetList = 28;
uint64 totalCount = 29;
uint32 clientGiftSource = 30;
// AnchorGiftData anchorGift = 31;
repeated uint64 toUserIdsList = 32;
uint64 sendTime = 33;
uint64 forceDisplayEffects = 34;
string traceId = 35;
uint64 effectDisplayTs = 36;
}
message GiftStruct {
Image image = 1;
string describe = 2;
bool notify = 3;
uint64 duration = 4;
uint64 id = 5;
// GiftStructFansClubInfo fansclubInfo = 6;
bool forLinkmic = 7;
bool doodle = 8;
bool forFansclub = 9;
bool combo = 10;
uint32 type = 11;
uint32 diamondCount = 12;
bool isDisplayedOnPanel = 13;
uint64 primaryEffectId = 14;
Image giftLabelIcon = 15;
string name = 16;
string region = 17;
string manual = 18;
bool forCustom = 19;
// specialEffectsMap = 20;
Image icon = 21;
uint32 actionType = 22;
// fixme 后面的就不写了还有几十个属性
}
message GiftIMPriority {
repeated uint64 queueSizesList = 1;
uint64 selfQueuePriority = 2;
uint64 priority = 3;
}
message TextEffect {
TextEffectDetail portrait = 1;
TextEffectDetail landscape = 2;
}
message TextEffectDetail {
Text text = 1;
uint32 textFontSize = 2;
Image background = 3;
uint32 start = 4;
uint32 duration = 5;
uint32 x = 6;
uint32 y = 7;
uint32 width = 8;
uint32 height = 9;
uint32 shadowDx = 10;
uint32 shadowDy = 11;
uint32 shadowRadius = 12;
string shadowColor = 13;
string strokeColor = 14;
uint32 strokeWidth = 15;
}
// 成员消息
message MemberMessage {
Common common = 1;
User user = 2;
uint64 memberCount = 3;
User operator = 4;
bool isSetToAdmin = 5;
bool isTopUser = 6;
uint64 rankScore = 7;
uint64 topUserNo = 8;
uint64 enterType = 9;
uint64 action = 10;
string actionDescription = 11;
uint64 userId = 12;
EffectConfig effectConfig = 13;
string popStr = 14;
EffectConfig enterEffectConfig = 15;
Image backgroundImage = 16;
Image backgroundImageV2 = 17;
Text anchorDisplayText = 18;
PublicAreaCommon publicAreaCommon = 19;
uint64 userEnterTipType = 20;
uint64 anchorEnterTipType = 21;
}
message PublicAreaCommon {
Image userLabel = 1;
uint64 userConsumeInRoom = 2;
uint64 userSendGiftCntInRoom = 3;
}
message EffectConfig {
uint64 type = 1;
Image icon = 2;
uint64 avatarPos = 3;
Text text = 4;
Image textIcon = 5;
uint32 stayTime = 6;
uint64 animAssetId = 7;
Image badge = 8;
repeated uint64 flexSettingArrayList = 9;
Image textIconOverlay = 10;
Image animatedBadge = 11;
bool hasSweepLight = 12;
repeated uint64 textFlexSettingArrayList = 13;
uint64 centerAnimAssetId = 14;
Image dynamicImage = 15;
map<string, string> extraMap = 16;
uint64 mp4AnimAssetId = 17;
uint64 priority = 18;
uint64 maxWaitTime = 19;
string dressId = 20;
uint64 alignment = 21;
uint64 alignmentOffset = 22;
}
message Text {
string key = 1;
string defaultPatter = 2;
TextFormat defaultFormat = 3;
repeated TextPiece piecesList = 4;
}
message TextPiece {
bool type = 1;
TextFormat format = 2;
string stringValue = 3;
TextPieceUser userValue = 4;
TextPieceGift giftValue = 5;
TextPieceHeart heartValue = 6;
TextPiecePatternRef patternRefValue = 7;
TextPieceImage imageValue = 8;
}
message TextPieceImage {
Image image = 1;
float scalingRate = 2;
}
message TextPiecePatternRef {
string key = 1;
string defaultPattern = 2;
}
message TextPieceHeart {
string color = 1;
}
message TextPieceGift {
uint64 giftId = 1;
PatternRef nameRef = 2;
}
message PatternRef {
string key = 1;
string defaultPattern = 2;
}
message TextPieceUser {
User user = 1;
bool withColon = 2;
}
message TextFormat {
string color = 1;
bool bold = 2;
bool italic = 3;
uint32 weight = 4;
uint32 italicAngle = 5;
uint32 fontSize = 6;
bool useHeighLightColor = 7;
bool useRemoteClor = 8;
}
// 点赞
message LikeMessage {
Common common = 1;
uint64 count = 2;
uint64 total = 3;
uint64 color = 4;
User user = 5;
string icon = 6;
DoubleLikeDetail doubleLikeDetail = 7;
DisplayControlInfo displayControlInfo = 8;
uint64 linkmicGuestUid = 9;
string scene = 10;
PicoDisplayInfo picoDisplayInfo = 11;
}
message SocialMessage {
Common common = 1;
User user = 2;
uint64 shareType = 3;
uint64 action = 4;
string shareTarget = 5;
uint64 followCount = 6;
PublicAreaCommon publicAreaCommon = 7;
}
message PicoDisplayInfo {
uint64 comboSumCount = 1;
string emoji = 2;
Image emojiIcon = 3;
string emojiText = 4;
}
message DoubleLikeDetail {
bool doubleFlag = 1;
uint32 seqId = 2;
uint32 renewalsNum = 3;
uint32 triggersNum = 4;
}
message DisplayControlInfo {
bool showText = 1;
bool showIcons = 2;
}
message EpisodeChatMessage {
Message common = 1;
User user = 2;
string content = 3;
bool visibleToSende = 4;
// BackgroundImage backgroundImage = 5;
// PublicAreaCommon publicAreaCommon = 6;
Image giftImage = 7;
uint64 agreeMsgId = 8;
repeated string colorValueList = 9;
}
message MatchAgainstScoreMessage {
Common common = 1;
Against against = 2;
uint32 matchStatus = 3;
uint32 displayStatus = 4;
}
message Against {
string leftName = 1;
Image leftLogo = 2;
string leftGoal = 3;
// LeftPlayersList leftPlayersList = 4;
// LeftGoalStageDetail leftGoalStageDetail = 5;
string rightName = 6;
Image rightLogo = 7;
string rightGoal = 8;
// RightPlayersList rightPlayersList = 9;
// RightGoalStageDetail rightGoalStageDetail = 10;
uint64 timestamp = 11;
uint64 version = 12;
uint64 leftTeamId = 13;
uint64 rightTeamId = 14;
uint64 diffSei2absSecond = 15;
uint32 finalGoalStage = 16;
uint32 currentGoalStage = 17;
uint32 leftScoreAddition = 18;
uint32 rightScoreAddition = 19;
uint64 leftGoalInt = 20;
uint64 rightGoalInt = 21;
}
message Common {
string method = 1;
uint64 msgId = 2;
uint64 roomId = 3;
uint64 createTime = 4;
uint32 monitor = 5;
bool isShowMsg = 6;
string describe = 7;
// DisplayText displayText = 8;
uint64 foldType = 9;
uint64 anchorFoldType = 10;
uint64 priorityScore = 11;
string logId = 12;
string msgProcessFilterK = 13;
string msgProcessFilterV = 14;
User user = 15;
// Room room = 16;
uint64 anchorFoldTypeV2 = 17;
uint64 processAtSeiTimeMs = 18;
uint64 randomDispatchMs = 19;
bool isDispatch = 20;
uint64 channelId = 21;
uint64 diffSei2absSecond = 22;
uint64 anchorFoldDuration = 23;
}
message User {
uint64 id = 1;
uint64 shortId = 2;
string nickName = 3;
uint32 gender = 4;
string Signature = 5;
uint32 Level = 6;
uint64 Birthday = 7;
string Telephone = 8;
Image AvatarThumb = 9;
Image AvatarMedium = 10;
Image AvatarLarge = 11;
bool Verified = 12;
uint32 Experience = 13;
string city = 14;
int32 Status = 15;
uint64 CreateTime = 16;
uint64 ModifyTime = 17;
uint32 Secret = 18;
string ShareQrcodeUri = 19;
uint32 IncomeSharePercent = 20;
repeated Image BadgeImageList = 21;
FollowInfo FollowInfo = 22;
PayGrade PayGrade = 23;
FansClub FansClub = 24;
// Border Border = 25;
string SpecialId = 26;
Image AvatarBorder = 27;
Image Medal = 28;
repeated Image RealTimeIconsList = 29;
string displayId = 38;
string secUid = 46;
uint64 fanTicketCount = 1022;
string idStr = 1028;
uint32 ageRange = 1045;
}
message PayGrade {
int64 totalDiamondCount = 1;
Image diamondIcon = 2;
string name = 3;
Image icon = 4;
string nextName = 5;
int64 level = 6;
Image nextIcon = 7;
int64 nextDiamond = 8;
int64 nowDiamond = 9;
int64 thisGradeMinDiamond = 10;
int64 thisGradeMaxDiamond = 11;
int64 payDiamondBak = 12;
string gradeDescribe = 13;
repeated GradeIcon gradeIconList = 14;
int64 screenChatType = 15;
Image imIcon = 16;
Image imIconWithLevel = 17;
Image liveIcon = 18;
Image newImIconWithLevel = 19;
Image newLiveIcon = 20;
int64 upgradeNeedConsume = 21;
string nextPrivileges = 22;
Image background = 23;
Image backgroundBack = 24;
int64 score = 25;
GradeBuffInfo buffInfo = 26;
string gradeBanner = 1001;
Image profileDialogBg = 1002;
Image profileDialogBgBack = 1003;
}
message FansClub{
FansClubData data = 1;
map<int32, FansClubData> preferData = 2;
}
message FansClubData {
string clubName = 1;
int32 level = 2;
int32 userFansClubStatus = 3;
UserBadge badge = 4;
repeated int64 availableGiftIds = 5;
int64 anchorId = 6;
}
message UserBadge {
map<int32, Image> icons = 1;
string title = 2;
}
message GradeBuffInfo {
}
message Border{
}
message GradeIcon{
Image icon = 1;
int64 iconDiamond = 2;
int64 level = 3;
string levelStr = 4;
}
message FollowInfo {
uint64 followingCount = 1;
uint64 followerCount = 2;
uint64 followStatus = 3;
uint64 pushStatus = 4;
string remarkName = 5;
string followerCountStr = 6;
string followingCountStr = 7;
}
message Image {
repeated string urlListList = 1;
string uri = 2;
uint64 height = 3;
uint64 width = 4;
string avgColor = 5;
uint32 imageType = 6;
string openWebUrl = 7;
ImageContent content = 8;
bool isAnimated = 9;
NinePatchSetting FlexSettingList = 10;
NinePatchSetting TextSettingList = 11;
}
message NinePatchSetting {
repeated string settingListList = 1;
}
message ImageContent {
string name = 1;
string fontColor = 2;
uint64 level = 3;
string alternativeText = 4;
}
message PushFrame {
uint64 seqId = 1;
uint64 logId = 2;
uint64 service = 3;
uint64 method = 4;
repeated HeadersList headersList = 5;
string payloadEncoding = 6;
string payloadType = 7;
bytes payload = 8;
}
message kk {
uint32 k = 14;
}
message SendMessageBody {
string conversationId = 1;
uint32 conversationType = 2;
uint64 conversationShortId = 3;
string content = 4;
repeated ExtList ext = 5;
uint32 messageType = 6;
string ticket = 7;
string clientMessageId = 8;
}
message ExtList {
string key = 1;
string value = 2;
}
message Rsp{
int32 a = 1;
int32 b = 2;
int32 c = 3;
string d = 4;
int32 e = 5;
message F {
uint64 q1 = 1;
uint64 q3 = 3;
string q4 = 4;
uint64 q5 = 5;
}
F f = 6;
string g = 7;
uint64 h = 10;
uint64 i = 11;
uint64 j = 13;
}
message PreMessage {
uint32 cmd = 1;
uint32 sequenceId = 2;
string sdkVersion = 3;
string token = 4;
uint32 refer = 5;
uint32 inboxType = 6;
string buildNumber = 7;
SendMessageBody sendMessageBody = 8;
// 字段名待定
string aa = 9;
string devicePlatform = 11;
repeated HeadersList headers = 15;
uint32 authType = 18;
string biz = 21;
string access = 22;
}
message HeadersList {
string key = 1;
string value = 2;
}
message LiveShoppingMessage {
Common common = 1;
int32 msgType = 2;
int64 promotionId = 4;
}
message RoomStatsMessage {
Common common = 1;
string displayShort = 2;
string displayMiddle = 3;
string displayLong = 4;
int64 displayValue = 5;
int64 displayVersion = 6;
bool incremental = 7;
bool isHidden = 8;
int64 total = 9;
int64 displayType = 10;
}
enum CommentTypeTag {
COMMENTTYPETAGUNKNOWN = 0;
COMMENTTYPETAGSTAR = 1;
}
message ProductInfo {
int64 promotionId = 1;
int32 index = 2;
repeated int64 targetFlashUidsList = 3;
int64 explainType = 4;
}
message CategoryInfo {
int32 id = 1;
string name = 2;
repeated int64 promotionIdsList = 3;
string type = 4;
string uniqueIndex = 5;
}
message ProductChangeMessage {
Common common = 1;
int64 updateTimestamp = 2;
string updateToast = 3;
repeated ProductInfo updateProductInfoList = 4;
int64 total = 5;
repeated CategoryInfo updateCategoryInfoList = 8;
}
// from https://github.com/HaoDong108/DouyinBarrageGrab/blob/main/BarrageGrab/proto/message.proto
// status = 3 下播
message ControlMessage {
Common common = 1;
int32 status = 2;
}
// from https://github.com/HaoDong108/DouyinBarrageGrab/blob/main/BarrageGrab/proto/message.proto
message FansclubMessage {
Common commonInfo = 1;
// 升级是1,加入是2
int32 type = 2;
string content = 3;
User user = 4;
}
// from https://github.com/scx567888/live-room-watcher/blob/master/src/main/proto/douyin_hack/webcast/im/RoomRankMessage.proto
// 直播间排行榜
message RoomRankMessage {
Common common = 1;
repeated RoomRank ranksList = 2;
message RoomRank{
User user = 1;
string scoreStr = 2;
bool profileHidden = 3;
}
}
// from https://github.com/scx567888/live-room-watcher/blob/master/src/main/proto/douyin_hack/webcast/im/RoomMsgTypeEnum.proto
enum RoomMsgTypeEnum{
DEFAULTROOMMSG = 0;
ECOMLIVEREPLAYSAVEROOMMSG = 1;
CONSUMERRELATIONROOMMSG = 2;
JUMANJIDATAAUTHNOTIFYMSG = 3;
VSWELCOMEMSG = 4;
MINORREFUNDMSG = 5;
PAIDLIVEROOMNOTIFYANCHORMSG = 6;
HOSTTEAMSYSTEMMSG = 7;
}
// from https://github.com/scx567888/live-room-watcher/blob/master/src/main/proto/douyin_hack/webcast/im/RoomMessage.proto
message RoomMessage{
Common common = 1;
string content = 2;
bool supprotLandscape = 3;
RoomMsgTypeEnum roommessagetype = 4;
bool systemTopMsg = 5;
bool forcedGuarantee = 6;
string bizScene = 20;
map<string, string> buriedPointMap = 30;
}