tiktok-live-connector
Version:
Node.js library to receive live stream chat events like comments and gifts from TikTok LIVE.
1,472 lines • 73.1 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { ApplyContent, BadgeStruct, BattleSetting, BattleTeamUser, BattleTeamUserArmies, BattleUserArmies, BusinessContent, CancelApplyContent, CancelInviteContent, CancelJoinGroupContent, CohostListChangeContent, CommonMessageData, CreateChannelContent, Emote, FanTicketRoomNoticeContent, FinishChannelContent, Gift, GroupChangeContent, HighScoreControlCfg, Image, InviteContent, JoinDirectContent, JoinGroupContent, KickOutContent, LeaveContent, LeaveJoinGroupContent, LinkerAcceptNoticeContent, LinkerCancelContent, LinkerCloseContent, LinkerCreateContent, LinkerEnterContent, LinkerInviteContent, LinkerKickOutContent, LinkerLeaveContent, LinkerLinkedListChangeContent, LinkerListChangeContent, LinkerMediaChangeContent, LinkerMicIdxUpdateContent, LinkerMuteContent, LinkerRandomMatchContent, LinkerReplyContent, LinkerSysKickOutContent, LinkerUpdateUserContent, LinkerUpdateUserSettingContent, LinkerWaitingListChangeContent, LinkmicUserToastContent, ListChangeContent, LiveStreamGoal, LiveStreamGoalIndicator, MsgFilter, P2PGroupChangeContent, PermitApplyContent, PermitJoinGroupContent, PollEndContent, PollStartContent, PollUpdateVotesContent, PrivilegeLogExtra, PublicAreaCommon, PublicAreaMessageCommon, PunishEventInfo, Ranking, ReplyInviteContent, Text, TimeStampContainer, User, UserIdentity, ValueLabel } from "./data";
import { AuditStatus, BattleABTestType, BattleAction, BattleTaskMessageType, ControlAction, EnvelopeBusinessType, EnvelopeDisplay, EnvelopeFollowShowStatus, ExhibitionType, GiftMessageIgnoreConfig, GiftMessageVersion, GiftPermissionType, GiftSource, GoalMessageSource, HorizontalOnclickTriggerType, LinkMessageType, LinkmicGiftExpressionStrategy, MemberMessageAction, MessageDisplayStyle, MessageType, MultiplierType, OldSubscribeStatus, PerceptionDialogIconType, PollAppealStatus, PollKind, PollTemplateStatus, ProfitRankType, RankTestMessageScene, Reason, Result, RewardStatus, Scene, SubscribeType, SubscribingStatus, TriggerReason, UnionAnimationInfoType } from "./enums";
export declare const protobufPackage = "";
export interface Message {
type: string;
binary: Uint8Array;
}
export interface WebsocketParam {
name: string;
value: string;
}
export interface WebcastRoomUserSeqMessage {
common: CommonMessageData | undefined;
viewerCount: number;
ranksList: WebcastRoomUserSeqMessage_Contributor[];
popStr: string;
seatsList: WebcastRoomUserSeqMessage_Contributor[];
popularity: string;
totalUser: number;
anonymous: string;
}
export interface WebcastRoomUserSeqMessage_Contributor {
coinCount: number;
user: User | undefined;
rank: number;
delta: string;
}
export interface ImageModel {
mUrls: string[];
mUri: string;
height: number;
width: number;
avgColor: string;
imageType: number;
schema: string;
content: ImageModel_Content | undefined;
isAnimated: boolean;
}
export interface ImageModel_Content {
name: string;
fontColor: string;
level: string;
}
export interface WebcastChatMessage {
common: CommonMessageData | undefined;
user: User | undefined;
comment: string;
visibleToSender: boolean;
background: ImageModel | undefined;
fullScreenTextColor: string;
backgroundImageV2: ImageModel | undefined;
publicAreaCommon: PublicAreaCommon | undefined;
giftImage: ImageModel | undefined;
inputType: number;
atUser: User | undefined;
emotes: WebcastSubEmote[];
contentLanguage: string;
msgFilter: MsgFilter | undefined;
quickChatScene: number;
communityflaggedStatus: number;
commentQualityScores: WebcastChatMessage_CommentQualityScore[];
userIdentity: WebcastChatMessage_UserIdentity | undefined;
commentTag: WebcastChatMessage_CommentTag[];
publicAreaMessageCommon: PublicAreaMessageCommon | undefined;
screenTime: string;
signature: string;
signatureVersion: string;
ecStreamerKey: string;
}
export declare enum WebcastChatMessage_CommentTag {
COMMENT_TAG_NORMAL = 0,
COMMENT_TAG_CANDIDATE = 1,
COMMENT_TAG_OVERAGE = 2,
UNRECOGNIZED = -1
}
export interface WebcastChatMessage_UserIdentity {
isGiftGiverOfAnchor: boolean;
isSubscriberOfAnchor: boolean;
isMutualFollowingWithAnchor: boolean;
isFollowerOfAnchor: boolean;
isModeratorOfAnchor: boolean;
isAnchor: boolean;
}
export interface WebcastChatMessage_CommentQualityScore {
version: string;
score: string;
}
export interface EmoteUploadInfo {
userId: string;
emoteUploadSource?: EmoteUploadInfo_UserEmoteUploadSource | undefined;
userInfo: User | undefined;
userIdStr: string;
}
export declare enum EmoteUploadInfo_UserEmoteUploadSource {
USER_EMOTE_UPLOAD_SOURCE_EMOTE_UPLOAD_SOURCE_ANCHOR = 0,
USER_EMOTE_UPLOAD_SOURCE_EMOTE_UPLOAD_SOURCE_SUBSCRIBER = 1,
USER_EMOTE_UPLOAD_SOURCE_EMOTE_UPLOAD_SOURCE_MODERATOR = 2,
UNRECOGNIZED = -1
}
/** Chat Emotes (Subscriber) */
export interface WebcastEmoteChatMessage {
common: CommonMessageData | undefined;
user: User | undefined;
emoteList: Emote[];
msgFilter: MsgFilter | undefined;
userIdentity: UserIdentity | undefined;
}
export interface WebcastSubEmote {
/** starting at 0, you insert the emote itself into the comment at that place */
placeInComment: number;
emote: EmoteDetails | undefined;
}
export interface WebcastMemberMessage {
common: CommonMessageData | undefined;
user: User | undefined;
action: MemberMessageAction;
memberCount: number;
operator: User | undefined;
isSetToAdmin: boolean;
isTopUser: boolean;
rankScore: string;
topUserNo: string;
enterType: string;
actionDescription: string;
userId: string;
effectConfig: WebcastMemberMessage_EffectConfig | undefined;
popStr: string;
enterEffectConfig: WebcastMemberMessage_EffectConfig | undefined;
backgroundImage: Image | undefined;
backgroundImageV2: Image | undefined;
anchorDisplayText: Text | undefined;
clientEnterSource: string;
clientEnterType: string;
clientLiveReason: string;
actionDuration: string;
userShareType: string;
displayStyle: WebcastMemberMessage_DisplayStyle;
adminPermissions: {
[key: number]: number;
};
kickSource: number;
allowPreviewTime: string;
lastSubscriptionAction: string;
publicAreaMessageCommon: PublicAreaMessageCommon | undefined;
liveSubOnlyTier: string;
liveSubOnlyMonth: string;
ecStreamerKey: string;
showWave: string;
waveAlgorithmData: WebcastMemberMessage_WaveAlgorithmData | undefined;
hitAbStatus: WebcastMemberMessage_HitABStatus;
}
export declare enum WebcastMemberMessage_DisplayStyle {
DISPLAY_STYLE_NORMAL = 0,
DISPLAY_STYLE_STAY = 1,
DISPLAY_STYLE_CHAT = 2,
UNRECOGNIZED = -1
}
export declare enum WebcastMemberMessage_HitABStatus {
HIT_A_B_STATUS_HIT_AB_STATUS_NO_HIT = 0,
HIT_A_B_STATUS_HIT_AB_STATUS_ENTER_FROM_EXTERNAL_LINK_NEW_TEXT = 1,
HIT_A_B_STATUS_HIT_AB_STATUS_ENTER_FROM_RE_POST_NEW_TEXT = 2,
UNRECOGNIZED = -1
}
export interface WebcastMemberMessage_AdminPermissionsEntry {
key: number;
value: number;
}
/**
* @EffectConfig
* proto.webcast.im.MemberMessage
* C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js
*/
export interface WebcastMemberMessage_EffectConfig {
type: string;
icon: Image | undefined;
avatarPos: string;
text: Text | undefined;
textIcon: Image | undefined;
stayTime: number;
animAssetId: string;
badge: Image | undefined;
flexSettingArrayList: string[];
}
export interface WebcastMemberMessage_WaveAlgorithmData {
algorithmVersion: string;
isAlgHit: boolean;
predictScore: string;
isRewatch: boolean;
isFollow: boolean;
}
export interface WebcastMemberMessage_EffectConfigBean {
type: number;
icon: ImageModel | undefined;
textKey: Text | undefined;
badge: ImageModel | undefined;
}
export interface WebcastGiftMessage {
common: CommonMessageData | undefined;
giftId: number;
user: User | undefined;
repeatEnd: number;
groupId: string;
giftDetails: Gift | undefined;
monitorExtra: string;
fanTicketCount: string;
groupCount: number;
repeatCount: number;
comboCount: number;
toUser: User | undefined;
textEffect: WebcastGiftMessage_TextEffect | undefined;
incomeTaskgifts: string;
roomFanTicketCount: string;
priority: WebcastGiftMessage_GiftIMPriority | undefined;
logId: string;
sendType: string;
publicAreaCommon: PublicAreaCommon | undefined;
trayDisplayText: Text | undefined;
bannedDisplayEffects: string;
mTrayInfo: WebcastGiftMessage_GiftTrayInfo | undefined;
giftExtra: WebcastGiftMessage_GiftMonitorInfo | undefined;
colorId: string;
isFirstSent: boolean;
displayTextForAnchor: Text | undefined;
displayTextForAudience: Text | undefined;
orderId: string;
giftsInBox: WebcastGiftMessage_GiftsBoxInfo | undefined;
msgFilter: MsgFilter | undefined;
lynxExtra: WebcastGiftMessage_LynxGiftExtra[];
userIdentity: UserIdentity | undefined;
matchInfo: WebcastGiftMessage_MatchInfo | undefined;
linkmicGiftExpressionStrategy: LinkmicGiftExpressionStrategy;
flyingMicResources: WebcastGiftMessage_FlyingMicResources | undefined;
disableGiftTracking: boolean;
asset: WebcastGiftMessage_AssetsModel | undefined;
version: GiftMessageVersion;
sponsorshipInfo: WebcastGiftMessage_SponsorshipInfo[];
flyingMicResourcesV2: WebcastGiftMessage_FlyingMicResources | undefined;
publicAreaMessageCommon: PublicAreaMessageCommon | undefined;
signature: string;
signatureVersion: string;
multiGenerateMessage: boolean;
toMemberId: string;
toMemberIdInt: string;
toMemberNickname: string;
interactiveGiftInfo: WebcastGiftMessage_InteractiveGiftInfo | undefined;
}
export interface WebcastGiftMessage_InteractiveGiftInfo {
crossScreenDelay: string;
crossScreenRole: string;
ignoreConfig: GiftMessageIgnoreConfig;
uniqId: string;
toUserTeamId: string;
}
export interface WebcastGiftMessage_GiftIMPriority {
queueSizesList: string[];
selfQueuePriority: string;
priority: string;
}
export interface WebcastGiftMessage_TextEffect {
portraitDetail: WebcastGiftMessage_TextEffect_Detail | undefined;
landscapeDetail: WebcastGiftMessage_TextEffect_Detail | undefined;
}
export interface WebcastGiftMessage_TextEffect_Detail {
text: Text | undefined;
textFontSize: number;
background: Image | undefined;
start: string;
duration: string;
x: number;
y: number;
width: number;
height: number;
shadowDx: number;
shadowDy: number;
shadowRadius: number;
shadowColor: string;
strokeColor: string;
strokeWidth: number;
}
export interface WebcastGiftMessage_GiftTrayInfo {
mDynamicImg: Image | undefined;
canMirror: boolean;
trayNormalBgImg: Image | undefined;
trayNormalBgColor: string[];
traySmallBgImg: Image | undefined;
traySmallBgColor: string[];
rightTagText: Text | undefined;
rightTagBgImg: Image | undefined;
rightTagBgColor: string[];
trayNameTextColor: string;
trayDescTextColor: string;
rightTagJumpSchema: string;
}
export interface WebcastGiftMessage_GiftMonitorInfo {
anchorId: string;
profitApiMessageDur: string;
sendGiftProfitApiStartMs: string;
sendGiftProfitCoreStartMs: string;
sendGiftReqStartMs: string;
sendGiftSendMessageSuccessMs: string;
sendProfitApiDur: string;
toUserId: string;
sendGiftStartClientLocalMs: string;
fromPlatform: string;
fromVersion: string;
}
export interface WebcastGiftMessage_MatchInfo {
critical: string;
effectCardInUse: boolean;
multiplierType: MultiplierType;
multiplierValue: string;
}
export interface WebcastGiftMessage_GiftsBoxInfo {
gifts: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox[];
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox {
giftId: string;
effectId: string;
colorId: string;
remainTimes: number;
asset: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel | undefined;
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel {
name: string;
resourceUri: string;
resourceModel: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_ResourceModel | undefined;
describe: string;
id: string;
resourceType: number;
md5: string;
size: string;
lokiExtraContent: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_LokiExtraContent | undefined;
downloadType: number;
resourceByteVC1Model: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_ResourceModel | undefined;
bytevc1Md5: string;
videoResourceList: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_VideoResource[];
faceRecognitionArchiveMeta: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_FaceRecognitionMeta | undefined;
lynxUrlSettingsKey: string;
downgradeResourceType: number;
assetExtra: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_AssetExtra | undefined;
stickerAssetVariant: number;
immediateDownload: boolean;
stickerAssetVariantReason: number;
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_AssetExtra {
effectStarlingKey: string;
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_ResourceModel {
urlList: string[];
uri: string;
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_LokiExtraContent {
giftType: string;
giftDuration: string;
needScreenShot: boolean;
ismultiFrame: boolean;
viewOverlay: string;
befViewRenderSize: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_LokiExtraContent_BEFViewRenderSize | undefined;
befViewRenderFPS: number;
befViewFitMode: number;
modelNames: string;
requirements: string[];
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_LokiExtraContent_BEFViewRenderSize {
with: number;
height: number;
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_VideoResource {
videoTypeName: string;
videoUrl: WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_ResourceModel | undefined;
videoMd5: string;
}
export interface WebcastGiftMessage_GiftsBoxInfo_GiftInfoInBox_AssetsModel_FaceRecognitionMeta {
version: string;
requirements: string[];
modelNames: string;
sdkExtra: string;
}
export interface WebcastGiftMessage_AssetsModel {
name: string;
resourceUri: string;
resourceModel: WebcastGiftMessage_AssetsModel_ResourceModel | undefined;
describe: string;
id: string;
resourceType: number;
md5: string;
size: string;
lokiExtraContent: WebcastGiftMessage_AssetsModel_LokiExtraContent | undefined;
downloadType: number;
resourceByteVC1Model: WebcastGiftMessage_AssetsModel_ResourceModel | undefined;
bytevc1Md5: string;
videoResourceList: WebcastGiftMessage_AssetsModel_VideoResource[];
faceRecognitionArchiveMeta: WebcastGiftMessage_AssetsModel_FaceRecognitionMeta | undefined;
lynxUrlSettingsKey: string;
downgradeResourceType: number;
assetExtra: WebcastGiftMessage_AssetsModel_AssetExtra | undefined;
stickerAssetVariant: number;
immediateDownload: boolean;
stickerAssetVariantReason: number;
}
export interface WebcastGiftMessage_AssetsModel_AssetExtra {
effectStarlingKey: string;
}
export interface WebcastGiftMessage_AssetsModel_ResourceModel {
urlList: string[];
uri: string;
}
export interface WebcastGiftMessage_AssetsModel_LokiExtraContent {
giftType: string;
giftDuration: string;
needScreenShot: boolean;
ismultiFrame: boolean;
viewOverlay: string;
befViewRenderSize: WebcastGiftMessage_AssetsModel_LokiExtraContent_BEFViewRenderSize | undefined;
befViewRenderFPS: number;
befViewFitMode: number;
modelNames: string;
requirements: string[];
}
export interface WebcastGiftMessage_AssetsModel_LokiExtraContent_BEFViewRenderSize {
with: number;
height: number;
}
export interface WebcastGiftMessage_AssetsModel_VideoResource {
videoTypeName: string;
videoUrl: WebcastGiftMessage_AssetsModel_ResourceModel | undefined;
videoMd5: string;
}
export interface WebcastGiftMessage_AssetsModel_FaceRecognitionMeta {
version: string;
requirements: string[];
modelNames: string;
sdkExtra: string;
}
export interface WebcastGiftMessage_LynxGiftExtra {
id: string;
code: string;
type: string;
params: string[];
extra: string;
}
export interface WebcastGiftMessage_FlyingMicResources {
pathImage: Image | undefined;
micImage: Image | undefined;
transitionConfigs: WebcastGiftMessage_FlyingMicResources_TransitionConfig[];
}
export interface WebcastGiftMessage_FlyingMicResources_TransitionConfig {
configId: string;
resourceImage: Image | undefined;
}
export interface WebcastGiftMessage_SponsorshipInfo {
giftId: string;
sponsorId: string;
lightGiftUp: boolean;
unlightedGiftIcon: string;
giftGalleryDetailPageSchemeUrl: string;
giftGalleryClickSponsor: boolean;
becomeAllSponsored: boolean;
}
/** Battle start */
export interface WebcastLinkMicBattle {
common: CommonMessageData | undefined;
battleId: string;
battleSetting: BattleSetting | undefined;
action: BattleAction;
battleResult: {
[key: string]: WebcastLinkMicBattle_BattleResult;
};
mBattleDisplayConfig: WebcastLinkMicBattle_BattleDisplayConfig | undefined;
inviteeGiftPermissionType: GiftPermissionType;
armies: {
[key: string]: BattleUserArmies;
};
anchorInfo: {
[key: string]: WebcastLinkMicBattle_BattleUserInfo;
};
bubbleText: string;
supportedActions: WebcastLinkMicBattle_SupportedActionsWrapper[];
battleCombos: {
[key: string]: WebcastLinkMicBattle_BattleComboInfo;
};
teamUsers: WebcastLinkMicBattle_TeamUsersInfo[];
inviteeGiftPermissionTypes: WebcastLinkMicBattle_BattleInviteeGiftPermission[];
actionByUserId: string;
teamBattleResult: WebcastLinkMicBattle_BattleTeamResult[];
teamArmies: BattleTeamUserArmies[];
abtestSettings: WebcastLinkMicBattle_BattleABTestSetting[];
teamMatchCampaign: WebcastLinkMicBattle_TeamMatchCampaign | undefined;
fuzzyDisplayConfigV2: HighScoreControlCfg | undefined;
}
export interface WebcastLinkMicBattle_BattleResultEntry {
key: string;
value: WebcastLinkMicBattle_BattleResult | undefined;
}
export interface WebcastLinkMicBattle_ArmiesEntry {
key: string;
value: BattleUserArmies | undefined;
}
export interface WebcastLinkMicBattle_AnchorInfoEntry {
key: string;
value: WebcastLinkMicBattle_BattleUserInfo | undefined;
}
export interface WebcastLinkMicBattle_BattleCombosEntry {
key: string;
value: WebcastLinkMicBattle_BattleComboInfo | undefined;
}
export interface WebcastLinkMicBattle_TeamMatchCampaign {
bestTeammateRelation: WebcastLinkMicBattle_TeamMatchCampaign_BestTeammateRelation[];
startSfxTeamId: string[];
hasTeamMatchMvpSfx: boolean;
}
export interface WebcastLinkMicBattle_TeamMatchCampaign_BestTeammateRelation {
userId: string;
bestTeammateId: string;
}
export interface WebcastLinkMicBattle_BattleTeamResult {
teamId: string;
teamUsers: BattleTeamUser[];
result: number;
totalScore: string;
}
export interface WebcastLinkMicBattle_BattleInviteeGiftPermission {
userId: string;
giftPermissionType: number;
}
export interface WebcastLinkMicBattle_SupportedActionsWrapper {
actionType: string;
}
export interface WebcastLinkMicBattle_TeamUsersInfo {
teamId: string;
userIds: string[];
}
export interface WebcastLinkMicBattle_BattleComboInfo {
userId: string;
comboStatus: string;
comboCount: string;
comboIconUrl: string;
comboType: number;
comboRuleGuideSchema: string;
}
export interface WebcastLinkMicBattle_BattleResult {
userId: string;
result: Result;
score: string;
}
export interface WebcastLinkMicBattle_BattleDisplayConfig {
threshold: number;
text: string;
diffThreshold: number;
diffText: string;
exemptStrategy: WebcastLinkMicBattle_BattleDisplayConfig_ExemptStrategy | undefined;
}
export interface WebcastLinkMicBattle_BattleDisplayConfig_ExemptStrategy {
exemptBothHost: boolean;
exemptAudienceTop: number;
}
export interface WebcastLinkMicBattle_BattleUserInfo {
user: WebcastLinkMicBattle_BattleUserInfo_BattleBaseUserInfo | undefined;
tags: WebcastLinkMicBattle_BattleUserInfo_BattleRivalTag[];
}
export interface WebcastLinkMicBattle_BattleUserInfo_BattleBaseUserInfo {
userId: string;
nickName: string;
avatarThumb: Image | undefined;
displayId: string;
}
export interface WebcastLinkMicBattle_BattleUserInfo_BattleRivalTag {
bgImage: Image | undefined;
iconImage: Image | undefined;
content: string;
}
export interface WebcastLinkMicBattle_BattleABTestSetting {
uid: string;
abTestList: WebcastLinkMicBattle_BattleABTestSetting_BattleABTestList | undefined;
}
export interface WebcastLinkMicBattle_BattleABTestSetting_BattleABTestList {
abTestList: WebcastLinkMicBattle_BattleABTestSetting_BattleABTestList_BattleABTest[];
}
export interface WebcastLinkMicBattle_BattleABTestSetting_BattleABTestList_BattleABTest {
abTestType: BattleABTestType;
group: number;
}
/** Battle status */
export interface WebcastLinkMicArmies {
common: CommonMessageData | undefined;
battleId: string;
battleItems: {
[key: string]: BattleUserArmies;
};
channelId: string;
giftSentTime: string;
scoreUpdateTime: string;
battleStatus: TriggerReason;
fromUserId: string;
giftId: string;
giftCount: number;
gifIconImage: Image | undefined;
totalDiamondCount: number;
repeatCount: number;
teamArmies: BattleTeamUserArmies[];
triggerCriticalStrike: boolean;
hasTeamMatchMvpSfx: boolean;
logId: string;
battleSettings: BattleSetting | undefined;
fuzzyDisplayConfigV2: HighScoreControlCfg | undefined;
}
export interface WebcastLinkMicArmies_BattleItemsEntry {
key: string;
value: BattleUserArmies | undefined;
}
export interface WebcastLinkMicArmiesItems {
hostUserId: string;
battleGroups: WebcastLinkMicArmiesGroup[];
}
export interface WebcastLinkMicArmiesGroup {
users: User[];
points: number;
}
/** Follow & share event */
export interface WebcastSocialMessage {
common: CommonMessageData | undefined;
user: User | undefined;
shareType: string;
action: string;
shareTarget: string;
followCount: number;
shareDisplayStyle: string;
shareCount: number;
publicAreaMessageCommon: PublicAreaMessageCommon | undefined;
signature: string;
signatureVersion: string;
showDurationMs: string;
}
/** Like event (is only sent from time to time, not with every like) */
export interface WebcastLikeMessage {
common: CommonMessageData | undefined;
likeCount: number;
totalLikeCount: number;
color: number;
user: User | undefined;
icon: string;
icons: Image[];
specifiedDisplayText: SpecifiedDisplayText[];
effectCnt: string;
likeEffect: LikeEffect[];
publicAreaMessageCommon: PublicAreaMessageCommon | undefined;
roomMessageHeatLevel: string;
}
export interface SpecifiedDisplayText {
uid: string;
displayText: Text | undefined;
}
export interface LikeEffect {
version: string;
effectCnt: string;
effectIntervalMs: string;
level: string;
}
/** New question event */
export interface WebcastQuestionNewMessage {
common: CommonMessageData | undefined;
details: WebcastQuestionNewMessage_Question | undefined;
}
export interface WebcastQuestionNewMessage_Question {
questionId: string;
questionText: string;
answerStatus: number;
createTime: string;
user: User | undefined;
createFrom: number;
answerFrom: number;
}
/** Contains UI information */
export interface WebcastMessageEventDetails {
displayType: string;
label: string;
}
/** Source: Co-opted https://github.com/zerodytrash/TikTok-Livestream-Chat-Connector/issues/19#issuecomment-1074150342 */
export interface WebcastLiveIntroMessage {
common: CommonMessageData | undefined;
roomId: string;
auditStatus: AuditStatus;
description: string;
host: User | undefined;
introMode: number;
badges: BadgeStruct[];
language: string;
}
export interface SystemMessage {
description: string;
}
export interface RankItem {
colour: string;
id: string;
}
export interface WebcastHourlyRankMessage {
data: WebcastHourlyRankMessage_RankContainer | undefined;
common: CommonMessageData | undefined;
data2: number;
}
export interface WebcastHourlyRankMessage_RankContainer {
data1: number;
rankingData: WebcastHourlyRankMessage_RankContainer_RankingData | undefined;
data2: number;
rankings: Ranking | undefined;
rankingData2: WebcastHourlyRankMessage_RankContainer_RankingData2 | undefined;
data3: number;
data4: number;
}
export interface WebcastHourlyRankMessage_RankContainer_RankingData {
data1: number;
rankdata: Ranking | undefined;
data2: string;
}
export interface WebcastHourlyRankMessage_RankContainer_RankingData2 {
data1: number;
data2: number;
rankdata: Ranking | undefined;
data3: string;
data4: number;
data5: number;
}
export interface EmoteDetails {
emoteId: string;
image: EmoteImage | undefined;
}
export interface EmoteImage {
imageUrl: string;
}
export interface WebcastEnvelopeMessage {
common: CommonMessageData | undefined;
envelopeInfo: WebcastEnvelopeMessage_EnvelopeInfo | undefined;
display: EnvelopeDisplay;
}
export interface WebcastEnvelopeMessage_EnvelopeInfo {
envelopeId: string;
businessType: EnvelopeBusinessType;
envelopeIdc: string;
sendUserName: string;
diamondCount: number;
peopleCount: number;
unpackAt: number;
sendUserId: string;
sendUserAvatar: Image | undefined;
createAt: string;
roomId: string;
followShowStatus: EnvelopeFollowShowStatus;
skinId: number;
}
export interface TreasureBoxData {
coins: number;
canOpen: number;
timestamp: string;
}
/** New Subscriber message */
export interface WebcastSubNotifyMessage {
common: CommonMessageData | undefined;
user: User | undefined;
exhibitionType: ExhibitionType;
subMonth: string;
subscribeType: SubscribeType;
oldSubscribeStatus: OldSubscribeStatus;
subscribeMessageType?: MessageType | undefined;
subscribingStatus: SubscribingStatus;
isSend: boolean;
isCustom: boolean;
giftSource: GiftSource;
messageDisplayStyle: MessageDisplayStyle;
publicAreaMessageCommon: PublicAreaMessageCommon | undefined;
packageId: string;
eventTracking: WebcastSubNotifyMessage_EventTracking | undefined;
}
export interface WebcastSubNotifyMessage_EventTracking {
giftSubSenderId: string;
giftSubReceiverId: string;
anchorId: string;
giftSubOrderCreateTime: string;
}
export interface FollowInfo {
followingCount: number;
followerCount: number;
followStatus: number;
pushStatus: number;
}
export interface ProfilePicture {
urls: string[];
}
export interface UserBadgesAttributes {
badgeSceneType: number;
imageBadges: UserImageBadge[];
badges: UserBadge[];
privilegeLogExtra: PrivilegeLogExtra | undefined;
}
export interface UserBadge {
type: string;
name: string;
}
export interface UserImageBadge {
displayType: number;
image: UserImageBadgeImage | undefined;
}
export interface UserImageBadgeImage {
url: string;
}
/** Websocket acknowledgment message */
export interface WebSocketAckMessage {
id: string;
type: string;
}
/** Message representing the room info */
export interface HeartbeatFrameRoomInfo {
roomId: string;
}
/** Message representing metadata field 6 */
export interface HeartbeatFrameMetadataField6 {
unknown1: number;
}
/** Message representing metadata field 7 */
export interface HeartbeatFrameMetadataField7 {
unknown1: number;
}
/** Heartbeat keepalive message */
export interface HeartbeatFrame {
metadataField6: HeartbeatFrameMetadataField6 | undefined;
metadataField7: HeartbeatFrameMetadataField7 | undefined;
roomInfo: HeartbeatFrameRoomInfo | undefined;
}
/**
* TODO: In a future release, set client_enter=1 on both /im/fetch and WS url; this is what the web client does
* Didn't do it because it requires an agent update & sign server update
* // Create a room enter container
* const container = ImEnterRoomMessagePushFrame.fromPartial({
* payloadType: "im_enter_room",
* payload: {
* roomId: roomId,
* unknown1: 12,
* role: "audience",
* cursor: cursor,
* unknown2: 0,
* unknown3: "0",
* unknown4: 0
* },
* metadata: {
* unknown1: 98
* }
* });
*/
export interface ImEnterRoomMessagePushFrame {
metadata: ImEnterRoomMessagePushFrame_Metadata | undefined;
/** "im_enter_room" */
payloadType: string;
payload: ImEnterRoomMessagePushFrame_ImEnterRoomMessage | undefined;
}
export interface ImEnterRoomMessagePushFrame_Metadata {
/** "98" */
unknown1: number;
}
export interface ImEnterRoomMessagePushFrame_ImEnterRoomMessage {
/** Room ID */
roomId: string;
/** "12" */
unknown1: number;
/** "audience" */
role: string;
/** Cursor */
cursor: string;
/** "0" */
unknown2?: number | undefined;
/** "0" */
unknown3: string;
/** "0" */
unknown4?: number | undefined;
}
export interface WebcastBarrageMessage {
common: CommonMessageData | undefined;
event: WebcastBarrageMessage_BarrageEvent | undefined;
msgType?: WebcastBarrageMessage_BarrageType | undefined;
icon: ImageModel | undefined;
duration: string;
backGround: ImageModel | undefined;
rightIcon: ImageModel | undefined;
displayConfig: number;
galleryGiftId: string;
useMarquee: boolean;
showType?: WebcastBarrageMessage_ShowType | undefined;
renderType?: WebcastBarrageMessage_RenderType | undefined;
leftIconDisplayType?: WebcastBarrageMessage_IconDisplayType | undefined;
ribbonAnimation: ImageModel | undefined;
hybridUrl: string;
schema: string;
subType: string;
privilegeLogExtra: PrivilegeLogExtra | undefined;
content: Text | undefined;
scene: Scene;
control: WebcastBarrageMessage_DisplayControl | undefined;
rightLabel: WebcastBarrageMessage_RightLabel | undefined;
badge: BadgeStruct | undefined;
animationData: WebcastBarrageMessage_AnimationData | undefined;
commonBarrageContent: Text | undefined;
userGradeParam: WebcastBarrageMessage_BarrageTypeUserGradeParam | undefined;
fansLevelParam: WebcastBarrageMessage_BarrageTypeFansLevelParam | undefined;
subscribeGiftParam: WebcastBarrageMessage_BarrageTypeSubscribeGiftParam | undefined;
giftGalleryParams: WebcastBarrageMessage_BarrageTypeGiftGalleryParam | undefined;
}
export declare enum WebcastBarrageMessage_BarrageType {
BARRAGE_TYPE_UNKNOWN = 0,
BARRAGE_TYPE_E_COM_ORDERING = 1,
BARRAGE_TYPE_E_COM_BUYING = 2,
BARRAGE_TYPE_NORMAL = 3,
BARRAGE_TYPE_SUBSCRIBE = 4,
BARRAGE_TYPE_EVENT_VIEW = 5,
BARRAGE_TYPE_EVENT_REGISTERED = 6,
BARRAGE_TYPE_SUBSCRIBE_GIFT = 7,
BARRAGE_TYPE_USER_UPGRADE = 8,
BARRAGE_TYPE_GRADE_USER_ENTRANCE_NOTIFICATION = 9,
BARRAGE_TYPE_FANS_LEVEL_UPGRADE = 10,
BARRAGE_TYPE_FANS_LEVEL_ENTRANCE = 11,
BARRAGE_TYPE_GAME_PARTNERSHIP = 12,
BARRAGE_TYPE_GIFT_GALLERY = 13,
BARRAGE_TYPE_E_COM_BOUGHT = 14,
BARRAGE_TYPE_COMMON_BARRAGE = 100,
UNRECOGNIZED = -1
}
export declare enum WebcastBarrageMessage_ShowType {
SHOW_TYPE_NORMAL = 0,
SHOW_TYPE_FADE_IN_OUT = 1,
UNRECOGNIZED = -1
}
export declare enum WebcastBarrageMessage_RenderType {
RENDER_TYPE_NATIVE = 0,
RENDER_TYPE_HYBRID = 1,
RENDER_TYPE_ALPHA = 2,
UNRECOGNIZED = -1
}
export declare enum WebcastBarrageMessage_IconDisplayType {
ICON_DISPLAY_TYPE_IMAGE = 0,
ICON_DISPLAY_TYPE_BADGE = 1,
UNRECOGNIZED = -1
}
export interface WebcastBarrageMessage_BarrageEvent {
eventName: string;
params: {
[key: string]: string;
};
}
export interface WebcastBarrageMessage_BarrageEvent_ParamsEntry {
key: string;
value: string;
}
export interface WebcastBarrageMessage_BarrageTypeUserGradeParam {
currentGrade: number;
displayConfig: number;
userId: string;
user: User | undefined;
}
export interface WebcastBarrageMessage_BarrageTypeFansLevelParam {
currentGrade: number;
displayConfig: number;
user: User | undefined;
}
export interface WebcastBarrageMessage_BarrageTypeSubscribeGiftParam {
giftSubCount: string;
showGiftSubCount: boolean;
}
export interface WebcastBarrageMessage_AnimationData {
geckoChannelName: string;
fileName: string;
height: string;
width: string;
rightOffset: string;
}
export interface WebcastBarrageMessage_BarrageTypeGiftGalleryParam {
fromUserId: string;
toUserId: string;
}
export interface WebcastBarrageMessage_DisplayControl {
priority: number;
duration: string;
targetGroupShowRst: {
[key: number]: WebcastBarrageMessage_DisplayControl_ShowResult;
};
horizontalTriggerType: HorizontalOnclickTriggerType;
}
export interface WebcastBarrageMessage_DisplayControl_TargetGroupShowRstEntry {
key: number;
value: WebcastBarrageMessage_DisplayControl_ShowResult | undefined;
}
export interface WebcastBarrageMessage_DisplayControl_ShowResult {
banned: boolean;
}
export interface WebcastBarrageMessage_RightLabel {
backgroundColor: string;
content: Text | undefined;
height: string;
}
export interface WebcastPushFrame {
seqId: string;
id: string;
service: string;
method: string;
headers: {
[key: string]: string;
};
payloadEncoding: string;
type: string;
binary: Uint8Array;
}
export interface WebcastPushFrame_HeadersEntry {
key: string;
value: string;
}
/** Response from TikTokServer. Container for Messages */
export interface ProtoMessageFetchResult {
messages: BaseProtoMessage[];
cursor: string;
fetchInterval: string;
now: string;
internalExt: string;
fetchType: number;
wsParams: {
[key: string]: string;
};
heartBeatDuration: string;
needsAck: boolean;
wsUrl: string;
isFirst: boolean;
historyCommentCursor: string;
historyNoMore: boolean;
}
export interface ProtoMessageFetchResult_WsParamsEntry {
key: string;
value: string;
}
export interface BaseProtoMessage {
type: string;
payload: Uint8Array;
msgId: string;
msgType: number;
offset: string;
isHistory: boolean;
}
export interface WebcastRoomMessage {
common: CommonMessageData | undefined;
content: string;
supportLandscape: boolean;
source: string;
icon: Image | undefined;
scene: Scene;
isWelcome: boolean;
publicAreaCommon: PublicAreaMessageCommon | undefined;
showDurationMs: string;
subScene: string;
}
/** Closed Captioning for Video */
export interface WebcastCaptionMessage {
common: CommonMessageData | undefined;
timestampMs: string;
durationMs: string;
content: WebcastCaptionMessage_CaptionContent[];
sentenceId: string;
sequenceId: string;
definite: boolean;
}
export interface WebcastCaptionMessage_CaptionContent {
lang: string;
content: string;
}
/** System-Control Message from Room (e.g. Host ended Stream) */
export interface WebcastControlMessage {
common: CommonMessageData | undefined;
action: ControlAction;
tips: string;
extra: WebcastControlMessage_Extra | undefined;
perceptionDialog: WebcastControlMessage_PerceptionDialogInfo | undefined;
perceptionAudienceText: Text | undefined;
punishInfo: PunishEventInfo | undefined;
floatText: Text | undefined;
floatStyle: number;
}
/**
* @Extra
* proto.webcast.im.ControlMessage
*/
export interface WebcastControlMessage_Extra {
banInfoUrl: string;
reasonNo: string;
title: Text | undefined;
violationReason: Text | undefined;
content: Text | undefined;
gotItButton: Text | undefined;
banDetailButton: Text | undefined;
source: string;
}
export interface WebcastControlMessage_PerceptionDialogInfo {
iconType: PerceptionDialogIconType;
title: Text | undefined;
subTitle: Text | undefined;
adviceActionText: Text | undefined;
defaultActionText: Text | undefined;
violationDetailUrl: string;
scene: Scene;
targetUserId: string;
targetRoomId: string;
countDownTime: string;
showFeedback: boolean;
feedbackOptions: WebcastControlMessage_PerceptionDialogInfo_PerceptionFeedbackOption[];
policyTip: string;
appealPopup: number;
}
export interface WebcastControlMessage_PerceptionDialogInfo_PerceptionFeedbackOption {
id: string;
contentKey: string;
}
export interface WebcastGoalUpdateMessage {
common: CommonMessageData | undefined;
indicator: LiveStreamGoalIndicator | undefined;
goal: LiveStreamGoal | undefined;
contributorId: string;
contributorAvatar: Image | undefined;
contributorDisplayId: string;
contributeSubgoal: WebcastGoalUpdateMessage_LiveStreamSubGoal | undefined;
contributeCount: string;
contributeScore: string;
giftRepeatCount: string;
contributorIdStr: string;
pin: boolean;
unpin: boolean;
pinInfo: WebcastGoalUpdateMessage_GoalPinInfo | undefined;
updateSource: GoalMessageSource;
goalExtra: string;
}
export interface WebcastGoalUpdateMessage_LiveStreamSubGoal {
type: number;
id: string;
progress: string;
target: string;
gift: WebcastGoalUpdateMessage_LiveStreamSubGoal_LiveStreamSubGoalGift | undefined;
idStr: string;
pinInfo: WebcastGoalUpdateMessage_LiveStreamSubGoal_SubGoalPinInfo | undefined;
source: number;
recommendedText: string;
recommendedCommon: string;
}
export interface WebcastGoalUpdateMessage_LiveStreamSubGoal_LiveStreamSubGoalGift {
name: string;
icon: Image | undefined;
diamondCount: string;
type: number;
}
export interface WebcastGoalUpdateMessage_LiveStreamSubGoal_SubGoalPinInfo {
pinStartTime: string;
pinEndTime: string;
pinReadyTime: string;
}
export interface WebcastGoalUpdateMessage_GoalPinInfo {
pin: boolean;
unpin: boolean;
pinEndTime: string;
subGoalId: string;
subGoalIdStr: string;
}
/** Message related to Chat-moderation? */
export interface WebcastImDeleteMessage {
common: CommonMessageData | undefined;
deleteMsgIdsList: string[];
deleteUserIdsList: string[];
}
export interface WebcastInRoomBannerMessage {
common: CommonMessageData | undefined;
data: {
[key: string]: string;
};
position: number;
actionType: number;
}
export interface WebcastInRoomBannerMessage_DataEntry {
key: string;
value: string;
}
export interface WebcastRankUpdateMessage {
common: CommonMessageData | undefined;
updatesList: WebcastRankUpdateMessage_RankUpdate[];
/** @warning Enum not found, should be GroupType */
groupType: string;
priority: string;
tabsList: WebcastRankUpdateMessage_RankTabInfo[];
isAnimationLoopPlay: boolean;
animationLoopForOff: boolean;
unionAnimation: WebcastRankUpdateMessage_UnionAnimationInfo[];
tabInfo: WebcastRankUpdateMessage_RankListTabInfo[];
}
export interface WebcastRankUpdateMessage_UnionAnimationInfo {
unionType: UnionAnimationInfoType;
rankTypeArray: ProfitRankType;
supportedVersion: string;
}
export interface WebcastRankUpdateMessage_RankListTabInfo {
tabs: WebcastRankUpdateMessage_RankTabInfo[];
supportedVersion: string;
}
export interface WebcastRankUpdateMessage_RankTabInfo {
rankType: ProfitRankType;
title: string;
titleText: Text | undefined;
listLynxType: string;
}
/**
* @RankUpdate
* proto.webcast.im.RankUpdateMessage
*/
export interface WebcastRankUpdateMessage_RankUpdate {
/** @warning Enum not found, should be RankType */
rankType: string;
ownerRank: string;
defaultContent: Text | undefined;
showEntranceAnimation: boolean;
countdown: string;
/** @warning Enum not found, should be RelatedTabRankType */
relatedTabRankType: string;
/** @warning Enum not found, should be RequestFirstShowType */
requestFirstShowType: string;
supportedVersion: string;
owneronrank: boolean;
}
/** --- HandMade -- */
export interface WebcastPollMessage {
common: CommonMessageData | undefined;
messageType: MessageType;
pollId: string;
startContent: PollStartContent | undefined;
endContent: PollEndContent | undefined;
updateContent: PollUpdateVotesContent | undefined;
pollKind: PollKind;
pollBasicInfo: WebcastPollMessage_PollBasicInfo | undefined;
templateContent: WebcastPollMessage_TemplateContent | undefined;
}
export interface WebcastPollMessage_TemplateContent {
templateId: string;
templateIdStr: string;
status: PollTemplateStatus;
pollKind: PollKind;
appealStatus: PollAppealStatus;
violationIdStr: string;
}
export interface WebcastPollMessage_PollBasicInfo {
pollSponsor: string;
giftId: string;
title: string;
isSuggestedQuestion: boolean;
userCnt: string;
gift: Gift | undefined;
pollIdStr: string;
suggestedQuestionKey: string;
pollDuration: string;
timeRemain: string;
pollIndex: string;
templateId: string;
}
export interface WebcastRankTextMessage {
common: CommonMessageData | undefined;
scene: RankTestMessageScene;
ownerIdxBeforeUpdate: string;
ownerIdxAfterUpdate: string;
selfGetBadgeMsg: Text | undefined;
otherGetBadgeMsg: Text | undefined;
curUserId: string;
}
export interface WebcastLinkMicBattlePunishFinish {
common: CommonMessageData | undefined;
channelId: string;
opUid: string;
reason: Reason;
battleId: string;
battleSettings: BattleSetting | undefined;
}
export interface WebcastLinkmicBattleTaskMessage {
common: CommonMessageData | undefined;
battleTaskMessageType: BattleTaskMessageType;
taskStart: WebcastLinkmicBattleTaskMessage_BattleTaskStart | undefined;
taskUpdate: WebcastLinkmicBattleTaskMessage_BattleTaskUpdate | undefined;
taskSettle: WebcastLinkmicBattleTaskMessage_BattleTaskSettle | undefined;
rewardSettle: WebcastLinkmicBattleTaskMessage_BattleRewardSettle | undefined;
battleId: string;
}
export interface WebcastLinkmicBattleTaskMessage_BattlePrompt {
promptKey: string;
promptElements: WebcastLinkmicBattleTaskMessage_BattlePrompt_BattlePromptElem[];
}
export interface WebcastLinkmicBattleTaskMessage_BattlePrompt_BattlePromptElem {
promptFieldKey: string;
promptFieldValue: string;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskStart {
battleBonusConfig: WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig | undefined;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig {
previewStartTime: string;
previewPeriodConfig: WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_PreviewPeriod[];
taskPeriodConfig: WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_TaskPeriodConfig | undefined;
rewardPeriodConfig: WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_RewardPeriodConfig | undefined;
taskGiftGuide: {
[key: string]: WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_BattleTaskGiftAmountGuide;
};
previewStartTimestamp: string;
previewClickActionSchemaUrl: string;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_TaskGiftGuideEntry {
key: string;
value: WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_BattleTaskGiftAmountGuide | undefined;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_PreviewPeriod {
duration: string;
promot: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
icon: Image | undefined;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_TaskPeriodConfig {
taskStartTime: string;
duration: string;
targetStartTimestamp: string;
clickAction: number;
clickToastPrompt: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
promptType: number;
taskStaticPrompt: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
progressTarget: string;
targetType: number;
icon: Image | undefined;
clickActionSchemaUrl: string;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_RewardPeriodConfig {
rewardStartTime: string;
duration: string;
rewardMultiple: number;
rewardStartTimestamp: string;
rewardPraparePrompt: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
rewardingPrompt: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
clickPrompt: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskStart_BattleBonusConfig_BattleTaskGiftAmountGuide {
guidePrompt: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
promptType: number;
disappearDuration: number;
iconImage: Image | undefined;
giftImage: Image | undefined;
recommendGiftId: string;
recommendGiftCount: number;
guideContent: Text | undefined;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskUpdate {
taskProgress: string;
fromUserUid: string;
promptKey: string;
logId: string;
}
export interface WebcastLinkmicBattleTaskMessage_BattleTaskSettle {
taskResult: WebcastLinkmicBattleTaskMessage_BattleTaskSettle_Result;
rewardStartTime: string;
rewardStartTimestamp: string;
}
export declare enum WebcastLinkmicBattleTaskMessage_BattleTaskSettle_Result {
RESULT_SUCCEED = 0,
RESULT_FAILED = 1,
RESULT_BOTH_SUCCEED = 2,
UNRECOGNIZED = -1
}
export interface WebcastLinkmicBattleTaskMessage_BattleRewardSettle {
rewardSettlePrompt: WebcastLinkmicBattleTaskMessage_BattlePrompt | undefined;
status: RewardStatus;
}
export interface WebcastLinkMicFanTicketMethod {
common: CommonMessageData | undefined;
FanTicketRoomNotice: FanTicketRoomNoticeContent | undefined;
}
export interface WebcastLinkMicMethod {
common: CommonMessageData | undefined;
messageType: MessageType;
accessKey: string;
anchorLinkmicId: string;
userId: string;
fanTicket: string;
totalLinkMicFanTicket: string;
channelId: string;
layout: string;
vendor: string;
dimension: string;
theme: string;
inviteUid: string;
reply: number;
duration: number;
matchType: number;
win: boolean;
prompts: string;
toUserId: string;
tips: string;
startTimeMs: string;
confluenceType: number;
fromRoomId: string;
inviteType: number;
subType: string;
rtcExtInfo: string;
appId: string;
appSign: string;
anchorLinkMicIdStr: string;
rivalAnchorId: string;
rivalLinkmicId: number;
rivalLinkmicIdStr: string;
shouldShowPopup: boolean;
rtcJoinChannel: boolean;
fanTicketType: number;
}
export interface WebcastUnauthorizedMemberMessage {
common: CommonMessageData | undefined;
action: number;
nickNamePrefix: Text | undefined;
nickName: string;
enterText: Text | undefined;
publicAreaCommon: PublicAreaMessageCommon | undefined;
}
export interface WebcastMsgDetectMessage {
common: CommonMessageData | undefined;
detectType: number;
triggerCondition: WebcastMsgDetectMessage_TriggerCondition | undefined;
timeInfo: WebcastMsgDetectMessage_TimeInfo | undefined;
triggerBy: number;
fromRegion: string;
}
export interface WebcastMsgDetectMessage_TimeInfo {
clientStartMs: string;
apiRecvTimeMs: string;
apiSendToGoimMs: string;
}
export interface WebcastMsgDetectMessage_TriggerCondition {
uplinkDetectHttp: boolean;
uplinkDetectWebSocket: boolean;
detectP2PMsg: boolean;
detectRoomMsg: boolean;
httpOptimize: boolean;
}
export interface WebcastOecLiveShoppingMessage {
common: CommonMessageData | undefined;
data1: number;
shopData: WebcastOecLiveShoppingMessage_LiveShoppingData | undefined;
/** Uses index 1, 2 & 3 */
shopTimings: TimeStampContainer | undefined;
details: WebcastOecLiveShoppingMessage_LiveShoppingDetails | undefined;
}
export interface WebcastOecLiveShoppingMessage_LiveShoppingData {
title: string;
/** $55.99 */
priceString: string;
imageUrl: string;
shopUrl: string;
data1: string;
/** "Shopify" */
shopName: string;
data2: string;
shopUrl2: string;
data3: string;
data4: string;
}
export interface WebcastOecLiveShoppingMessage_LiveShoppingDetails {
id1: string;
data1: string;
data2: number;
timestamp: string;
data: ValueLabel | undefined;
}
/** Host Pins comment to stream */
export interface WebcastRoomPinMessage {
common: CommonMessageData | undefined;
chatMessage?: WebcastChatMessage | undefined;
socialMessage?: W