TikTokLive.events package
Submodules
TikTokLive.events.base_event module
- class TikTokLive.events.base_event.BaseEvent
Bases:
objectBase event emitted from the TikTokLiveClient
- property as_base64: str
Base64 encoded bytes (empty string if no payload)
- Returns:
Base64 encoded bytes
- classmethod get_type() str
String representation of the class type
- Returns:
Class name
- property size: int
Size of the payload in bytes
- Returns:
Size of the payload
TikTokLive.events.custom_events module
- class TikTokLive.events.custom_events.ConnectEvent(unique_id: str, room_id: int)
Bases:
BaseEventManually thrown when the first payload is received from the Sign Server
- room_id: int
- unique_id: str
- class TikTokLive.events.custom_events.DisconnectEvent
Bases:
BaseEventThrown when disconnecting from a stream
- class TikTokLive.events.custom_events.FollowEvent(common: __shared__message__.CommonMessageData | None = <factory>, user: _base__user__.User | None = <factory>, share_type: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, action: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, share_target: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, follow_count: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, share_display_style: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, share_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, signature: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, signature_version: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, show_duration_ms: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, follow_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, target_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
SocialEventA SocialEvent, but we give it its own class for clarity’s sake.
- class TikTokLive.events.custom_events.LiveEndEvent(common: __shared__message__.CommonMessageData | None = <factory>, action: __im__.ControlAction = <factory>, tips: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, extra: Extra | None = <factory>, perception_dialog: PerceptionDialogInfo | None = <factory>, perception_audience_text: common.Text | None = <factory>, punish_info: PunishEventInfo | None = <factory>, float_text: common.Text | None = <factory>, float_style: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>)
Bases:
ControlEventThrown when the stream ends
- class TikTokLive.events.custom_events.LivePauseEvent(common: __shared__message__.CommonMessageData | None = <factory>, action: __im__.ControlAction = <factory>, tips: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, extra: Extra | None = <factory>, perception_dialog: PerceptionDialogInfo | None = <factory>, perception_audience_text: common.Text | None = <factory>, punish_info: PunishEventInfo | None = <factory>, float_text: common.Text | None = <factory>, float_style: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>)
Bases:
ControlEventThrown when the stream is paused
- class TikTokLive.events.custom_events.LiveUnpauseEvent(common: __shared__message__.CommonMessageData | None = <factory>, action: __im__.ControlAction = <factory>, tips: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, extra: Extra | None = <factory>, perception_dialog: PerceptionDialogInfo | None = <factory>, perception_audience_text: common.Text | None = <factory>, punish_info: PunishEventInfo | None = <factory>, float_text: common.Text | None = <factory>, float_style: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>)
Bases:
ControlEventThrown when a paused stream is unpaused
Bases:
SocialEventA SocialEvent, but we give it its own class for clarity’s sake.
The number of people that have joined the stream from the share
- Returns:
The number of people that have joined
- class TikTokLive.events.custom_events.SuperFanBoxEvent(common: ___shared__message__.CommonMessageData | None = <factory>, envelope_info: MessageRedEnvelopInfo | None = <factory>, display: __data__.EnvelopeDisplay = <factory>)
Bases:
EnvelopeEventEmitted when a super-fan envelope (gift box) is delivered.
Subset of
EnvelopeEventmatched either bycommon.display_text.display_typecarryingttlive_superfanbox, or byenvelope_info.business_type == BusinessTypeSuperFanBox(= 19).
- class TikTokLive.events.custom_events.SuperFanEvent(common: __shared__message__.CommonMessageData | None = <factory>, event: BarrageEvent | None = <factory>, msg_type: __im__.BarrageMessageBarrageType = <factory>, icon: _base__.ImageModel | None = <factory>, content: common.Text | None = <factory>, duration: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, background: _base__.ImageModel | None = <factory>, right_icon: _base__.ImageModel | None = <factory>, display_config: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, gallery_gift_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, control: __message__proto__.DisplayControl | None = <factory>, right_label: RightLabel | None = <factory>, use_marquee: bool = <factory>, show_type: __im__.BarrageMessageShowType = <factory>, badge: _base__user__.BadgeStruct | None = <factory>, render_type: __im__.BarrageMessageRenderType = <factory>, left_icon_display_type: __im__.BarrageMessageIconDisplayType = <factory>, ribbon_animation: _base__.ImageModel | None = <factory>, animation_data: AnimationData | None = <factory>, hybrid_url: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, schema: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, sub_type: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, common_barrage_content: common.Text | None = <factory>, user: _base__user__.User | None = <factory>, user_grade_param: BarrageTypeUserGradeParam | None = <factory>, fans_level_param: BarrageTypeFansLevelParam | None = <factory>, subscribe_gift_param: BarrageTypeSubscribeGiftParam | None = <factory>, privilege_log_extra: _base__user__.PrivilegeLogExtra | None = <factory>, gift_gallery_params: BarrageTypeGiftGalleryParam | None = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, ecom_live_param: BarrageTypeEcomLiveParam | None = <factory>)
Bases:
BarrageEventEmitted when a viewer becomes a super fan of the streamer.
Subset of
BarrageEventmatched whencontent.display_typeorcommon_barrage_content.display_typecarries thettlive_superfanmarker (and is not the more specific “joined” variant).
- class TikTokLive.events.custom_events.SuperFanJoinEvent(common: __shared__message__.CommonMessageData | None = <factory>, event: BarrageEvent | None = <factory>, msg_type: __im__.BarrageMessageBarrageType = <factory>, icon: _base__.ImageModel | None = <factory>, content: common.Text | None = <factory>, duration: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, background: _base__.ImageModel | None = <factory>, right_icon: _base__.ImageModel | None = <factory>, display_config: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, gallery_gift_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, control: __message__proto__.DisplayControl | None = <factory>, right_label: RightLabel | None = <factory>, use_marquee: bool = <factory>, show_type: __im__.BarrageMessageShowType = <factory>, badge: _base__user__.BadgeStruct | None = <factory>, render_type: __im__.BarrageMessageRenderType = <factory>, left_icon_display_type: __im__.BarrageMessageIconDisplayType = <factory>, ribbon_animation: _base__.ImageModel | None = <factory>, animation_data: AnimationData | None = <factory>, hybrid_url: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, schema: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, sub_type: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, common_barrage_content: common.Text | None = <factory>, user: _base__user__.User | None = <factory>, user_grade_param: BarrageTypeUserGradeParam | None = <factory>, fans_level_param: BarrageTypeFansLevelParam | None = <factory>, subscribe_gift_param: BarrageTypeSubscribeGiftParam | None = <factory>, privilege_log_extra: _base__user__.PrivilegeLogExtra | None = <factory>, gift_gallery_params: BarrageTypeGiftGalleryParam | None = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, ecom_live_param: BarrageTypeEcomLiveParam | None = <factory>)
Bases:
BarrageEventEmitted when an existing super fan joins the live (distinct from
SuperFanEventwhich fires when a viewer first becomes a super fan).Subset of
BarrageEventmatched whencontent.display_typeorcommon_barrage_content.display_typecontainsttlive_superfan_commentnotif_superfanjoined.
- class TikTokLive.events.custom_events.UnknownEvent(raw: ProtoMessageFetchResult | None = None)
Bases:
WebsocketResponseEventTriggered when a Webcast message is received that is NOT tracked by TikTokLive yet.
- class TikTokLive.events.custom_events.WebsocketResponseEvent(raw: ProtoMessageFetchResult | None = None)
Bases:
BaseEventTriggered when any event is received from the WebSocket. Carries the raw
ProtoMessageFetchResultenvelope this event was extracted from onself.rawfor callers that want to inspect the underlying response fields (cursor, fetch_interval, ws_params, etc.).The previous design subclassed
ProtoMessageFetchResultdirectly; that produced empty fields in practice (the constructor was fed the inner per-message envelope, not the outer fetch result) and additionally tripped betterproto2’s metadata machinery whenever the subclass lived in a different module from the upstream definition.- raw: ProtoMessageFetchResult
TikTokLive.events.proto_events module
- class TikTokLive.events.proto_events.AccessControlEvent(common: __shared__message__.CommonMessageData | None = <factory>, captcha: AccessControlCaptcha | None = <factory>)
Bases:
BaseEvent,WebcastAccessControlMessageAccessControlEvent.
- class TikTokLive.events.proto_events.AccessRecallEvent(common: __shared__message__.CommonMessageData | None = <factory>, status: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, duration: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, end_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, notice: _message__common__.Text | None = <factory>, content: _message__common__.Text | None = <factory>, punish_info: _message__.PunishEventInfo | None = <factory>)
Bases:
BaseEvent,WebcastAccessRecallMessageAccessRecallEvent.
- class TikTokLive.events.proto_events.BarrageEvent(*args: Any, common: CommonMessageData | None = <factory>, event: BarrageEvent | None = <factory>, msg_type: BarrageMessageBarrageType = <factory>, icon: ImageModel | None = <factory>, content: Text | None = <factory>, duration: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, background: ImageModel | None = <factory>, right_icon: ImageModel | None = <factory>, display_config: Annotated[int, ~annotated_types.Ge(ge=-2147483648), ~annotated_types.Le(le=2147483647)] = <factory>, gallery_gift_id: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, scene: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, control: DisplayControl | None = <factory>, right_label: RightLabel | None = <factory>, use_marquee: bool = <factory>, show_type: BarrageMessageShowType = <factory>, badge: BadgeStruct | None = <factory>, render_type: BarrageMessageRenderType = <factory>, left_icon_display_type: BarrageMessageIconDisplayType = <factory>, ribbon_animation: ImageModel | None = <factory>, animation_data: AnimationData | None = <factory>, hybrid_url: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, schema: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, sub_type: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, common_barrage_content: Text | None = <factory>, user: User | None = <factory>, user_grade_param: BarrageTypeUserGradeParam | None = <factory>, fans_level_param: BarrageTypeFansLevelParam | None = <factory>, subscribe_gift_param: BarrageTypeSubscribeGiftParam | None = <factory>, privilege_log_extra: PrivilegeLogExtra | None = <factory>, gift_gallery_params: BarrageTypeGiftGalleryParam | None = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, ecom_live_param: BarrageTypeEcomLiveParam | None = <factory>)
Bases:
BaseEvent,WebcastBarrageMessageBarrageEvent.
- user: ExtendedUser | None
- class TikTokLive.events.proto_events.BoostCardEvent(common: __shared__message__.CommonMessageData | None = <factory>, cards: list[BoostCard] = <factory>)
Bases:
BaseEvent,WebcastBoostCardMessageBoostCardEvent.
- cards: List[BoostCard]
- common: CommonMessageData | None
- class TikTokLive.events.proto_events.BottomEvent(common: __shared__message__.CommonMessageData | None = <factory>, content: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, show_type: __im__.ShowType = <factory>, text_type: __im__.TextType = <factory>, duration: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, biz_type: __im__.BizType = <factory>, violation_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, punish_info: PunishEventInfo | None = <factory>, style: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, detail_url: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, float_style: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, float_icon_type: _data__.PerceptionDialogIconType = <factory>)
Bases:
BaseEvent,WebcastBottomMessageBottomEvent.
- biz_type: BizType
- common: CommonMessageData | None
- content: str
- detail_url: str
- duration: int
- float_icon_type: PerceptionDialogIconType
- float_style: int
- punish_info: PunishEventInfo | None
- show_type: ShowType
- style: int
- text_type: TextType
- violation_user_id: int
- class TikTokLive.events.proto_events.CapsuleEvent(common: __shared__message__.CommonMessageData | None = <factory>, icon: _base__.ImageModel | None = <factory>, desc: common.Text | None = <factory>, button_text: common.Text | None = <factory>, schema: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, biz_params: CapsuleBizParams | None = <factory>, sub_scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, style: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, skip_fc: bool = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, report_action: bool = <factory>)
Bases:
BaseEvent,WebcastCapsuleMessageCapsuleEvent.
- biz_params: CapsuleBizParams | None
- button_text: Text | None
- common: CommonMessageData | None
- desc: Text | None
- icon: ImageModel | None
- public_area_message_common: PublicAreaMessageCommon | None
- report_action: bool
- scene: str
- schema: str
- skip_fc: bool
- style: int
- sub_scene: str
- type: int
- class TikTokLive.events.proto_events.CaptionEvent(common: __shared__message__.CommonMessageData | None = <factory>, timestamp_ms: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, duration_ms: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, content: list[CaptionContent] = <factory>, sentence_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, sequence_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, definite: bool = <factory>)
Bases:
BaseEvent,WebcastCaptionMessageCaptionEvent.
- common: CommonMessageData | None
- content: List[CaptionContent]
- definite: bool
- duration_ms: int
- sentence_id: int
- sequence_id: int
- timestamp_ms: int
- class TikTokLive.events.proto_events.CommentEvent(common: __shared__message__.CommonMessageData | None = <factory>, user: _base__user__.User | None = <factory>, content: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, visible_to_sender: bool = <factory>, background_image: _base__.ImageModel | None = <factory>, full_screen_text_color: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, background_image_v2: _base__.ImageModel | None = <factory>, public_area_common: PublicAreaCommon | None = <factory>, gift_image: _base__.ImageModel | None = <factory>, input_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, at_user: _base__user__.User | None = <factory>, emotes: list[_base__emoji__.EmoteWithIndex] = <factory>, content_language: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, msg_filter: _data__.MsgFilter | None = <factory>, quick_chat_scene: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, community_flagged_status: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, user_identity: _data__.UserIdentity | None = <factory>, comment_quality_scores: list[CommentQualityScore] = <factory>, comment_tag: list[__im__.CommentTag] = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, screen_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, signature: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, signature_version: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, ec_streamer_key: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, comment_label_scores: list[CommentLabelScore] = <factory>, mention_user_list: list[typing.Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)]] = <factory>, mention_users: list[_base__user__.User] = <factory>, is_on_comment_tray: bool = <factory>)
Bases:
BaseEvent,WebcastChatMessageCommentEvent.
- at_user: ExtendedUser | None
- background_image: ImageModel | None
- background_image_v2: ImageModel | None
- property comment: str
Legacy alias; v2 named this
comment, v3 renamed it tocontent.
- comment_label_scores: List[CommentLabelScore]
- comment_quality_scores: List[CommentQualityScore]
- comment_tag: List[CommentTag]
- common: CommonMessageData | None
- community_flagged_status: int
- content: str
- content_language: str
- ec_streamer_key: str
- emotes: List[EmoteWithIndex]
- full_screen_text_color: str
- gift_image: ImageModel | None
- input_type: int
- is_on_comment_tray: bool
- mention_user_list: List[int]
- mention_users: List[User]
- msg_filter: MsgFilter | None
- public_area_common: PublicAreaCommon | None
- public_area_message_common: PublicAreaMessageCommon | None
- quick_chat_scene: int
- screen_time: int
- signature: str
- signature_version: str
- user: ExtendedUser | None
- user_identity: UserIdentity | None
- property user_is_super_fan: bool
Return whether the user is a TikTok super fan.
- visible_to_sender: bool
- class TikTokLive.events.proto_events.ControlEvent(*args: Any, common: CommonMessageData | None = <factory>, action: ControlAction = <factory>, tips: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, extra: Extra | None = <factory>, perception_dialog: PerceptionDialogInfo | None = <factory>, perception_audience_text: Text | None = <factory>, punish_info: PunishEventInfo | None = <factory>, float_text: Text | None = <factory>, float_style: Annotated[int, ~annotated_types.Ge(ge=-2147483648), ~annotated_types.Le(le=2147483647)] = <factory>)
Bases:
BaseEvent,WebcastControlMessageControlEvent.
- action: ControlAction = Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'betterproto': FieldMetadata(number=2, proto_type='enum', map_meta=None, group=None, unwrap=None, optional=False, repeated=False)}),kw_only=<dataclasses._MISSING_TYPE object>,_field_type=None)
- common: CommonMessageData | None
- extra: Extra | None
- float_style: int
- float_text: Text | None
- perception_audience_text: Text | None
- perception_dialog: PerceptionDialogInfo | None
- punish_info: PunishEventInfo | None
- tips: str
- class TikTokLive.events.proto_events.EmoteChatEvent(common: __shared__message__.CommonMessageData | None = <factory>, user: _base__user__.User | None = <factory>, emote_list: list[_base__emoji__.EmoteModel] = <factory>, msg_filter: _data__.MsgFilter | None = <factory>, user_identity: _data__.UserIdentity | None = <factory>)
Bases:
BaseEvent,WebcastEmoteChatMessageEmoteChatEvent.
- common: CommonMessageData | None
- emote_list: List[EmoteModel]
- msg_filter: MsgFilter | None
- user: ExtendedUser | None
- user_identity: UserIdentity | None
- class TikTokLive.events.proto_events.EnvelopeEvent(*args: Any, common: CommonMessageData | None = <factory>, envelope_info: MessageRedEnvelopInfo | None = <factory>, display: EnvelopeDisplay = <factory>)
Bases:
BaseEvent,WebcastEnvelopeMessageEnvelopeEvent.
- common: CommonMessageData | None
- display: EnvelopeDisplay
- envelope_info: MessageRedEnvelopInfo | None
- class TikTokLive.events.proto_events.GameRankNotifyEvent(common: __shared__message__.CommonMessageData | None = <factory>, msg_type: __im__.GameRankNotifyMessageMsgType = <factory>, notify_text: common.Text | None = <factory>)
Bases:
BaseEvent,WebcastGameRankNotifyMessageGameRankNotifyEvent.
- common: CommonMessageData | None
- msg_type: GameRankNotifyMessageMsgType
- notify_text: Text | None
- class TikTokLive.events.proto_events.GiftBroadcastEvent(common: __shared__message__.CommonMessageData | None = <factory>, from_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, left_icon: _base__.ImageModel | None = <factory>, notify: WebcastRoomNotifyMessage | None = <factory>)
Bases:
BaseEvent,WebcastGiftBroadcastMessageGiftBroadcastEvent.
- common: CommonMessageData | None
- from_user_id: int
- left_icon: ImageModel | None
- notify: WebcastRoomNotifyMessage | None
- class TikTokLive.events.proto_events.GiftDynamicRestrictionEvent(common: __shared__message__.CommonMessageData | None = <factory>, dynamic_restriction: _gift__model__.DynamicRestriction | None = <factory>)
Bases:
BaseEvent,WebcastGiftDynamicRestrictionMessageGiftDynamicRestrictionEvent.
- common: CommonMessageData | None
- dynamic_restriction: DynamicRestriction | None
- class TikTokLive.events.proto_events.GiftEvent(common: __shared__message__.CommonMessageData | None = <factory>, gift_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, fan_ticket_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, group_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, repeat_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, combo_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, user: _base__user__.User | None = <factory>, to_user: _base__user__.User | None = <factory>, repeat_end: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, text_effect: TextEffect | None = <factory>, group_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, income_taskgifts: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, room_fan_ticket_count: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, priority: GiftImPriority | None = <factory>, gift: __model__.Gift | None = <factory>, log_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, send_type: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, public_area_common: PublicAreaCommon | None = <factory>, tray_display_text: common.Text | None = <factory>, banned_display_effects: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, tray_info: __model__.GiftTrayInfo | None = <factory>, monitor_extra: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, monitor_info: GiftMonitorInfo | None = <factory>, color_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, is_first_sent: bool = <factory>, display_text_for_anchor: common.Text | None = <factory>, display_text_for_audience: common.Text | None = <factory>, order_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, gifts_in_box: __model__.GiftsBoxInfo | None = <factory>, msg_filter: _data__.MsgFilter | None = <factory>, lynx_extra: list[_gift__model__.LynxGiftExtra] = <factory>, user_identity: _data__.UserIdentity | None = <factory>, match_info: _gift__model__.MatchInfo | None = <factory>, linkmic_gift_expression_strategy: _data__.LinkmicGiftExpressionStrategy = <factory>, flying_mic_resources: _gift__model__.FlyingMicResources | None = <factory>, disable_gift_tracking: bool = <factory>, asset: _gift__assets__.AssetsModel | None = <factory>, version: __im__.GiftMessageVersion = <factory>, sponsorship_info: list[SponsorshipInfo] = <factory>, flying_mic_resources_v2: _gift__model__.FlyingMicResources | None = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, signature: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, signature_version: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, multi_generate_message: bool = <factory>, to_member_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, to_member_id_int: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, to_member_nickname: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, interactive_gift_info: InteractiveGiftInfo | None = <factory>, display_duration_ms: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, display_text_for_sender: common.Text | None = <factory>, is_asset_bundle_gift: bool = <factory>, asset_bundle: _gift__model__.AssetBundle | None = <factory>, effect_extra: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastGiftMessageGiftEvent.
- asset: AssetsModel | None
- asset_bundle: AssetBundle | None
- banned_display_effects: int
- color_id: int
- combo_count: int
- common: CommonMessageData | None
- disable_gift_tracking: bool
- display_duration_ms: int
- display_text_for_anchor: Text | None
- display_text_for_audience: Text | None
- display_text_for_sender: Text | None
- effect_extra: str
- fan_ticket_count: int
- flying_mic_resources: FlyingMicResources | None
- flying_mic_resources_v2: FlyingMicResources | None
- gift: ExtendedGift | None
- gift_id: int
- gifts_in_box: GiftsBoxInfo | None
- group_count: int
- group_id: int
- income_taskgifts: int
- interactive_gift_info: InteractiveGiftInfo | None
- is_asset_bundle_gift: bool
- is_first_sent: bool
- linkmic_gift_expression_strategy: LinkmicGiftExpressionStrategy
- log_id: str
- lynx_extra: List[LynxGiftExtra]
- match_info: MatchInfo | None
- monitor_extra: str
- monitor_info: GiftMonitorInfo | None
- msg_filter: MsgFilter | None
- multi_generate_message: bool
- order_id: str
- priority: GiftImPriority | None
- public_area_common: PublicAreaCommon | None
- public_area_message_common: PublicAreaMessageCommon | None
- repeat_count: int
- repeat_end: int
- room_fan_ticket_count: int
- send_type: int
- signature: str
- signature_version: str
- sponsorship_info: List[SponsorshipInfo]
- property streaking: bool
Whether the user is currently engaged in a streak. False for non-streakable gifts; otherwise the inverse of
repeat_end.
- text_effect: TextEffect | None
- to_member_id: str
- to_member_id_int: int
- to_member_nickname: str
- to_user: ExtendedUser | None
- tray_display_text: Text | None
- tray_info: GiftTrayInfo | None
- user: ExtendedUser | None
- user_identity: UserIdentity | None
- property user_is_super_fan: bool
Return whether the user is a TikTok super fan.
- property value: float | None
USD value of this gift event. Returns None mid-streak so callers do not double-count; the final non-streaking event carries the full repeat_count.
- version: GiftMessageVersion
- class TikTokLive.events.proto_events.GiftPanelUpdateEvent(common: __shared__message__.CommonMessageData | None = <factory>, room_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, timestamp: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, gallery_data: GalleryData | None = <factory>, goal_data: GoalData | None = <factory>, room_based_gift_data: RoomBasedGiftData | None = <factory>, strategy_context: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastGiftPanelUpdateMessageGiftPanelUpdateEvent.
- common: CommonMessageData | None
- gallery_data: GalleryData | None
- goal_data: GoalData | None
- room_based_gift_data: RoomBasedGiftData | None
- room_id: int
- strategy_context: str
- timestamp: int
- class TikTokLive.events.proto_events.GiftPromptEvent(common: __shared__message__.CommonMessageData | None = <factory>, title: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, body: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, block_num_days: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, order_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, order_timestamp: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, in_user_gifting_addiction_expr: bool = <factory>, pop_up_schema: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastGiftPromptMessageGiftPromptEvent.
- block_num_days: int
- body: str
- common: CommonMessageData | None
- in_user_gifting_addiction_expr: bool
- order_id: str
- order_timestamp: int
- pop_up_schema: str
- title: str
- class TikTokLive.events.proto_events.GoalUpdateEvent(common: ___shared__message__.CommonMessageData | None = <factory>, indicator: LiveStreamGoalIndicator | None = <factory>, goal: LiveStreamGoal | None = <factory>, contributor_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, contributor_avatar: __base__.ImageModel | None = <factory>, contributor_display_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, contribute_subgoal: LiveStreamSubGoal | None = <factory>, contribute_count: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, contribute_score: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, gift_repeat_count: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, contributor_id_str: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, pin_info: __goal__.GoalPinInfo | None = <factory>, update_source: __data__.GoalMessageSource = <factory>, goal_extra: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastGoalUpdateMessageGoalUpdateEvent.
- common: CommonMessageData | None
- contribute_count: int
- contribute_score: int
- contribute_subgoal: LiveStreamSubGoal | None
- contributor_avatar: ImageModel | None
- contributor_display_id: str
- contributor_id: int
- contributor_id_str: str
- gift_repeat_count: int
- goal: LiveStreamGoal | None
- goal_extra: str
- indicator: LiveStreamGoalIndicator | None
- pin_info: GoalPinInfo | None
- update_source: GoalMessageSource
- class TikTokLive.events.proto_events.GuideEvent(common: __shared__message__.CommonMessageData | None = <factory>, guide_type: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, gift_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, description: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, duration: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, display_style: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastGuideMessageGuideEvent.
- common: CommonMessageData | None
- description: str
- display_style: int
- duration: int
- gift_id: int
- guide_type: int
- scene: str
- class TikTokLive.events.proto_events.HourlyRankRewardEvent(common: __shared__message__.CommonMessageData | None = <factory>, winners: list[HourlyRankRewardInfo] = <factory>)
Bases:
BaseEvent,WebcastHourlyRankRewardMessageHourlyRankRewardEvent.
- common: CommonMessageData | None
- winners: List[HourlyRankRewardInfo]
- class TikTokLive.events.proto_events.ImDeleteEvent(common: __shared__message__.CommonMessageData | None = <factory>, delete_msg_ids: list[typing.Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)]] = <factory>, delete_user_ids: list[typing.Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)]] = <factory>)
Bases:
BaseEvent,WebcastImDeleteMessageImDeleteEvent.
- common: CommonMessageData | None
- delete_msg_ids: List[int]
- delete_user_ids: List[int]
- class TikTokLive.events.proto_events.InRoomBannerEvent(common: __shared__message__.CommonMessageData | None = <factory>)
Bases:
BaseEvent,WebcastInRoomBannerMessageInRoomBannerEvent.
- common: CommonMessageData | None
- class TikTokLive.events.proto_events.JoinEvent(common: __shared__message__.CommonMessageData | None = <factory>, user: _base__user__.User | None = <factory>, member_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, operator: _base__user__.User | None = <factory>, is_set_to_admin: bool = <factory>, is_top_user: bool = <factory>, rank_score: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, top_user_no: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, enter_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, action: __im__.MemberMessageAction = <factory>, action_description: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, effect_config: bytes = <factory>, pop_str: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, enter_effect_config: EffectConfigBean | None = <factory>, background_image: _base__.ImageModel | None = <factory>, background_image_v2: _base__.ImageModel | None = <factory>, anchor_display_text: common.Text | None = <factory>, client_enter_source: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, client_enter_type: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, client_live_reason: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, action_duration: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, user_share_type: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, display_style: __im__.DisplayStyle = <factory>, admin_permissions: dict[int, int]=<factory>, kick_source: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, allow_preview_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, last_subscription_action: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, live_sub_only_tier: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, live_sub_only_month: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, ec_streamer_key: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, show_wave: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, wave_algorithm_data: WaveAlgorithmData | None = <factory>, hit_ab_status: __im__.HitAbStatus = <factory>)
Bases:
BaseEvent,WebcastMemberMessageJoinEvent.
- action: MemberMessageAction
- action_description: str
- action_duration: int
- admin_permissions: Dict[int, int]
- allow_preview_time: int
- anchor_display_text: Text | None
- background_image: ImageModel | None
- background_image_v2: ImageModel | None
- client_enter_source: str
- client_enter_type: str
- client_live_reason: str
- common: CommonMessageData | None
- display_style: DisplayStyle
- ec_streamer_key: str
- enter_effect_config: EffectConfigBean | None
- enter_type: int
- hit_ab_status: HitAbStatus
- is_set_to_admin: bool
- is_top_user: bool
- kick_source: int
- last_subscription_action: int
- live_sub_only_month: int
- live_sub_only_tier: int
- member_count: int
- operator: ExtendedUser | None
- pop_str: str
- public_area_message_common: PublicAreaMessageCommon | None
- rank_score: int
- show_wave: int
- top_user_no: int
- user: ExtendedUser | None
- user_id: int
- wave_algorithm_data: WaveAlgorithmData | None
- class TikTokLive.events.proto_events.LikeEvent(common: __shared__message__.CommonMessageData | None = <factory>, count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, total: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, color: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, user: _base__user__.User | None = <factory>, icon: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, icons: list[_base__.ImageModel] = <factory>, specified_display_text: list[SpecifiedDisplayText] = <factory>, effect_cnt: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, like_effect: list[__model__.LikeEffect] = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, room_message_heat_level: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>)
Bases:
BaseEvent,WebcastLikeMessageLikeEvent.
- color: int
- common: CommonMessageData | None
- count: int
- effect_cnt: int
- icon: str
- icons: List[ImageModel]
- like_effect: List[LikeEffect]
- public_area_message_common: PublicAreaMessageCommon | None
- room_message_heat_level: int
- specified_display_text: List[SpecifiedDisplayText]
- total: int
- user: ExtendedUser | None
- class TikTokLive.events.proto_events.LinkEvent(common: __shared__message__.CommonMessageData | None = <factory>, message_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, linker_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, invite_content: linker_invite_message.LinkerInviteContent | None = <factory>, reply_content: linker_reply_message.LinkerReplyContent | None = <factory>, create_content: LinkerCreateContent | None = <factory>, close_content: LinkerCloseContent | None = <factory>, enter_content: linker.LinkerEnterContent | None = <factory>, leave_content: linker.LinkerLeaveContent | None = <factory>, cancel_content: linker.LinkerCancelContent | None = <factory>, kick_out_content: linker.LinkerKickOutContent | None = <factory>, linked_list_change_content: linker_linked_list_change_message.LinkedListChangeContent | None = <factory>, update_user_content: LinkerUpdateUserContent | None = <factory>, waiting_list_change_content: LinkerWaitingListChangeContent | None = <factory>, mute_content: linker.LinkerMuteContent | None = <factory>, random_match_content: linker.LinkerRandomMatchContent | None = <factory>, update_user_setting_content: _linksetting__.MultiLiveUpdateUserSettingContent | None = <factory>, mic_idx_update_content: linker_mic_update.LinkerMicIdxUpdateContent | None = <factory>, list_change_content: linker_listchangemessage.LinkerListChangeContent | None = <factory>, cohost_list_change_content: CohostListChangeContent | None = <factory>, media_change_content: LinkerMediaChangeContent | None = <factory>, reply_accept_notice_content: linker.LinkerAcceptNoticeContent | None = <factory>, sys_kick_out_content: LinkerSysKickOutContent | None = <factory>, user_toast_content: LinkmicUserToastContent | None = <factory>, extra: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, expire_timestamp: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, transfer_extra: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, version: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>)
Bases:
BaseEvent,WebcastLinkMessageLinkEvent.
- cancel_content: LinkerCancelContent | None
- close_content: LinkerCloseContent | None
- cohost_list_change_content: CohostListChangeContent | None
- common: CommonMessageData | None
- create_content: LinkerCreateContent | None
- enter_content: LinkerEnterContent | None
- expire_timestamp: int
- extra: str
- invite_content: LinkerInviteContent | None
- kick_out_content: LinkerKickOutContent | None
- leave_content: LinkerLeaveContent | None
- linked_list_change_content: LinkedListChangeContent | None
- linker_id: int
- list_change_content: LinkerListChangeContent | None
- media_change_content: LinkerMediaChangeContent | None
- message_type: int
- mic_idx_update_content: LinkerMicIdxUpdateContent | None
- mute_content: LinkerMuteContent | None
- random_match_content: LinkerRandomMatchContent | None
- reply_accept_notice_content: LinkerAcceptNoticeContent | None
- reply_content: LinkerReplyContent | None
- scene: int
- sys_kick_out_content: LinkerSysKickOutContent | None
- transfer_extra: str
- update_user_content: LinkerUpdateUserContent | None
- update_user_setting_content: MultiLiveUpdateUserSettingContent | None
- user_toast_content: LinkmicUserToastContent | None
- version: int
- waiting_list_change_content: LinkerWaitingListChangeContent | None
- class TikTokLive.events.proto_events.LinkLayerEvent(common: ___shared__message__.CommonMessageData | None = <factory>, message_type: ___im__.LinkLayerMessageType = <factory>, channel_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: ___linkmic__common__.Scene = <factory>, source: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, centerized_idc: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, rtc_room_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, version: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, linker_mode: ___linkmic__common__.LinkerMode = <factory>, wait_cross_data: bool = <factory>, create_channel_content: CreateChannelContent | None = <factory>, list_change_content: LinkListChangeContent | None = <factory>, invite_content: InviteContent | None = <factory>, apply_content: ApplyContent | None = <factory>, permit_apply_content: PermitApplyContent | None = <factory>, reply_invite_content: ReplyInviteContent | None = <factory>, kick_out_content: KickOutContent | None = <factory>, cancel_apply_content: CancelApplyContent | None = <factory>, cancel_invite_content: CancelInviteContent | None = <factory>, leave_content: LeaveContent | None = <factory>, finish_content: FinishChannelContent | None = <factory>, join_direct_content: JoinDirectContent | None = <factory>, join_group_content: ___im__.JoinGroupContent | None = <factory>, permit_group_content: ___im__.PermitJoinGroupContent | None = <factory>, cancel_group_content: ___im__.CancelJoinGroupContent | None = <factory>, leave_group_content: ___im__.LeaveJoinGroupContent | None = <factory>, p2p_group_change_content: ___im__.P2PGroupChangeContent | None = <factory>, group_change_content: ___im__.GroupChangeContent | None = <factory>, join_group_direct_content: ___im__.JoinGroupDirectContent | None = <factory>, join_room_direct_content: ___im__.JoinRoomDirectContent | None = <factory>, business_content: ___chatroom__model__multiguestv3__.BusinessContent | None = <factory>)
Bases:
BaseEvent,WebcastLinkLayerMessageLinkLayerEvent.
- apply_content: ApplyContent | None
- business_content: BusinessContent | None
- cancel_apply_content: CancelApplyContent | None
- cancel_group_content: CancelJoinGroupContent | None
- cancel_invite_content: CancelInviteContent | None
- centerized_idc: str
- channel_id: int
- common: CommonMessageData | None
- create_channel_content: CreateChannelContent | None
- finish_content: FinishChannelContent | None
- group_change_content: GroupChangeContent | None
- invite_content: InviteContent | None
- join_direct_content: JoinDirectContent | None
- join_group_content: JoinGroupContent | None
- join_group_direct_content: JoinGroupDirectContent | None
- join_room_direct_content: JoinRoomDirectContent | None
- kick_out_content: KickOutContent | None
- leave_content: LeaveContent | None
- leave_group_content: LeaveJoinGroupContent | None
- linker_mode: LinkerMode
- list_change_content: LinkListChangeContent | None
- message_type: LinkLayerMessageType
- p2p_group_change_content: P2PGroupChangeContent | None
- permit_apply_content: PermitApplyContent | None
- permit_group_content: PermitJoinGroupContent | None
- reply_invite_content: ReplyInviteContent | None
- rtc_room_id: int
- scene: Scene
- source: str
- version: int
- wait_cross_data: bool
- class TikTokLive.events.proto_events.LinkMicArmiesEvent(common: __shared__message__.CommonMessageData | None = <factory>, battle_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, armies: dict[int, battle.BattleUserArmies]=<factory>, channel_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, send_gift_success_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, update_battle_score_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, trigger_reason: __im__.LinkMicArmiesTriggerReason = <factory>, from_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, gift_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, gift_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, gift_icon_image: _base__.ImageModel | None = <factory>, total_diamond_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, repeat_count: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, team_armies: list[_live__match__.BattleTeamUserArmies] = <factory>, trigger_critical_strike: bool = <factory>, has_team_match_mvp_sfx: bool = <factory>, log_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, battle_settings: battle.BattleSetting | None = <factory>, fuzzy_display_config_v2: _live__match__.HighScoreControlCfg | None = <factory>, effect_infos: _live__match__.BattleEffectInfos | None = <factory>, enigma_battle_extra_info: _live__match__.EnigmaBattleExtraInfo | None = <factory>)
Bases:
BaseEvent,WebcastLinkMicArmiesLinkMicArmiesEvent.
- armies: Dict[int, BattleUserArmies]
- battle_id: int
- battle_settings: BattleSetting | None
- channel_id: int
- common: CommonMessageData | None
- effect_infos: BattleEffectInfos | None
- enigma_battle_extra_info: EnigmaBattleExtraInfo | None
- from_user_id: int
- fuzzy_display_config_v2: HighScoreControlCfg | None
- gift_count: int
- gift_icon_image: ImageModel | None
- gift_id: int
- has_team_match_mvp_sfx: bool
- log_id: str
- repeat_count: int
- send_gift_success_time: int
- team_armies: List[BattleTeamUserArmies]
- total_diamond_count: int
- trigger_critical_strike: bool
- trigger_reason: LinkMicArmiesTriggerReason
- update_battle_score_time: int
- class TikTokLive.events.proto_events.LinkMicBattleEvent(common: __shared__message__.CommonMessageData | None = <factory>, battle_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, battle_settings: battle.BattleSetting | None = <factory>, action: __im__.LinkMicBattleBattleAction = <factory>, battle_result: dict[int, battle.BattleResult]=<factory>, fuzzy_display_config: battle.BattleDisplayConfig | None = <factory>, invitee_gift_permission_type: _data__.GiftPermissionType = <factory>, armies: list[battle.UserArmiesWrapper] = <factory>, anchors_info: list[battle.BattleUserInfoWrapper] = <factory>, bubble_text: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, supported_actions: list[battle.SupportedActionsWrapper] = <factory>, battle_combo_v2: dict[int, _live__match__.BattleComboInfo]=<factory>, team_member: list[TeamUsersInfo] = <factory>, invitees_gift_permission_type: list[BattleInviteeGiftPermission] = <factory>, action_by_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, team_battle_result: list[_live__match__.BattleTeamResult] = <factory>, team_armies: list[_live__match__.BattleTeamUserArmies] = <factory>, ab_test_setting: list[_live__match__.BattleAbTestSetting] = <factory>, team_match_campaign: _live__match__.TeamMatchCampaign | None = <factory>, fuzzy_display_config_v2: _live__match__.HighScoreControlCfg | None = <factory>, league_info_map: dict[int, __chatroom__model__interact__.GiftGalleryBadgeInfo]=<factory>, league_score_info_map: dict[int, _live__match__.LeagueScoreInfo]=<factory>, match_punish_extra_info: _live__match__.MatchPunishExtraInfo | None = <factory>, enigma_battle_setting: _live__match__.EnigmaBattleSetting | None = <factory>, anchor_match_settings: dict[int, _live__match__.AnchorMatchSettings]=<factory>, battle_feature_flags: _live__match__.BattleFeatureFlags | None = <factory>)
Bases:
BaseEvent,WebcastLinkMicBattleLinkMicBattleEvent.
- ab_test_setting: List[BattleAbTestSetting]
- action: LinkMicBattleBattleAction
- action_by_user_id: int
- anchor_match_settings: Dict[int, AnchorMatchSettings]
- anchors_info: List[BattleUserInfoWrapper]
- armies: List[UserArmiesWrapper]
- battle_combo_v2: Dict[int, BattleComboInfo]
- battle_feature_flags: BattleFeatureFlags | None
- battle_id: int
- battle_result: Dict[int, BattleResult]
- battle_settings: BattleSetting | None
- bubble_text: str
- common: CommonMessageData | None
- enigma_battle_setting: EnigmaBattleSetting | None
- fuzzy_display_config: BattleDisplayConfig | None
- fuzzy_display_config_v2: HighScoreControlCfg | None
- invitee_gift_permission_type: GiftPermissionType
- invitees_gift_permission_type: List[BattleInviteeGiftPermission]
- league_info_map: Dict[int, GiftGalleryBadgeInfo]
- league_score_info_map: Dict[int, LeagueScoreInfo]
- match_punish_extra_info: MatchPunishExtraInfo | None
- supported_actions: List[SupportedActionsWrapper]
- team_armies: List[BattleTeamUserArmies]
- team_battle_result: List[BattleTeamResult]
- team_match_campaign: TeamMatchCampaign | None
- team_member: List[TeamUsersInfo]
- class TikTokLive.events.proto_events.LinkMicBattlePunishFinishEvent(common: __shared__message__.CommonMessageData | None = <factory>, channel_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, op_uid: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, reason: __im__.LinkMicBattlePunishFinishReason = <factory>, battle_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, battle_settings: battle.BattleSetting | None = <factory>, match_punish_extra_info: _live__match__.MatchPunishExtraInfo | None = <factory>)
Bases:
BaseEvent,WebcastLinkMicBattlePunishFinishLinkMicBattlePunishFinishEvent.
- battle_id: int
- battle_settings: BattleSetting | None
- channel_id: int
- common: CommonMessageData | None
- match_punish_extra_info: MatchPunishExtraInfo | None
- op_uid: int
- reason: LinkMicBattlePunishFinishReason
- class TikTokLive.events.proto_events.LinkMicFanTicketMethodEvent(common: __shared__message__.CommonMessageData | None = <factory>, fan_ticket_room_notice: FanTicketRoomNoticeContent | None = <factory>)
Bases:
BaseEvent,WebcastLinkMicFanTicketMethodLinkMicFanTicketMethodEvent.
- common: CommonMessageData | None
- fan_ticket_room_notice: FanTicketRoomNoticeContent | None
- class TikTokLive.events.proto_events.LinkMicLayoutStateEvent(common: _shared__message__.CommonMessageData | None = <factory>, channel_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, version: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, biz_layout_state: BizLayoutState | None = <factory>, biz_spot_list: list[BizSpotInfo] = <factory>)
Bases:
BaseEvent,WebcastLinkMicLayoutStateMessageLinkMicLayoutStateEvent.
- biz_layout_state: BizLayoutState | None
- biz_spot_list: List[BizSpotInfo]
- channel_id: int
- common: CommonMessageData | None
- scene: int
- version: int
- class TikTokLive.events.proto_events.LinkMicMethodEvent(common: __shared__message__.CommonMessageData | None = <factory>, message_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, access_key: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, anchor_linkmic_id: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, fan_ticket: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, total_linkmic_fan_ticket: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, channel_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, layout: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, vendor: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, dimension: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, theme: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, invite_uid: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, answer: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, start_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, duration: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, user_scores: list[bytes] = <factory>, match_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, win: bool = <factory>, prompts: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, to_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, linkmic_layout: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, from_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, tips: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, start_time_ms: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, confluence_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, from_room_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, invite_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, sub_type: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, inviter_rival_extra: __chatroom__interact__model__.RivalExtraInfo | None = <factory>, rtc_ext_info: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, rtc_app_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, app_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, app_sign: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, rtc_app_sign: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, anchor_linkmic_id_str: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, rival_anchor_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, rival_linkmic_id: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, rival_linkmic_id_str: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, show_popup: bool = <factory>, sec_invite_uid: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, sec_apply_uid: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, linked_users: list[_base__user__.User] = <factory>, sec_from_user_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, reply_type: _data__.LinkmicReplyType = <factory>, reply_prompts: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, sec_to_user_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, invitor_info: bytes = <factory>, rtc_join_channel: bool = <factory>, fan_ticket_icon_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>)
Bases:
BaseEvent,WebcastLinkMicMethodLinkMicMethodEvent.
- access_key: str
- anchor_linkmic_id: int
- anchor_linkmic_id_str: str
- answer: int
- app_id: str
- app_sign: str
- channel_id: int
- common: CommonMessageData | None
- confluence_type: int
- dimension: int
- duration: int
- fan_ticket: int
- fan_ticket_icon_type: int
- from_room_id: int
- from_user_id: int
- invite_type: int
- invite_uid: int
- inviter_rival_extra: RivalExtraInfo | None
- layout: int
- linked_users: List[User]
- linkmic_layout: int
- match_type: int
- message_type: int
- prompts: str
- reply_prompts: str
- reply_type: LinkmicReplyType
- rival_anchor_id: int
- rival_linkmic_id: int
- rival_linkmic_id_str: str
- rtc_app_id: str
- rtc_app_sign: str
- rtc_ext_info: str
- rtc_join_channel: bool
- scene: int
- sec_apply_uid: int
- sec_from_user_id: str
- sec_invite_uid: int
- sec_to_user_id: str
- show_popup: bool
- start_time: int
- start_time_ms: int
- sub_type: int
- theme: str
- tips: str
- to_user_id: int
- total_linkmic_fan_ticket: int
- user_id: int
- vendor: int
- win: bool
- class TikTokLive.events.proto_events.LinkStateEvent(common: _shared__message__.CommonMessageData | None = <factory>, channel_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: _linkmic__common__.Scene = <factory>, version: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, need_ack: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, layout: _linkmic__common__.LayoutState | None = <factory>, user_states: list[_linkmic__common__.LinkUserState] = <factory>, client_send_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, state_type: _linkmic__common__.StateType = <factory>, background: _linkmic__common__.BackGroundImageState | None = <factory>, wallpaper_url: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, ui_pos: list[_linkmic__common__.PosIdentity] = <factory>, spot_list: list[_linkmic__common__.SpotInfo] = <factory>, audio_muted_remote_channels: list[typing.Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)]] = <factory>, linker_mode: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>)
Bases:
BaseEvent,WebcastLinkStateMessageLinkStateEvent.
- audio_muted_remote_channels: List[int]
- background: BackGroundImageState | None
- channel_id: int
- client_send_time: int
- common: CommonMessageData | None
- layout: LayoutState | None
- linker_mode: int
- need_ack: int
- scene: Scene
- spot_list: List[SpotInfo]
- state_type: StateType
- ui_pos: List[PosIdentity]
- user_states: List[LinkUserState]
- version: int
- wallpaper_url: str
- class TikTokLive.events.proto_events.LinkmicBattleTaskEvent(common: __shared__message__.CommonMessageData | None = <factory>, task_message_type: __im__.BattleTaskMessageType = <factory>, start: battle.BattleTaskStart | None = <factory>, task_update: battle.BattleTaskUpdate | None = <factory>, task_settle: battle.BattleTaskSettle | None = <factory>, reward: battle.BattleRewardSettle | None = <factory>, battle_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>)
Bases:
BaseEvent,WebcastLinkmicBattleTaskMessageLinkmicBattleTaskEvent.
- battle_id: int
- common: CommonMessageData | None
- reward: BattleRewardSettle | None
- start: BattleTaskStart | None
- task_message_type: BattleTaskMessageType
- task_settle: BattleTaskSettle | None
- task_update: BattleTaskUpdate | None
- class TikTokLive.events.proto_events.LiveGameIntroEvent(common: __shared__message__.CommonMessageData | None = <factory>, content: common.Text | None = <factory>, has_rank_info: bool = <factory>)
Bases:
BaseEvent,WebcastLiveGameIntroMessageLiveGameIntroEvent.
- common: CommonMessageData | None
- content: Text | None
- has_rank_info: bool
- class TikTokLive.events.proto_events.LiveIntroEvent(common: __shared__message__.CommonMessageData | None = <factory>, id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, audit_status: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, content: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, user: _base__user__.User | None = <factory>, intro_mode: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, badges: list[_base__user__.BadgeStruct] = <factory>, content_language: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastLiveIntroMessageLiveIntroEvent.
- audit_status: int
- badges: List[BadgeStruct]
- common: CommonMessageData | None
- content: str
- content_language: str
- id: int
- intro_mode: int
- user: ExtendedUser | None
- class TikTokLive.events.proto_events.MarqueeAnnouncementEvent(common: __shared__message__.CommonMessageData | None = <factory>, message_scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, message_entity: list[MessageEntity] = <factory>)
Bases:
BaseEvent,WebcastMarqueeAnnouncementMessageMarqueeAnnouncementEvent.
- common: CommonMessageData | None
- message_entity: List[MessageEntity]
- message_scene: str
- class TikTokLive.events.proto_events.MessageDetectEvent(common: __shared__message__.CommonMessageData | None = <factory>, d_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, t_condition: TriggerCondition | None = <factory>, t_info: TimeInfo | None = <factory>, trigger_by: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, from_region: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastMsgDetectMessageMessageDetectEvent.
- common: CommonMessageData | None
- d_type: int
- from_region: str
- t_condition: TriggerCondition | None
- t_info: TimeInfo | None
- trigger_by: int
- class TikTokLive.events.proto_events.NoticeEvent(common: __shared__message__.CommonMessageData | None = <factory>, content: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, notice_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, style: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, title: common.Text | None = <factory>, violation_reason: common.Text | None = <factory>, display_text: common.Text | None = <factory>, tips_title: common.Text | None = <factory>, tips_url: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, notice_title: common.Text | None = <factory>, notice_content: common.Text | None = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastNoticeMessageNoticeEvent.
- common: CommonMessageData | None
- content: str
- display_text: Text | None
- notice_content: Text | None
- notice_title: Text | None
- notice_type: int
- scene: str
- style: str
- tips_title: Text | None
- tips_url: str
- title: Text | None
- violation_reason: Text | None
- class TikTokLive.events.proto_events.OecLiveShoppingEvent(common: ___shared__message__.CommonMessageData | None = <factory>, action_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, live_product_number: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, pop_product: PopProduct | None = <factory>, trace_info: TraceInfo | None = <factory>, hot_tags: list[HotTag] = <factory>, atmosphere_tag_info: __message__.AtmosphereTagInfo | None = <factory>, live_permission_info: __message__.LivePermissionInfo | None = <factory>, product_snap_shot: __message__.ProductSnapShot | None = <factory>, pin_card_delay_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, flash_sale_atmosphere_info: list[__message__.FlashSaleAtmosphereInfo] = <factory>, card_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, billboard_info: __message__.BillboardInfo | None = <factory>, billboard_display_result: __message__.BillboardDisplayResult | None = <factory>, dispersion_info: list[__message__.DispersionInfo] = <factory>, promotion_info: __message__.PromotionInfo | None = <factory>, campaign_banner_display_result: __message__.CampaignBannerDisplayResult | None = <factory>, campaign_banner_display: __message__.CampaignBannerDisplay | None = <factory>, refresh_live_bag_info: __message__.RefreshLiveBagInfo | None = <factory>, anchor_pin_card_reset_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, voucher: __message__.Voucher | None = <factory>, oec_live_shopping_message_v2: __data__oec_msg__.OecLiveShoppingMessageV2 | None = <factory>)
Bases:
BaseEvent,WebcastOecLiveShoppingMessageOecLiveShoppingEvent.
- action_type: int
- anchor_pin_card_reset_type: int
- atmosphere_tag_info: AtmosphereTagInfo | None
- billboard_display_result: BillboardDisplayResult | None
- billboard_info: BillboardInfo | None
- campaign_banner_display: CampaignBannerDisplay | None
- campaign_banner_display_result: CampaignBannerDisplayResult | None
- card_type: int
- common: CommonMessageData | None
- dispersion_info: List[DispersionInfo]
- flash_sale_atmosphere_info: List[FlashSaleAtmosphereInfo]
- hot_tags: List[HotTag]
- live_permission_info: LivePermissionInfo | None
- live_product_number: int
- oec_live_shopping_message_v2: OecLiveShoppingMessageV2 | None
- pin_card_delay_time: int
- pop_product: PopProduct | None
- product_snap_shot: ProductSnapShot | None
- promotion_info: PromotionInfo | None
- refresh_live_bag_info: RefreshLiveBagInfo | None
- trace_info: TraceInfo | None
- voucher: Voucher | None
- class TikTokLive.events.proto_events.PartnershipDropsUpdateEvent(common: __shared__message__.CommonMessageData | None = <factory>, change_mode: __im__.PartnershipDropsUpdateMessageChangeMode = <factory>, drops_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, task_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, event_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, anchor_uid: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>)
Bases:
BaseEvent,WebcastPartnershipDropsUpdateMessagePartnershipDropsUpdateEvent.
- anchor_uid: int
- change_mode: PartnershipDropsUpdateMessageChangeMode
- common: CommonMessageData | None
- drops_id: str
- event_id: str
- task_id: str
- class TikTokLive.events.proto_events.PartnershipGameOfflineEvent(common: __shared__message__.CommonMessageData | None = <factory>, offline_game_list: list[OfflineGameInfo] = <factory>)
Bases:
BaseEvent,WebcastPartnershipGameOfflineMessagePartnershipGameOfflineEvent.
- common: CommonMessageData | None
- offline_game_list: List[OfflineGameInfo]
- class TikTokLive.events.proto_events.PartnershipPunishEvent(common: __shared__message__.CommonMessageData | None = <factory>, punish_info: PunishEventInfo | None = <factory>)
Bases:
BaseEvent,WebcastPartnershipPunishMessagePartnershipPunishEvent.
- common: CommonMessageData | None
- punish_info: PunishEventInfo | None
- class TikTokLive.events.proto_events.PerceptionEvent(common: __shared__message__.CommonMessageData | None = <factory>, dialog: PerceptionDialogInfo | None = <factory>, punish_info: PunishEventInfo | None = <factory>, end_time: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, show_violation_warning: bool = <factory>, toast: common.Text | None = <factory>, float_style: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, float_text: common.Text | None = <factory>, sheet: __message__proto__.PerceptionSheetInfo | None = <factory>, float_icon_type: _data__.PerceptionDialogIconType = <factory>)
Bases:
BaseEvent,WebcastPerceptionMessagePerceptionEvent.
- common: CommonMessageData | None
- dialog: PerceptionDialogInfo | None
- end_time: int
- float_icon_type: PerceptionDialogIconType
- float_style: int
- float_text: Text | None
- punish_info: PunishEventInfo | None
- sheet: PerceptionSheetInfo | None
- show_violation_warning: bool
- toast: Text | None
- class TikTokLive.events.proto_events.PollEvent(common: __shared__message__.CommonMessageData | None = <factory>, message_type: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, poll_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, start_content: PollStartContent | None = <factory>, end_content: PollEndContent | None = <factory>, update_votes_content: PollUpdateVotesContent | None = <factory>, poll_kind: _data__.PollKind = <factory>, poll_basic_info: PollBasicInfo | None = <factory>, template_content: TemplateContent | None = <factory>)
Bases:
BaseEvent,WebcastPollMessagePollEvent.
- common: CommonMessageData | None
- end_content: PollEndContent | None
- message_type: int
- poll_basic_info: PollBasicInfo | None
- poll_id: int
- poll_kind: PollKind
- start_content: PollStartContent | None
- template_content: TemplateContent | None
- update_votes_content: PollUpdateVotesContent | None
- class TikTokLive.events.proto_events.QuestionNewEvent(common: __shared__message__.CommonMessageData | None = <factory>, data: Question | None = <factory>)
Bases:
BaseEvent,WebcastQuestionNewMessageQuestionNewEvent.
- common: CommonMessageData | None
- data: Question | None
- class TikTokLive.events.proto_events.RankTextEvent(common: __shared__message__.CommonMessageData | None = <factory>, scene: __im__.RankTextMessageRankTestMessageScene = <factory>, owner_idx_before_update: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, owner_idx_after_update: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, self_get_badge_msg: common.Text | None = <factory>, other_get_badge_msg: common.Text | None = <factory>, cur_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, left_icon: _base__.ImageModel | None = <factory>, content: common.Text | None = <factory>, rank_type: _data__.ProfitRankType = <factory>, user_enigma_info: __message__proto__.RankUserEnigmaInfo | None = <factory>)
Bases:
BaseEvent,WebcastRankTextMessageRankTextEvent.
- common: CommonMessageData | None
- content: Text | None
- cur_user_id: int
- left_icon: ImageModel | None
- other_get_badge_msg: Text | None
- owner_idx_after_update: int
- owner_idx_before_update: int
- rank_type: ProfitRankType
- scene: RankTextMessageRankTestMessageScene
- self_get_badge_msg: Text | None
- user_enigma_info: RankUserEnigmaInfo | None
- class TikTokLive.events.proto_events.RankUpdateEvent(common: __shared__message__.CommonMessageData | None = <factory>, updates: list[RankUpdate] = <factory>, group_type: _data__.EntranceGroupType = <factory>, op_type: __im__.OpType = <factory>, rank_priority: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, tabs: list[_rank__.RankTabInfo] = <factory>, is_animation_loop_play: bool = <factory>, animation_loop_for_off: bool = <factory>, union_animation: list[UnionAnimationInfo] = <factory>, tab_info: list[RankListTabInfo] = <factory>, valid_ranks: ValidRanks | None = <factory>)
Bases:
BaseEvent,WebcastRankUpdateMessageRankUpdateEvent.
- animation_loop_for_off: bool
- common: CommonMessageData | None
- group_type: EntranceGroupType
- is_animation_loop_play: bool
- op_type: OpType
- rank_priority: int
- tab_info: List[RankListTabInfo]
- tabs: List[RankTabInfo]
- union_animation: List[UnionAnimationInfo]
- updates: List[RankUpdate]
- valid_ranks: ValidRanks | None
- class TikTokLive.events.proto_events.RoomEvent(common: __shared__message__.CommonMessageData | None = <factory>, content: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, supprot_landscape: bool = <factory>, source: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, icon: _base__.ImageModel | None = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, is_welcome: bool = <factory>, public_area_common: PublicAreaMessageCommon | None = <factory>, show_duration_ms: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, sub_scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, schema: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, signature: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, signature_version: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastRoomMessageRoomEvent.
- common: CommonMessageData | None
- content: str
- icon: ImageModel | None
- is_welcome: bool
- public_area_common: PublicAreaMessageCommon | None
- scene: str
- schema: str
- show_duration_ms: int
- signature: str
- signature_version: str
- source: int
- sub_scene: str
- supprot_landscape: bool
- class TikTokLive.events.proto_events.RoomNotifyEvent(common: __shared__message__.CommonMessageData | None = <factory>, schema: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, notify_type: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, content: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, user: _base__user__.User | None = <factory>, extra: RoomNotifyMessageExtra | None = <factory>, notify_class: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, flex_setting: list[typing.Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)]] = <factory>, source: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, from_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, privilege_log_extra: _base__user__.PrivilegeLogExtra | None = <factory>, to_anchor_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, event_tracking: RoomNotifyMessageEventTracking | None = <factory>)
Bases:
BaseEvent,WebcastRoomNotifyMessageRoomNotifyEvent.
- common: CommonMessageData | None
- content: str
- event_tracking: RoomNotifyMessageEventTracking | None
- extra: RoomNotifyMessageExtra | None
- flex_setting: List[int]
- from_user_id: int
- notify_class: int
- notify_type: int
- privilege_log_extra: PrivilegeLogExtra | None
- schema: str
- source: str
- to_anchor_id: int
- user: ExtendedUser | None
- class TikTokLive.events.proto_events.RoomPinEvent(common: __shared__message__.CommonMessageData | None = <factory>, chat_message: WebcastChatMessage | None = <factory>, social_message: WebcastSocialMessage | None = <factory>, gift_message: WebcastGiftMessage | None = <factory>, member_message: WebcastMemberMessage | None = <factory>, like_message: WebcastLikeMessage | None = <factory>, method: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, pin_time: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, operator: _base__user__.User | None = <factory>, action: __im__.PinMessageActionType = <factory>, display_duration: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, pin_msg_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, ec_streamer_key: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastRoomPinMessageRoomPinEvent.
- action: PinMessageActionType
- chat_message: WebcastChatMessage | None
- common: CommonMessageData | None
- display_duration: int
- ec_streamer_key: str
- gift_message: WebcastGiftMessage | None
- like_message: WebcastLikeMessage | None
- member_message: WebcastMemberMessage | None
- method: str
- operator: ExtendedUser | None
- pin_msg_id: int
- pin_time: int
- social_message: WebcastSocialMessage | None
- class TikTokLive.events.proto_events.RoomUserSeqEvent(common: __shared__message__.CommonMessageData | None = <factory>, ranks: list[Contributor] = <factory>, total: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, pop_str: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, seats: list[Contributor] = <factory>, popularity: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, total_user: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, anonymous: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>)
Bases:
BaseEvent,WebcastRoomUserSeqMessageRoomUserSeqEvent.
- anonymous: int
- common: CommonMessageData | None
- pop_str: str
- popularity: int
- ranks: List[Contributor]
- seats: List[Contributor]
- total: int
- total_user: int
- class TikTokLive.events.proto_events.RoomVerifyEvent(common: __shared__message__.CommonMessageData | None = <factory>, action: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, content: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, notice_type: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, close_room: bool = <factory>)
Bases:
BaseEvent,WebcastRoomVerifyMessageRoomVerifyEvent.
- action: int
- close_room: bool
- common: CommonMessageData | None
- content: str
- notice_type: int
- class TikTokLive.events.proto_events.SocialEvent(*args: Any, common: CommonMessageData | None = <factory>, user: User | None = <factory>, share_type: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, action: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, share_target: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, follow_count: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, share_display_style: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, share_count: Annotated[int, ~annotated_types.Ge(ge=-2147483648), ~annotated_types.Le(le=2147483647)] = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, signature: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, signature_version: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>, show_duration_ms: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, follow_type: Annotated[int, ~annotated_types.Ge(ge=-2147483648), ~annotated_types.Le(le=2147483647)] = <factory>, target_user_id: Annotated[int, ~annotated_types.Ge(ge=-9223372036854775808), ~annotated_types.Le(le=9223372036854775807)] = <factory>, scene: Annotated[str, ~pydantic.functional_validators.AfterValidator(func=~betterproto2.validators.proto_types.validate_string)] = <factory>)
Bases:
BaseEvent,WebcastSocialMessageSocialEvent.
- action: int
- common: CommonMessageData | None
- follow_count: int
- follow_type: int
- public_area_message_common: PublicAreaMessageCommon | None
- scene: str
- show_duration_ms: int
- signature: str
- signature_version: str
- target_user_id: int
- user: ExtendedUser | None
- class TikTokLive.events.proto_events.SpeakerEvent(common: __shared__message__.CommonMessageData | None = <factory>)
Bases:
BaseEvent,WebcastSpeakerMessageSpeakerEvent.
- common: CommonMessageData | None
- class TikTokLive.events.proto_events.SubNotifyEvent(common: __shared__message__.CommonMessageData | None = <factory>, user: _base__user__.User | None = <factory>, exhibition_type: __im__.ExhibitionType = <factory>, sub_month: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, subscribe_type: __im__.SubscribeType = <factory>, old_subscribe_status: __im__.OldSubscribeStatus = <factory>, message_type: __im__.MessageType = <factory>, subscribing_status: __im__.SubscribingStatus = <factory>, is_send: bool = <factory>, is_custom: bool = <factory>, gift_source: __im__.GiftSource = <factory>, message_display_style: __im__.MessageDisplayStyle = <factory>, public_area_message_common: PublicAreaMessageCommon | None = <factory>, package_id: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, event_tracking: RoomNotifyMessageEventTracking | None = <factory>)
Bases:
BaseEvent,WebcastSubNotifyMessageSubNotifyEvent.
- common: CommonMessageData | None
- event_tracking: RoomNotifyMessageEventTracking | None
- exhibition_type: ExhibitionType
- gift_source: GiftSource
- is_custom: bool
- is_send: bool
- message_display_style: MessageDisplayStyle
- message_type: MessageType
- old_subscribe_status: OldSubscribeStatus
- package_id: str
- public_area_message_common: PublicAreaMessageCommon | None
- sub_month: int
- subscribe_type: SubscribeType
- subscribing_status: SubscribingStatus
- user: ExtendedUser | None
- class TikTokLive.events.proto_events.SubPinEventEvent(common: __shared__message__.CommonMessageData | None = <factory>, action_type: __im__.SubPinEventMessageActionType = <factory>, card: __chatroom__api__.SubPinCard | None = <factory>, operator_user_id: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>)
Bases:
BaseEvent,WebcastSubPinEventMessageSubPinEventEvent.
- action_type: SubPinEventMessageActionType
- card: SubPinCard | None
- common: CommonMessageData | None
- operator_user_id: int
- class TikTokLive.events.proto_events.SystemEvent(common: _shared__message__.CommonMessageData | None = <factory>, message: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastSystemMessageSystemEvent.
- common: CommonMessageData | None
- message: str
- class TikTokLive.events.proto_events.ToastEvent(common: __shared__message__.CommonMessageData | None = <factory>, display_duration_millisecond: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, delay_display_duration_millisecond: Annotated[int, pydantic.Field(ge=-2**63, le=2**63 - 1)] = <factory>, scene: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>)
Bases:
BaseEvent,WebcastToastMessageToastEvent.
- common: CommonMessageData | None
- delay_display_duration_millisecond: int
- display_duration_millisecond: int
- scene: str
- class TikTokLive.events.proto_events.UnauthorizedMemberEvent(common: __shared__message__.CommonMessageData | None = <factory>, action: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, nick_name_prefix: common.Text | None = <factory>, nick_name: Annotated[str, pydantic.AfterValidator(betterproto2.validators.validate_string)]=<factory>, enter_text: common.Text | None = <factory>, public_area_common: PublicAreaMessageCommon | None = <factory>)
Bases:
BaseEvent,WebcastUnauthorizedMemberMessageUnauthorizedMemberEvent.
- action: int
- common: CommonMessageData | None
- enter_text: Text | None
- nick_name: str
- nick_name_prefix: Text | None
- public_area_common: PublicAreaMessageCommon | None
- class TikTokLive.events.proto_events.ViewerPicksUpdateEvent(common: __shared__message__.CommonMessageData | None = <factory>, update_type: Annotated[int, pydantic.Field(ge=-2**31, le=2**31 - 1)] = <factory>, info: _viewer_picks__.ViewerPicksInfo | None = <factory>)
Bases:
BaseEvent,WebcastViewerPicksUpdateMessageViewerPicksUpdateEvent.
- common: CommonMessageData | None
- info: ViewerPicksInfo | None
- update_type: int