Add Goody Bag proto for testing and update TikTokBarrageEvent for potential use in SuperFan events.

This commit is contained in:
kohlerpop1
2026-03-03 22:23:55 -05:00
parent 203d7f414d
commit 15d5c8bc54
4 changed files with 84 additions and 6 deletions

View File

@@ -39,9 +39,12 @@ public class TikTokBarrageEvent extends TikTokHeaderEvent {
private final String eventName;
private final int duration;
private final BarrageParam barrageParam;
// Expose for now until we know what this is used for
private final WebcastBarrageMessage barrageMessage;
public TikTokBarrageEvent(WebcastBarrageMessage msg) {
super(msg.getCommon());
this.barrageMessage = msg;
icon = Picture.map(msg.getIcon());
eventName = msg.getEvent().getEventName();
backGround = Picture.map(msg.getBackground());

View File

@@ -835,4 +835,34 @@ enum BattleCardMsgType {
BATTLE_CARD_MSG_TYPE_SPECIAL_EFFECT_NOTICE = 9;
BATTLE_CARD_MSG_TYPE_USE_TOP_2_CARD = 10;
BATTLE_CARD_MSG_TYPE_USE_TOP_3_CARD = 11;
}
enum GoodyBagMessageType {
GOODY_BAG_MESSAGE_TYPE_UNKNOWN = 0;
GOODY_BAG_MESSAGE_TYPES_END = 1;
GOODY_BAG_MESSAGE_TYPE_JOIN = 2;
GOODY_BAG_MESSAGE_TYPE_WINNERS_INFO = 3;
}
enum GoodyBagBiz {
GOODY_BAG_BIZ_UNKNOWN = 0;
GOODY_BAG_BIZ_NORMAL_COIN = 1;
GOODY_BAG_BIZ_FANS_CLUB = 2;
GOODY_BAG_BIZ_PLATFORM_NORMAL = 100;
GOODY_BAG_BIZ_PLATFORM_FANS_CLUB = 101;
GOODY_BAG_BIZ_LEVEL_UP_PARTY_REWARD_NORMAL = 110;
GOODY_BAG_BIZ_LEVEL_UP_PARTY_REWARD_FANS_CLUB = 111;
}
enum ParticipateMethod {
PARTICIPATE_METHOD_UNKNOWN = 0;
PARTICIPATE_METHOD_COMMENT = 1;
PARTICIPATE_METHOD_SHARE = 2;
PARTICIPATE_METHOD_NO_THRESHOLD = 3;
}
enum ParticipateThresholdType {
PARTICIPATE_THRESHOLD_TYPE_PARTICIPATE_THRESHOLD_UNKNOWN = 0;
PARTICIPATE_THRESHOLD_TYPE_PARTICIPATE_THRESHOLD_ALL_VIEWER = 1;
PARTICIPATE_THRESHOLD_TYPE_PARTICIPATE_THRESHOLD_FANS_CLUB = 2;
}

View File

@@ -1588,4 +1588,50 @@ message WebcastLinkMicBattleItemCard {
CommonCardInfo common = 1;
}
}
}
message WebcastGoodyBagMessage {
CommonMessageData base_message = 1;
GoodyBagBaseInfo base_info = 2;
repeated GoodyBagWinnerInfo winners = 3;
GoodyBagMessageType type = 4;
message GoodyBagBaseInfo {
string goody_bag_id = 1;
GoodyBagBiz biz = 2;
string room_id = 3;
GoodyBagCommonDetail common_detail = 4;
GoodyBagCoinDetail coin_detail = 5;
message GoodyBagCommonDetail {
int32 winner_headcount = 1;
int32 joined_headcount = 2;
ParticipateMethod participate_method = 3;
string participate_method_content = 4;
int32 open_at = 5;
int32 count_down_minutes = 6;
ParticipateThresholdSelected participate_threshold_selected = 7;
message ParticipateThresholdSelected {
ParticipateThresholdType type = 1;
int64 value = 2;
}
}
message GoodyBagCoinDetail {
int32 total_coin = 1;
}
}
message GoodyBagWinnerInfo {
GoodyBagUserInfo user_info = 1;
int32 coins = 2;
}
message GoodyBagUserInfo {
string user_id = 1;
string nickname = 2;
string display_id = 3;
Image avatar = 4;
}
}