block_user_name/douyin.py

845 lines
32 KiB
Python
Raw Normal View History

2025-05-10 18:32:17 +08:00
# Generated by the protocol buffer compiler. DO NOT EDIT!
# -*- coding: gbk -*-
# sources: douyin.proto
# plugin: python-betterproto
from dataclasses import dataclass
from typing import Dict, List
import betterproto
class CommentTypeTag(betterproto.Enum):
COMMENTTYPETAGUNKNOWN = 0
COMMENTTYPETAGSTAR = 1
class RoomMsgTypeEnum(betterproto.Enum):
"""
from https://github.com/scx567888/live-room-watcher/blob/master/src/main/pr
oto/douyin_hack/webcast/im/RoomMsgTypeEnum.proto
"""
DEFAULTROOMMSG = 0
ECOMLIVEREPLAYSAVEROOMMSG = 1
CONSUMERRELATIONROOMMSG = 2
JUMANJIDATAAUTHNOTIFYMSG = 3
VSWELCOMEMSG = 4
MINORREFUNDMSG = 5
PAIDLIVEROOMNOTIFYANCHORMSG = 6
HOSTTEAMSYSTEMMSG = 7
@dataclass
class Response(betterproto.Message):
messages_list: List["Message"] = betterproto.message_field(1)
cursor: str = betterproto.string_field(2)
fetch_interval: int = betterproto.uint64_field(3)
now: int = betterproto.uint64_field(4)
internal_ext: str = betterproto.string_field(5)
fetch_type: int = betterproto.uint32_field(6)
route_params: Dict[str, str] = betterproto.map_field(
7, betterproto.TYPE_STRING, betterproto.TYPE_STRING
)
heartbeat_duration: int = betterproto.uint64_field(8)
need_ack: bool = betterproto.bool_field(9)
push_server: str = betterproto.string_field(10)
live_cursor: str = betterproto.string_field(11)
history_no_more: bool = betterproto.bool_field(12)
@dataclass
class Message(betterproto.Message):
method: str = betterproto.string_field(1)
payload: bytes = betterproto.bytes_field(2)
msg_id: int = betterproto.int64_field(3)
msg_type: int = betterproto.int32_field(4)
offset: int = betterproto.int64_field(5)
need_wrds_store: bool = betterproto.bool_field(6)
wrds_version: int = betterproto.int64_field(7)
wrds_sub_key: str = betterproto.string_field(8)
@dataclass
class EmojiChatMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
user: "User" = betterproto.message_field(2)
emoji_id: int = betterproto.int64_field(3)
emoji_content: "Text" = betterproto.message_field(4)
default_content: str = betterproto.string_field(5)
background_image: "Image" = betterproto.message_field(6)
from_intercom: bool = betterproto.bool_field(7)
intercom_hide_user_card: bool = betterproto.bool_field(8)
@dataclass
class ChatMessage(betterproto.Message):
"""<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"""
common: "Common" = betterproto.message_field(1)
user: "User" = betterproto.message_field(2)
content: str = betterproto.string_field(3)
visible_to_sender: bool = betterproto.bool_field(4)
background_image: "Image" = betterproto.message_field(5)
full_screen_text_color: str = betterproto.string_field(6)
background_image_v2: "Image" = betterproto.message_field(7)
public_area_common: "PublicAreaCommon" = betterproto.message_field(9)
gift_image: "Image" = betterproto.message_field(10)
agree_msg_id: int = betterproto.uint64_field(11)
priority_level: int = betterproto.uint32_field(12)
landscape_area_common: "LandscapeAreaCommon" = betterproto.message_field(13)
event_time: int = betterproto.uint64_field(15)
send_review: bool = betterproto.bool_field(16)
from_intercom: bool = betterproto.bool_field(17)
intercom_hide_user_card: bool = betterproto.bool_field(18)
# repeated chatTagsList = 19;
chat_by: str = betterproto.string_field(20)
individual_chat_priority: int = betterproto.uint32_field(21)
rtf_content: "Text" = betterproto.message_field(22)
@dataclass
class LandscapeAreaCommon(betterproto.Message):
show_head: bool = betterproto.bool_field(1)
show_nickname: bool = betterproto.bool_field(2)
show_font_color: bool = betterproto.bool_field(3)
color_value_list: List[str] = betterproto.string_field(4)
comment_type_tags_list: List["CommentTypeTag"] = betterproto.enum_field(5)
@dataclass
class RoomUserSeqMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
ranks_list: List["RoomUserSeqMessageContributor"] = betterproto.message_field(2)
total: int = betterproto.int64_field(3)
pop_str: str = betterproto.string_field(4)
seats_list: List["RoomUserSeqMessageContributor"] = betterproto.message_field(5)
popularity: int = betterproto.int64_field(6)
total_user: int = betterproto.int64_field(7)
total_user_str: str = betterproto.string_field(8)
total_str: str = betterproto.string_field(9)
online_user_for_anchor: str = betterproto.string_field(10)
total_pv_for_anchor: str = betterproto.string_field(11)
up_right_stats_str: str = betterproto.string_field(12)
up_right_stats_str_complete: str = betterproto.string_field(13)
@dataclass
class CommonTextMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
user: "User" = betterproto.message_field(2)
scene: str = betterproto.string_field(3)
@dataclass
class UpdateFanTicketMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
room_fan_ticket_count_text: str = betterproto.string_field(2)
room_fan_ticket_count: int = betterproto.uint64_field(3)
force_update: bool = betterproto.bool_field(4)
@dataclass
class RoomUserSeqMessageContributor(betterproto.Message):
score: int = betterproto.uint64_field(1)
user: "User" = betterproto.message_field(2)
rank: int = betterproto.uint64_field(3)
delta: int = betterproto.uint64_field(4)
is_hidden: bool = betterproto.bool_field(5)
score_description: str = betterproto.string_field(6)
exactly_score: str = betterproto.string_field(7)
@dataclass
class GiftMessage(betterproto.Message):
"""<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ"""
common: "Common" = betterproto.message_field(1)
gift_id: int = betterproto.uint64_field(2)
fan_ticket_count: int = betterproto.uint64_field(3)
group_count: int = betterproto.uint64_field(4)
repeat_count: int = betterproto.uint64_field(5)
combo_count: int = betterproto.uint64_field(6)
user: "User" = betterproto.message_field(7)
to_user: "User" = betterproto.message_field(8)
repeat_end: int = betterproto.uint32_field(9)
text_effect: "TextEffect" = betterproto.message_field(10)
group_id: int = betterproto.uint64_field(11)
income_taskgifts: int = betterproto.uint64_field(12)
room_fan_ticket_count: int = betterproto.uint64_field(13)
priority: "GiftIMPriority" = betterproto.message_field(14)
gift: "GiftStruct" = betterproto.message_field(15)
log_id: str = betterproto.string_field(16)
send_type: int = betterproto.uint64_field(17)
public_area_common: "PublicAreaCommon" = betterproto.message_field(18)
tray_display_text: "Text" = betterproto.message_field(19)
banned_display_effects: int = betterproto.uint64_field(20)
# GiftTrayInfo trayInfo = 21; AssetEffectMixInfo assetEffectMixInfo = 22;
display_for_self: bool = betterproto.bool_field(25)
interact_gift_info: str = betterproto.string_field(26)
diy_item_info: str = betterproto.string_field(27)
min_asset_set_list: List[int] = betterproto.uint64_field(28)
total_count: int = betterproto.uint64_field(29)
client_gift_source: int = betterproto.uint32_field(30)
# AnchorGiftData anchorGift = 31;
to_user_ids_list: List[int] = betterproto.uint64_field(32)
send_time: int = betterproto.uint64_field(33)
force_display_effects: int = betterproto.uint64_field(34)
trace_id: str = betterproto.string_field(35)
effect_display_ts: int = betterproto.uint64_field(36)
@dataclass
class GiftStruct(betterproto.Message):
image: "Image" = betterproto.message_field(1)
describe: str = betterproto.string_field(2)
notify: bool = betterproto.bool_field(3)
duration: int = betterproto.uint64_field(4)
id: int = betterproto.uint64_field(5)
# GiftStructFansClubInfo fansclubInfo = 6;
for_linkmic: bool = betterproto.bool_field(7)
doodle: bool = betterproto.bool_field(8)
for_fansclub: bool = betterproto.bool_field(9)
combo: bool = betterproto.bool_field(10)
type: int = betterproto.uint32_field(11)
diamond_count: int = betterproto.uint32_field(12)
is_displayed_on_panel: bool = betterproto.bool_field(13)
primary_effect_id: int = betterproto.uint64_field(14)
gift_label_icon: "Image" = betterproto.message_field(15)
name: str = betterproto.string_field(16)
region: str = betterproto.string_field(17)
manual: str = betterproto.string_field(18)
for_custom: bool = betterproto.bool_field(19)
# specialEffectsMap = 20;
icon: "Image" = betterproto.message_field(21)
action_type: int = betterproto.uint32_field(22)
@dataclass
class GiftIMPriority(betterproto.Message):
queue_sizes_list: List[int] = betterproto.uint64_field(1)
self_queue_priority: int = betterproto.uint64_field(2)
priority: int = betterproto.uint64_field(3)
@dataclass
class TextEffect(betterproto.Message):
portrait: "TextEffectDetail" = betterproto.message_field(1)
landscape: "TextEffectDetail" = betterproto.message_field(2)
@dataclass
class TextEffectDetail(betterproto.Message):
text: "Text" = betterproto.message_field(1)
text_font_size: int = betterproto.uint32_field(2)
background: "Image" = betterproto.message_field(3)
start: int = betterproto.uint32_field(4)
duration: int = betterproto.uint32_field(5)
x: int = betterproto.uint32_field(6)
y: int = betterproto.uint32_field(7)
width: int = betterproto.uint32_field(8)
height: int = betterproto.uint32_field(9)
shadow_dx: int = betterproto.uint32_field(10)
shadow_dy: int = betterproto.uint32_field(11)
shadow_radius: int = betterproto.uint32_field(12)
shadow_color: str = betterproto.string_field(13)
stroke_color: str = betterproto.string_field(14)
stroke_width: int = betterproto.uint32_field(15)
@dataclass
class MemberMessage(betterproto.Message):
"""<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>Ϣ"""
common: "Common" = betterproto.message_field(1)
user: "User" = betterproto.message_field(2)
member_count: int = betterproto.uint64_field(3)
operator: "User" = betterproto.message_field(4)
is_set_to_admin: bool = betterproto.bool_field(5)
is_top_user: bool = betterproto.bool_field(6)
rank_score: int = betterproto.uint64_field(7)
top_user_no: int = betterproto.uint64_field(8)
enter_type: int = betterproto.uint64_field(9)
action: int = betterproto.uint64_field(10)
action_description: str = betterproto.string_field(11)
user_id: int = betterproto.uint64_field(12)
effect_config: "EffectConfig" = betterproto.message_field(13)
pop_str: str = betterproto.string_field(14)
enter_effect_config: "EffectConfig" = betterproto.message_field(15)
background_image: "Image" = betterproto.message_field(16)
background_image_v2: "Image" = betterproto.message_field(17)
anchor_display_text: "Text" = betterproto.message_field(18)
public_area_common: "PublicAreaCommon" = betterproto.message_field(19)
user_enter_tip_type: int = betterproto.uint64_field(20)
anchor_enter_tip_type: int = betterproto.uint64_field(21)
@dataclass
class PublicAreaCommon(betterproto.Message):
user_label: "Image" = betterproto.message_field(1)
user_consume_in_room: int = betterproto.uint64_field(2)
user_send_gift_cnt_in_room: int = betterproto.uint64_field(3)
@dataclass
class EffectConfig(betterproto.Message):
type: int = betterproto.uint64_field(1)
icon: "Image" = betterproto.message_field(2)
avatar_pos: int = betterproto.uint64_field(3)
text: "Text" = betterproto.message_field(4)
text_icon: "Image" = betterproto.message_field(5)
stay_time: int = betterproto.uint32_field(6)
anim_asset_id: int = betterproto.uint64_field(7)
badge: "Image" = betterproto.message_field(8)
flex_setting_array_list: List[int] = betterproto.uint64_field(9)
text_icon_overlay: "Image" = betterproto.message_field(10)
animated_badge: "Image" = betterproto.message_field(11)
has_sweep_light: bool = betterproto.bool_field(12)
text_flex_setting_array_list: List[int] = betterproto.uint64_field(13)
center_anim_asset_id: int = betterproto.uint64_field(14)
dynamic_image: "Image" = betterproto.message_field(15)
extra_map: Dict[str, str] = betterproto.map_field(
16, betterproto.TYPE_STRING, betterproto.TYPE_STRING
)
mp4_anim_asset_id: int = betterproto.uint64_field(17)
priority: int = betterproto.uint64_field(18)
max_wait_time: int = betterproto.uint64_field(19)
dress_id: str = betterproto.string_field(20)
alignment: int = betterproto.uint64_field(21)
alignment_offset: int = betterproto.uint64_field(22)
@dataclass
class Text(betterproto.Message):
key: str = betterproto.string_field(1)
default_patter: str = betterproto.string_field(2)
default_format: "TextFormat" = betterproto.message_field(3)
pieces_list: List["TextPiece"] = betterproto.message_field(4)
@dataclass
class TextPiece(betterproto.Message):
type: bool = betterproto.bool_field(1)
format: "TextFormat" = betterproto.message_field(2)
string_value: str = betterproto.string_field(3)
user_value: "TextPieceUser" = betterproto.message_field(4)
gift_value: "TextPieceGift" = betterproto.message_field(5)
heart_value: "TextPieceHeart" = betterproto.message_field(6)
pattern_ref_value: "TextPiecePatternRef" = betterproto.message_field(7)
image_value: "TextPieceImage" = betterproto.message_field(8)
@dataclass
class TextPieceImage(betterproto.Message):
image: "Image" = betterproto.message_field(1)
scaling_rate: float = betterproto.float_field(2)
@dataclass
class TextPiecePatternRef(betterproto.Message):
key: str = betterproto.string_field(1)
default_pattern: str = betterproto.string_field(2)
@dataclass
class TextPieceHeart(betterproto.Message):
color: str = betterproto.string_field(1)
@dataclass
class TextPieceGift(betterproto.Message):
gift_id: int = betterproto.uint64_field(1)
name_ref: "PatternRef" = betterproto.message_field(2)
@dataclass
class PatternRef(betterproto.Message):
key: str = betterproto.string_field(1)
default_pattern: str = betterproto.string_field(2)
@dataclass
class TextPieceUser(betterproto.Message):
user: "User" = betterproto.message_field(1)
with_colon: bool = betterproto.bool_field(2)
@dataclass
class TextFormat(betterproto.Message):
color: str = betterproto.string_field(1)
bold: bool = betterproto.bool_field(2)
italic: bool = betterproto.bool_field(3)
weight: int = betterproto.uint32_field(4)
italic_angle: int = betterproto.uint32_field(5)
font_size: int = betterproto.uint32_field(6)
use_heigh_light_color: bool = betterproto.bool_field(7)
use_remote_clor: bool = betterproto.bool_field(8)
@dataclass
class LikeMessage(betterproto.Message):
"""<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"""
common: "Common" = betterproto.message_field(1)
count: int = betterproto.uint64_field(2)
total: int = betterproto.uint64_field(3)
color: int = betterproto.uint64_field(4)
user: "User" = betterproto.message_field(5)
icon: str = betterproto.string_field(6)
double_like_detail: "DoubleLikeDetail" = betterproto.message_field(7)
display_control_info: "DisplayControlInfo" = betterproto.message_field(8)
linkmic_guest_uid: int = betterproto.uint64_field(9)
scene: str = betterproto.string_field(10)
pico_display_info: "PicoDisplayInfo" = betterproto.message_field(11)
@dataclass
class SocialMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
user: "User" = betterproto.message_field(2)
share_type: int = betterproto.uint64_field(3)
action: int = betterproto.uint64_field(4)
share_target: str = betterproto.string_field(5)
follow_count: int = betterproto.uint64_field(6)
public_area_common: "PublicAreaCommon" = betterproto.message_field(7)
@dataclass
class PicoDisplayInfo(betterproto.Message):
combo_sum_count: int = betterproto.uint64_field(1)
emoji: str = betterproto.string_field(2)
emoji_icon: "Image" = betterproto.message_field(3)
emoji_text: str = betterproto.string_field(4)
@dataclass
class DoubleLikeDetail(betterproto.Message):
double_flag: bool = betterproto.bool_field(1)
seq_id: int = betterproto.uint32_field(2)
renewals_num: int = betterproto.uint32_field(3)
triggers_num: int = betterproto.uint32_field(4)
@dataclass
class DisplayControlInfo(betterproto.Message):
show_text: bool = betterproto.bool_field(1)
show_icons: bool = betterproto.bool_field(2)
@dataclass
class EpisodeChatMessage(betterproto.Message):
common: "Message" = betterproto.message_field(1)
user: "User" = betterproto.message_field(2)
content: str = betterproto.string_field(3)
visible_to_sende: bool = betterproto.bool_field(4)
# BackgroundImage backgroundImage = 5; PublicAreaCommon publicAreaCommon =
# 6;
gift_image: "Image" = betterproto.message_field(7)
agree_msg_id: int = betterproto.uint64_field(8)
color_value_list: List[str] = betterproto.string_field(9)
@dataclass
class MatchAgainstScoreMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
against: "Against" = betterproto.message_field(2)
match_status: int = betterproto.uint32_field(3)
display_status: int = betterproto.uint32_field(4)
@dataclass
class Against(betterproto.Message):
left_name: str = betterproto.string_field(1)
left_logo: "Image" = betterproto.message_field(2)
left_goal: str = betterproto.string_field(3)
# LeftPlayersList leftPlayersList = 4; LeftGoalStageDetail
# leftGoalStageDetail = 5;
right_name: str = betterproto.string_field(6)
right_logo: "Image" = betterproto.message_field(7)
right_goal: str = betterproto.string_field(8)
# RightPlayersList rightPlayersList = 9; RightGoalStageDetail
# rightGoalStageDetail = 10;
timestamp: int = betterproto.uint64_field(11)
version: int = betterproto.uint64_field(12)
left_team_id: int = betterproto.uint64_field(13)
right_team_id: int = betterproto.uint64_field(14)
diff_sei2abs_second: int = betterproto.uint64_field(15)
final_goal_stage: int = betterproto.uint32_field(16)
current_goal_stage: int = betterproto.uint32_field(17)
left_score_addition: int = betterproto.uint32_field(18)
right_score_addition: int = betterproto.uint32_field(19)
left_goal_int: int = betterproto.uint64_field(20)
right_goal_int: int = betterproto.uint64_field(21)
@dataclass
class Common(betterproto.Message):
method: str = betterproto.string_field(1)
msg_id: int = betterproto.uint64_field(2)
room_id: int = betterproto.uint64_field(3)
create_time: int = betterproto.uint64_field(4)
monitor: int = betterproto.uint32_field(5)
is_show_msg: bool = betterproto.bool_field(6)
describe: str = betterproto.string_field(7)
# DisplayText displayText = 8;
fold_type: int = betterproto.uint64_field(9)
anchor_fold_type: int = betterproto.uint64_field(10)
priority_score: int = betterproto.uint64_field(11)
log_id: str = betterproto.string_field(12)
msg_process_filter_k: str = betterproto.string_field(13)
msg_process_filter_v: str = betterproto.string_field(14)
user: "User" = betterproto.message_field(15)
# Room room = 16;
anchor_fold_type_v2: int = betterproto.uint64_field(17)
process_at_sei_time_ms: int = betterproto.uint64_field(18)
random_dispatch_ms: int = betterproto.uint64_field(19)
is_dispatch: bool = betterproto.bool_field(20)
channel_id: int = betterproto.uint64_field(21)
diff_sei2abs_second: int = betterproto.uint64_field(22)
anchor_fold_duration: int = betterproto.uint64_field(23)
@dataclass
class User(betterproto.Message):
id: int = betterproto.uint64_field(1)
short_id: int = betterproto.uint64_field(2)
nick_name: str = betterproto.string_field(3)
gender: int = betterproto.uint32_field(4)
signature: str = betterproto.string_field(5)
level: int = betterproto.uint32_field(6)
birthday: int = betterproto.uint64_field(7)
telephone: str = betterproto.string_field(8)
avatar_thumb: "Image" = betterproto.message_field(9)
avatar_medium: "Image" = betterproto.message_field(10)
avatar_large: "Image" = betterproto.message_field(11)
verified: bool = betterproto.bool_field(12)
experience: int = betterproto.uint32_field(13)
city: str = betterproto.string_field(14)
status: int = betterproto.int32_field(15)
create_time: int = betterproto.uint64_field(16)
modify_time: int = betterproto.uint64_field(17)
secret: int = betterproto.uint32_field(18)
share_qrcode_uri: str = betterproto.string_field(19)
income_share_percent: int = betterproto.uint32_field(20)
badge_image_list: List["Image"] = betterproto.message_field(21)
follow_info: "FollowInfo" = betterproto.message_field(22)
pay_grade: "PayGrade" = betterproto.message_field(23)
fans_club: "FansClub" = betterproto.message_field(24)
# Border Border = 25;
special_id: str = betterproto.string_field(26)
avatar_border: "Image" = betterproto.message_field(27)
medal: "Image" = betterproto.message_field(28)
real_time_icons_list: List["Image"] = betterproto.message_field(29)
display_id: str = betterproto.string_field(38)
sec_uid: str = betterproto.string_field(46)
fan_ticket_count: int = betterproto.uint64_field(1022)
id_str: str = betterproto.string_field(1028)
age_range: int = betterproto.uint32_field(1045)
@dataclass
class PayGrade(betterproto.Message):
total_diamond_count: int = betterproto.int64_field(1)
diamond_icon: "Image" = betterproto.message_field(2)
name: str = betterproto.string_field(3)
icon: "Image" = betterproto.message_field(4)
next_name: str = betterproto.string_field(5)
level: int = betterproto.int64_field(6)
next_icon: "Image" = betterproto.message_field(7)
next_diamond: int = betterproto.int64_field(8)
now_diamond: int = betterproto.int64_field(9)
this_grade_min_diamond: int = betterproto.int64_field(10)
this_grade_max_diamond: int = betterproto.int64_field(11)
pay_diamond_bak: int = betterproto.int64_field(12)
grade_describe: str = betterproto.string_field(13)
grade_icon_list: List["GradeIcon"] = betterproto.message_field(14)
screen_chat_type: int = betterproto.int64_field(15)
im_icon: "Image" = betterproto.message_field(16)
im_icon_with_level: "Image" = betterproto.message_field(17)
live_icon: "Image" = betterproto.message_field(18)
new_im_icon_with_level: "Image" = betterproto.message_field(19)
new_live_icon: "Image" = betterproto.message_field(20)
upgrade_need_consume: int = betterproto.int64_field(21)
next_privileges: str = betterproto.string_field(22)
background: "Image" = betterproto.message_field(23)
background_back: "Image" = betterproto.message_field(24)
score: int = betterproto.int64_field(25)
buff_info: "GradeBuffInfo" = betterproto.message_field(26)
grade_banner: str = betterproto.string_field(1001)
profile_dialog_bg: "Image" = betterproto.message_field(1002)
profile_dialog_bg_back: "Image" = betterproto.message_field(1003)
@dataclass
class FansClub(betterproto.Message):
data: "FansClubData" = betterproto.message_field(1)
prefer_data: Dict[int, "FansClubData"] = betterproto.map_field(
2, betterproto.TYPE_INT32, betterproto.TYPE_MESSAGE
)
@dataclass
class FansClubData(betterproto.Message):
club_name: str = betterproto.string_field(1)
level: int = betterproto.int32_field(2)
user_fans_club_status: int = betterproto.int32_field(3)
badge: "UserBadge" = betterproto.message_field(4)
available_gift_ids: List[int] = betterproto.int64_field(5)
anchor_id: int = betterproto.int64_field(6)
@dataclass
class UserBadge(betterproto.Message):
icons: Dict[int, "Image"] = betterproto.map_field(
1, betterproto.TYPE_INT32, betterproto.TYPE_MESSAGE
)
title: str = betterproto.string_field(2)
@dataclass
class GradeBuffInfo(betterproto.Message):
pass
@dataclass
class Border(betterproto.Message):
pass
@dataclass
class GradeIcon(betterproto.Message):
icon: "Image" = betterproto.message_field(1)
icon_diamond: int = betterproto.int64_field(2)
level: int = betterproto.int64_field(3)
level_str: str = betterproto.string_field(4)
@dataclass
class FollowInfo(betterproto.Message):
following_count: int = betterproto.uint64_field(1)
follower_count: int = betterproto.uint64_field(2)
follow_status: int = betterproto.uint64_field(3)
push_status: int = betterproto.uint64_field(4)
remark_name: str = betterproto.string_field(5)
follower_count_str: str = betterproto.string_field(6)
following_count_str: str = betterproto.string_field(7)
@dataclass
class Image(betterproto.Message):
url_list_list: List[str] = betterproto.string_field(1)
uri: str = betterproto.string_field(2)
height: int = betterproto.uint64_field(3)
width: int = betterproto.uint64_field(4)
avg_color: str = betterproto.string_field(5)
image_type: int = betterproto.uint32_field(6)
open_web_url: str = betterproto.string_field(7)
content: "ImageContent" = betterproto.message_field(8)
is_animated: bool = betterproto.bool_field(9)
flex_setting_list: "NinePatchSetting" = betterproto.message_field(10)
text_setting_list: "NinePatchSetting" = betterproto.message_field(11)
@dataclass
class NinePatchSetting(betterproto.Message):
setting_list_list: List[str] = betterproto.string_field(1)
@dataclass
class ImageContent(betterproto.Message):
name: str = betterproto.string_field(1)
font_color: str = betterproto.string_field(2)
level: int = betterproto.uint64_field(3)
alternative_text: str = betterproto.string_field(4)
@dataclass
class PushFrame(betterproto.Message):
seq_id: int = betterproto.uint64_field(1)
log_id: int = betterproto.uint64_field(2)
service: int = betterproto.uint64_field(3)
method: int = betterproto.uint64_field(4)
headers_list: List["HeadersList"] = betterproto.message_field(5)
payload_encoding: str = betterproto.string_field(6)
payload_type: str = betterproto.string_field(7)
payload: bytes = betterproto.bytes_field(8)
@dataclass
class Kk(betterproto.Message):
k: int = betterproto.uint32_field(14)
@dataclass
class SendMessageBody(betterproto.Message):
conversation_id: str = betterproto.string_field(1)
conversation_type: int = betterproto.uint32_field(2)
conversation_short_id: int = betterproto.uint64_field(3)
content: str = betterproto.string_field(4)
ext: List["ExtList"] = betterproto.message_field(5)
message_type: int = betterproto.uint32_field(6)
ticket: str = betterproto.string_field(7)
client_message_id: str = betterproto.string_field(8)
@dataclass
class ExtList(betterproto.Message):
key: str = betterproto.string_field(1)
value: str = betterproto.string_field(2)
@dataclass
class Rsp(betterproto.Message):
a: int = betterproto.int32_field(1)
b: int = betterproto.int32_field(2)
c: int = betterproto.int32_field(3)
d: str = betterproto.string_field(4)
e: int = betterproto.int32_field(5)
f: "RspF" = betterproto.message_field(6)
g: str = betterproto.string_field(7)
h: int = betterproto.uint64_field(10)
i: int = betterproto.uint64_field(11)
j: int = betterproto.uint64_field(13)
@dataclass
class RspF(betterproto.Message):
q1: int = betterproto.uint64_field(1)
q3: int = betterproto.uint64_field(3)
q4: str = betterproto.string_field(4)
q5: int = betterproto.uint64_field(5)
@dataclass
class PreMessage(betterproto.Message):
cmd: int = betterproto.uint32_field(1)
sequence_id: int = betterproto.uint32_field(2)
sdk_version: str = betterproto.string_field(3)
token: str = betterproto.string_field(4)
refer: int = betterproto.uint32_field(5)
inbox_type: int = betterproto.uint32_field(6)
build_number: str = betterproto.string_field(7)
send_message_body: "SendMessageBody" = betterproto.message_field(8)
# <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
aa: str = betterproto.string_field(9)
device_platform: str = betterproto.string_field(11)
headers: List["HeadersList"] = betterproto.message_field(15)
auth_type: int = betterproto.uint32_field(18)
biz: str = betterproto.string_field(21)
access: str = betterproto.string_field(22)
@dataclass
class HeadersList(betterproto.Message):
key: str = betterproto.string_field(1)
value: str = betterproto.string_field(2)
@dataclass
class LiveShoppingMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
msg_type: int = betterproto.int32_field(2)
promotion_id: int = betterproto.int64_field(4)
@dataclass
class RoomStatsMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
display_short: str = betterproto.string_field(2)
display_middle: str = betterproto.string_field(3)
display_long: str = betterproto.string_field(4)
display_value: int = betterproto.int64_field(5)
display_version: int = betterproto.int64_field(6)
incremental: bool = betterproto.bool_field(7)
is_hidden: bool = betterproto.bool_field(8)
total: int = betterproto.int64_field(9)
display_type: int = betterproto.int64_field(10)
@dataclass
class ProductInfo(betterproto.Message):
promotion_id: int = betterproto.int64_field(1)
index: int = betterproto.int32_field(2)
target_flash_uids_list: List[int] = betterproto.int64_field(3)
explain_type: int = betterproto.int64_field(4)
@dataclass
class CategoryInfo(betterproto.Message):
id: int = betterproto.int32_field(1)
name: str = betterproto.string_field(2)
promotion_ids_list: List[int] = betterproto.int64_field(3)
type: str = betterproto.string_field(4)
unique_index: str = betterproto.string_field(5)
@dataclass
class ProductChangeMessage(betterproto.Message):
common: "Common" = betterproto.message_field(1)
update_timestamp: int = betterproto.int64_field(2)
update_toast: str = betterproto.string_field(3)
update_product_info_list: List["ProductInfo"] = betterproto.message_field(4)
total: int = betterproto.int64_field(5)
update_category_info_list: List["CategoryInfo"] = betterproto.message_field(8)
@dataclass
class ControlMessage(betterproto.Message):
"""
from https://github.com/HaoDong108/DouyinBarrageGrab/blob/main/BarrageGrab/
proto/message.proto status = 3 <EFBFBD>²<EFBFBD>
"""
common: "Common" = betterproto.message_field(1)
status: int = betterproto.int32_field(2)
@dataclass
class FansclubMessage(betterproto.Message):
"""
from https://github.com/HaoDong108/DouyinBarrageGrab/blob/main/BarrageGrab/
proto/message.proto
"""
common_info: "Common" = betterproto.message_field(1)
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2
type: int = betterproto.int32_field(2)
content: str = betterproto.string_field(3)
user: "User" = betterproto.message_field(4)
@dataclass
class RoomRankMessage(betterproto.Message):
"""
from https://github.com/scx567888/live-room-watcher/blob/master/src/main/pr
oto/douyin_hack/webcast/im/RoomRankMessage.proto ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>
"""
common: "Common" = betterproto.message_field(1)
ranks_list: List["RoomRankMessageRoomRank"] = betterproto.message_field(2)
@dataclass
class RoomRankMessageRoomRank(betterproto.Message):
user: "User" = betterproto.message_field(1)
score_str: str = betterproto.string_field(2)
profile_hidden: bool = betterproto.bool_field(3)
@dataclass
class RoomMessage(betterproto.Message):
"""
from https://github.com/scx567888/live-room-
watcher/blob/master/src/main/proto/douyin_hack/webcast/im/RoomMessage.proto
"""
common: "Common" = betterproto.message_field(1)
content: str = betterproto.string_field(2)
supprot_landscape: bool = betterproto.bool_field(3)
roommessagetype: "RoomMsgTypeEnum" = betterproto.enum_field(4)
system_top_msg: bool = betterproto.bool_field(5)
forced_guarantee: bool = betterproto.bool_field(6)
biz_scene: str = betterproto.string_field(20)
buried_point_map: Dict[str, str] = betterproto.map_field(
30, betterproto.TYPE_STRING, betterproto.TYPE_STRING
)