├── proto ├── __init__.py ├── dy.proto └── dy_pb2.py ├── .gitignore ├── main.py ├── README.md └── wss.py /proto/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | __pycache__ -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | from wss import Room 2 | 3 | 4 | # 填写抖音直播的链接 5 | room = Room("https://live.douyin.com/56462956450") 6 | room.connect() 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 抖音直播网页版弹幕爬取 python 实现 2 | 3 | 4 | ## 环境 5 | 6 | 7 | #### Mac: 8 | ```shell 9 | brew install protobuf 10 | ``` 11 | #### Windows: 12 | ```shell 13 | 下载地址:https://github.com/protocolbuffers/protobuf/releases,添加 "下载路径的bin目录" 到环境变量 14 | 查看是否安装成功:'protoc --version' 15 | 16 | 安装参考文章:https://blog.csdn.net/Djsnxbjans/article/details/131904947 17 | ``` 18 | 19 | #### pip环境: 20 | ```pip 21 | requests 22 | websocket-client 23 | protobuf 24 | ``` 25 | 26 | #### .proto转.py 27 | ```shell 28 | protoc --python_out=. dy.proto 29 | ``` 30 | 31 | ## 运行 32 | > main.py 填房间地址 33 | 34 | ```shell 35 | python main.py 36 | ``` 37 | 38 | ```shell 39 | 2023-11-13 09:30:46 [入场] 杨哥 来了 40 | 2023-11-13 09:30:46 [礼物] 可惜不是你 : 小心心 * 1 41 | 2023-11-13 09:30:46 [礼物] ❤️李💖建💗海💘💘💘 : 小心心 * 23 42 | 2023-11-13 09:30:46 [礼物] 刘大哥 : 小心心 * 1 43 | 2023-11-13 09:30:46 [礼物] 魔卡幻想 : 玫瑰 * 4 44 | 2023-11-13 09:30:46 [入场] 天下无敌 来了 45 | 2023-11-13 09:30:46 [礼物] 永久开心 : 大啤酒 * 1 46 | 2023-11-13 09:30:46 [点赞] 顾书 点赞 * 1 47 | 2023-11-13 09:30:46 [弹幕] 洋洋姐 : 交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友👬👬 48 | 2023-11-13 09:30:46 [入场] 龍🐉🔥鳯 来了 49 | 2023-11-13 09:30:46 [入场] 小周周 来了 50 | 2023-11-13 09:30:46 [入场] 用户2699096648941 来了 51 | 2023-11-13 09:30:46 [弹幕] 涂哥🎤 : 交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友交朋友 52 | 2023-11-13 09:30:46 [点赞] 至尊觉醒 点赞 * 8 53 | 54 | ``` 55 | -------------------------------------------------------------------------------- /wss.py: -------------------------------------------------------------------------------- 1 | import re 2 | import time 3 | import gzip 4 | import requests 5 | import websocket 6 | import threading 7 | import logging 8 | from datetime import datetime 9 | 10 | from proto import dy_pb2 11 | 12 | 13 | # ANSI转义码 14 | RESET = "\033[0m" # 重置颜色 15 | BOLD = "\033[1m" 16 | RED = "\033[91m" 17 | GREEN = "\033[92m" 18 | YELLOW = "\033[93m" 19 | BLUE = "\033[94m" 20 | MAGENTA = "\033[95m" 21 | CYAN = "\033[96m" 22 | 23 | 24 | class Room: 25 | def __init__(self, url): 26 | self.url = url 27 | self.ttwid = '' 28 | self.room_id = '' 29 | self.ws_connect = None 30 | 31 | def connect(self): 32 | """ 33 | 获取ttwid和房间ID,构建WebSocket URL,初始化WebSocket连接 34 | """ 35 | headers = { 36 | "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", 37 | "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", 38 | "Cookie": "__ac_nonce=0638733a400869171be51" 39 | } 40 | response = requests.get(self.url, headers=headers) 41 | self.ttwid = response.cookies.get('ttwid') 42 | body = response.text 43 | match = re.search(r'roomId\\":\\"(\d+)\\"', body) 44 | if match: 45 | self.room_id = match.group(1) 46 | else: 47 | logging.error("No match found") 48 | return 49 | 50 | # 构建WebSocket URL 51 | ws_url = f"wss://webcast3-ws-web-lq.douyin.com/webcast/im/push/v2/?app_name=douyin_web&version_code=180800&webcast_sdk_version=1.3.0&update_version_code=1.3.0&compress=gzip&internal_ext=internal_src:dim|wss_push_room_id:{self.room_id}|wss_push_did:{self.ttwid}|dim_log_id:202302171547011A160A7BAA76660E13ED|fetch_time:1676620021641|seq:1|wss_info:0-1676620021641-0-0|wrds_kvs:WebcastRoomStatsMessage-1676620020691146024_WebcastRoomRankMessage-1676619972726895075_AudienceGiftSyncData-1676619980834317696_HighlightContainerSyncData-2&cursor=t-1676620021641_r-1_d-1_u-1_h-1&host=https://live.douyin.com&aid=6383&live_id=1&did_rule=3&debug=false&endpoint=live_pc&support_wrds=1&im_path=/webcast/im/fetch/&user_unique_id={self.ttwid}&device_platform=web&cookie_enabled=true&screen_width=1440&screen_height=900&browser_language=zh&browser_platform=MacIntel&browser_name=Mozilla&browser_version=5.0%20(Macintosh;%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/110.0.0.0%20Safari/537.36&browser_online=true&tz_name=Asia/Shanghai&identity=audience&room_id={self.room_id}&heartbeatDuration=0&signature=00000000" 52 | 53 | # 连接WebSocket 54 | self.ws_connect = websocket.create_connection(ws_url, header={"Cookie": f"ttwid={self.ttwid}"}) 55 | self.read_thread = threading.Thread(target=self.read) 56 | self.read_thread.start() 57 | 58 | # 启动心跳包发送线程 59 | self.heartbeat_thread = threading.Thread(target=self.send_heartbeat) 60 | self.heartbeat_thread.start() 61 | 62 | def read(self): 63 | """ 64 | 负责持续接收消息,解压缩,反序列化 65 | """ 66 | while True: 67 | data = self.ws_connect.recv() 68 | msg_pack = dy_pb2.PushFrame() 69 | msg_pack.ParseFromString(data) 70 | decompressed = gzip.decompress(msg_pack.payload) 71 | payload_package = dy_pb2.Response() 72 | payload_package.ParseFromString(decompressed) 73 | if payload_package.needAck: 74 | self.send_ack(msg_pack.logId, payload_package.internalExt) 75 | for msg in payload_package.messagesList: 76 | self.parse_message(msg) 77 | 78 | def send_ack(self, log_id, i_ext): 79 | """ 80 | 发送确认消息回服务器 81 | """ 82 | ack_pack = dy_pb2.PushFrame(logId=log_id, payloadType=i_ext) 83 | data = ack_pack.SerializeToString() 84 | self.ws_connect.send(data, opcode=websocket.ABNF.OPCODE_BINARY) 85 | 86 | def parse_message(self, msg): 87 | """ 88 | 负责根据消息类型调用相应的解析函数 89 | """ 90 | if msg.method == "WebcastMemberMessage": 91 | self.parse_member_msg(msg.payload) 92 | elif msg.method == "WebcastChatMessage": 93 | self.parse_chat_msg(msg.payload) 94 | elif msg.method == "WebcastLikeMessage": 95 | self.parse_like_msg(msg.payload) 96 | elif msg.method == "WebcastSocialMessage": 97 | self.parse_social_msg(msg.payload) 98 | elif msg.method == "WebcastGiftMessage": 99 | self.parse_gift_msg(msg.payload) 100 | else: 101 | # print(msg) 102 | pass 103 | 104 | def parse_member_msg(self, payload): 105 | """ 106 | 解析入场消息 107 | """ 108 | try: 109 | member_msg = dy_pb2.MemberMessage() 110 | member_msg.ParseFromString(payload) 111 | user_name = member_msg.user.nickName 112 | print(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} [入场] {user_name} 来了") 113 | except Exception as e: 114 | logging.error(f"Error parsing member message: {e}") 115 | 116 | def parse_chat_msg(self, msg_payload): 117 | """ 118 | 解析聊天消息 119 | """ 120 | try: 121 | chat_msg = dy_pb2.ChatMessage() 122 | chat_msg.ParseFromString(msg_payload) 123 | user_name = chat_msg.user.nickName 124 | message = f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} [弹幕] {user_name} : {chat_msg.content}" 125 | print(f"{CYAN}{message}{RESET}") 126 | except Exception as e: 127 | logging.error(f"Error parsing chat message: {e}") 128 | 129 | def parse_like_msg(self, msg_payload): 130 | """ 131 | 解析点赞消息 132 | """ 133 | try: 134 | like_msg = dy_pb2.LikeMessage() 135 | like_msg.ParseFromString(msg_payload) 136 | user_name = like_msg.user.nickName 137 | message = f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} [点赞] {user_name} 点赞 * {like_msg.count}" 138 | print(f"{YELLOW}{message}{RESET}") 139 | except Exception as e: 140 | logging.error(f"Error parsing like message: {e}") 141 | 142 | def parse_social_msg(self, msg_payload): 143 | """ 144 | 解析关注消息 145 | """ 146 | try: 147 | social_msg = dy_pb2.SocialMessage() 148 | social_msg.ParseFromString(msg_payload) 149 | user_name = social_msg.user.nickName 150 | message = f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} [关注] {user_name} 关注了你" 151 | print(f"{RED}{message}{RESET}") 152 | except Exception as e: 153 | logging.error(f"Error parsing social message: {e}") 154 | 155 | def parse_gift_msg(self, msg_payload): 156 | """ 157 | 解析礼物消息 158 | """ 159 | try: 160 | gift_msg = dy_pb2.GiftMessage() 161 | gift_msg.ParseFromString(msg_payload) 162 | user_name = gift_msg.user.nickName 163 | message = f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} [礼物] {user_name} : {gift_msg.gift.name} * {gift_msg.comboCount}" 164 | print(f"{GREEN}{message}{RESET}") 165 | except Exception as e: 166 | logging.error(f"Error parsing gift message: {e}") 167 | 168 | def send_heartbeat(self): 169 | """ 170 | 定期发送心跳包以保持连接活跃 171 | """ 172 | while True: 173 | try: 174 | ping_pack = dy_pb2.PushFrame(payloadType="bh") 175 | data = ping_pack.SerializeToString() 176 | self.ws_connect.send(data, opcode=websocket.ABNF.OPCODE_BINARY) 177 | time.sleep(10) 178 | except Exception as e: 179 | logging.error(f"Heartbeat error: {e}") 180 | break # 发生错误时退出循环 181 | 182 | if __name__ == '__main__': 183 | room = Room("https://live.douyin.com/379931136059") 184 | room.connect() 185 | -------------------------------------------------------------------------------- /proto/dy.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package douyin; 4 | 5 | option go_package = "./proto"; 6 | 7 | message Response { 8 | repeated Message messagesList = 1; 9 | string cursor = 2; 10 | uint64 fetchInterval = 3; 11 | uint64 now = 4; 12 | string internalExt = 5; 13 | uint32 fetchType = 6; 14 | map routeParams = 7; 15 | uint64 heartbeatDuration = 8; 16 | bool needAck = 9; 17 | string pushServer = 10; 18 | string liveCursor = 11; 19 | bool historyNoMore = 12; 20 | } 21 | 22 | message Message{ 23 | string method = 1; 24 | bytes payload = 2; 25 | int64 msgId = 3; 26 | int32 msgType = 4; 27 | int64 offset = 5; 28 | bool needWrdsStore = 6; 29 | int64 wrdsVersion = 7; 30 | string wrdsSubKey = 8; 31 | } 32 | 33 | // 聊天 34 | message ChatMessage { 35 | Common common = 1; 36 | User user = 2; 37 | string content = 3; 38 | bool visibleToSender = 4; 39 | Image backgroundImage = 5; 40 | string fullScreenTextColor = 6; 41 | Image backgroundImageV2 = 7; 42 | PublicAreaCommon publicAreaCommon = 8; 43 | Image giftImage = 9; 44 | uint64 agreeMsgId = 11; 45 | uint32 priorityLevel = 12; 46 | LandscapeAreaCommon landscapeAreaCommon = 13; 47 | uint64 eventTime = 15; 48 | bool sendReview = 16; 49 | bool fromIntercom = 17; 50 | bool intercomHideUserCard = 18; 51 | // repeated chatTagsList = 19; 52 | string chatBy = 20; 53 | uint32 individualChatPriority = 21; 54 | Text rtfContent = 22; 55 | } 56 | 57 | 58 | message LandscapeAreaCommon { 59 | bool showHead = 1; 60 | bool showNickname = 2; 61 | bool showFontColor = 3; 62 | repeated string colorValueList = 4; 63 | repeated CommentTypeTag commentTypeTagsList = 5; 64 | } 65 | 66 | message RoomUserSeqMessage { 67 | Common common = 1; 68 | repeated RoomUserSeqMessageContributor ranksList = 2; 69 | int64 total = 3; 70 | string popStr = 4; 71 | repeated RoomUserSeqMessageContributor seatsList = 5; 72 | int64 popularity = 6; 73 | int64 totalUser = 7; 74 | string totalUserStr = 8; 75 | string totalStr = 9; 76 | string onlineUserForAnchor = 10; 77 | string totalPvForAnchor = 11; 78 | string upRightStatsStr = 12; 79 | string upRightStatsStrComplete = 13; 80 | 81 | } 82 | 83 | message CommonTextMessage { 84 | Common common = 1; 85 | User user = 2; 86 | string scene = 3; 87 | } 88 | 89 | message UpdateFanTicketMessage { 90 | Common common = 1; 91 | string roomFanTicketCountText = 2; 92 | uint64 roomFanTicketCount = 3; 93 | bool forceUpdate = 4; 94 | } 95 | 96 | message RoomUserSeqMessageContributor { 97 | uint64 score = 1; 98 | User user = 2; 99 | uint64 rank = 3; 100 | uint64 delta = 4; 101 | bool isHidden = 5; 102 | string scoreDescription = 6; 103 | string exactlyScore = 7; 104 | } 105 | 106 | // 礼物消息 107 | message GiftMessage { 108 | Common common = 1; 109 | uint64 giftId = 2; 110 | uint64 fanTicketCount = 3; 111 | uint64 groupCount = 4; 112 | uint64 repeatCount = 5; 113 | uint64 comboCount = 6; 114 | User user = 7; 115 | User toUser = 8; 116 | uint32 repeatEnd = 9; 117 | TextEffect textEffect = 10; 118 | uint64 groupId = 11; 119 | uint64 incomeTaskgifts = 12; 120 | uint64 roomFanTicketCount = 13; 121 | GiftIMPriority priority = 14; 122 | GiftStruct gift = 15; 123 | string logId = 16; 124 | uint64 sendType = 17; 125 | PublicAreaCommon publicAreaCommon = 18; 126 | Text trayDisplayText = 19; 127 | uint64 bannedDisplayEffects = 20; 128 | // GiftTrayInfo trayInfo = 21; 129 | // AssetEffectMixInfo assetEffectMixInfo = 22; 130 | bool displayForSelf = 25; 131 | string interactGiftInfo = 26; 132 | string diyItemInfo = 27; 133 | repeated uint64 minAssetSetList = 28; 134 | uint64 totalCount = 29; 135 | uint32 clientGiftSource = 30; 136 | // AnchorGiftData anchorGift = 31; 137 | repeated uint64 toUserIdsList = 32; 138 | uint64 sendTime = 33; 139 | uint64 forceDisplayEffects = 34; 140 | string traceId = 35; 141 | uint64 effectDisplayTs = 36; 142 | } 143 | 144 | message GiftStruct { 145 | Image image = 1; 146 | string describe = 2; 147 | bool notify = 3; 148 | uint64 duration = 4; 149 | uint64 id = 5; 150 | // GiftStructFansClubInfo fansclubInfo = 6; 151 | bool forLinkmic = 7; 152 | bool doodle = 8; 153 | bool forFansclub = 9; 154 | bool combo = 10; 155 | uint32 type = 11; 156 | uint32 diamondCount = 12; 157 | bool isDisplayedOnPanel = 13; 158 | uint64 primaryEffectId = 14; 159 | Image giftLabelIcon = 15; 160 | string name = 16; 161 | string region = 17; 162 | string manual = 18; 163 | bool forCustom = 19; 164 | // specialEffectsMap = 20; 165 | Image icon = 21; 166 | uint32 actionType = 22; 167 | // fixme 后面的就不写了还有几十个属性 168 | 169 | } 170 | 171 | message GiftIMPriority { 172 | repeated uint64 queueSizesList = 1; 173 | uint64 selfQueuePriority = 2; 174 | uint64 priority = 3; 175 | } 176 | 177 | message TextEffect { 178 | TextEffectDetail portrait = 1; 179 | TextEffectDetail landscape = 2; 180 | } 181 | 182 | message TextEffectDetail { 183 | Text text = 1; 184 | uint32 textFontSize = 2; 185 | Image background = 3; 186 | uint32 start = 4; 187 | uint32 duration = 5; 188 | uint32 x = 6; 189 | uint32 y = 7; 190 | uint32 width = 8; 191 | uint32 height = 9; 192 | uint32 shadowDx = 10; 193 | uint32 shadowDy = 11; 194 | uint32 shadowRadius = 12; 195 | string shadowColor = 13; 196 | string strokeColor = 14; 197 | uint32 strokeWidth = 15; 198 | } 199 | 200 | // 成员消息 201 | message MemberMessage { 202 | Common common = 1; 203 | User user = 2; 204 | uint64 memberCount = 3; 205 | User operator = 4; 206 | bool isSetToAdmin = 5; 207 | bool isTopUser = 6; 208 | uint64 rankScore = 7; 209 | uint64 topUserNo = 8; 210 | uint64 enterType = 9; 211 | uint64 action = 10; 212 | string actionDescription = 11; 213 | uint64 userId = 12; 214 | EffectConfig effectConfig = 13; 215 | string popStr = 14; 216 | EffectConfig enterEffectConfig = 15; 217 | Image backgroundImage = 16; 218 | Image backgroundImageV2 = 17; 219 | Text anchorDisplayText = 18; 220 | PublicAreaCommon publicAreaCommon = 19; 221 | uint64 userEnterTipType = 20; 222 | uint64 anchorEnterTipType = 21; 223 | } 224 | 225 | 226 | message PublicAreaCommon { 227 | Image userLabel = 1; 228 | uint64 userConsumeInRoom = 2; 229 | uint64 userSendGiftCntInRoom = 3; 230 | } 231 | 232 | message EffectConfig { 233 | uint64 type = 1; 234 | Image icon = 2; 235 | uint64 avatarPos = 3; 236 | Text text = 4; 237 | Image textIcon = 5; 238 | uint32 stayTime = 6; 239 | uint64 animAssetId = 7; 240 | Image badge = 8; 241 | repeated uint64 flexSettingArrayList = 9; 242 | Image textIconOverlay = 10; 243 | Image animatedBadge = 11; 244 | bool hasSweepLight = 12; 245 | repeated uint64 textFlexSettingArrayList = 13; 246 | uint64 centerAnimAssetId = 14; 247 | Image dynamicImage = 15; 248 | map extraMap = 16; 249 | uint64 mp4AnimAssetId = 17; 250 | uint64 priority = 18; 251 | uint64 maxWaitTime = 19; 252 | string dressId = 20; 253 | uint64 alignment = 21; 254 | uint64 alignmentOffset = 22; 255 | } 256 | 257 | message Text { 258 | string key = 1; 259 | string defaultPatter = 2; 260 | TextFormat defaultFormat = 3; 261 | repeated TextPiece piecesList = 4; 262 | } 263 | 264 | message TextPiece { 265 | bool type = 1; 266 | TextFormat format = 2; 267 | string stringValue = 3; 268 | TextPieceUser userValue = 4; 269 | TextPieceGift giftValue = 5; 270 | TextPieceHeart heartValue = 6; 271 | TextPiecePatternRef patternRefValue = 7; 272 | TextPieceImage imageValue = 8; 273 | } 274 | 275 | 276 | message TextPieceImage { 277 | Image image = 1; 278 | float scalingRate = 2; 279 | } 280 | 281 | message TextPiecePatternRef { 282 | string key = 1; 283 | string defaultPattern = 2; 284 | } 285 | 286 | message TextPieceHeart { 287 | string color = 1; 288 | } 289 | 290 | message TextPieceGift { 291 | uint64 giftId = 1; 292 | PatternRef nameRef = 2; 293 | } 294 | 295 | message PatternRef { 296 | string key = 1; 297 | string defaultPattern = 2; 298 | } 299 | 300 | message TextPieceUser { 301 | User user = 1; 302 | bool withColon = 2; 303 | } 304 | 305 | message TextFormat { 306 | string color = 1; 307 | bool bold = 2; 308 | bool italic = 3; 309 | uint32 weight = 4; 310 | uint32 italicAngle = 5; 311 | uint32 fontSize = 6; 312 | bool useHeighLightColor = 7; 313 | bool useRemoteClor = 8; 314 | } 315 | 316 | // 点赞 317 | message LikeMessage { 318 | Common common = 1; 319 | uint64 count = 2; 320 | uint64 total = 3; 321 | uint64 color = 4; 322 | User user = 5; 323 | string icon = 6; 324 | DoubleLikeDetail doubleLikeDetail = 7; 325 | DisplayControlInfo displayControlInfo = 8; 326 | uint64 linkmicGuestUid = 9; 327 | string scene = 10; 328 | PicoDisplayInfo picoDisplayInfo = 11; 329 | 330 | } 331 | 332 | message SocialMessage { 333 | Common common = 1; 334 | User user = 2; 335 | uint64 shareType = 3; 336 | uint64 action = 4; 337 | string shareTarget = 5; 338 | uint64 followCount = 6; 339 | PublicAreaCommon publicAreaCommon = 7; 340 | } 341 | 342 | message PicoDisplayInfo { 343 | uint64 comboSumCount = 1; 344 | string emoji = 2; 345 | Image emojiIcon = 3; 346 | string emojiText = 4; 347 | } 348 | 349 | message DoubleLikeDetail { 350 | bool doubleFlag = 1; 351 | uint32 seqId = 2; 352 | uint32 renewalsNum = 3; 353 | uint32 triggersNum = 4; 354 | } 355 | 356 | message DisplayControlInfo { 357 | bool showText = 1; 358 | bool showIcons = 2; 359 | } 360 | 361 | message EpisodeChatMessage { 362 | Message common = 1; 363 | User user = 2; 364 | string content = 3; 365 | bool visibleToSende = 4; 366 | // BackgroundImage backgroundImage = 5; 367 | // PublicAreaCommon publicAreaCommon = 6; 368 | Image giftImage = 7; 369 | uint64 agreeMsgId = 8; 370 | repeated string colorValueList = 9; 371 | } 372 | 373 | 374 | message MatchAgainstScoreMessage { 375 | Common common = 1; 376 | Against against = 2; 377 | uint32 matchStatus = 3; 378 | uint32 displayStatus = 4; 379 | } 380 | 381 | message Against { 382 | string leftName = 1; 383 | Image leftLogo = 2; 384 | string leftGoal = 3; 385 | // LeftPlayersList leftPlayersList = 4; 386 | // LeftGoalStageDetail leftGoalStageDetail = 5; 387 | string rightName = 6; 388 | Image rightLogo = 7; 389 | string rightGoal = 8; 390 | // RightPlayersList rightPlayersList = 9; 391 | // RightGoalStageDetail rightGoalStageDetail = 10; 392 | uint64 timestamp = 11; 393 | uint64 version = 12; 394 | uint64 leftTeamId = 13; 395 | uint64 rightTeamId = 14; 396 | uint64 diffSei2absSecond = 15; 397 | uint32 finalGoalStage = 16; 398 | uint32 currentGoalStage =17; 399 | uint32 leftScoreAddition =18; 400 | uint32 rightScoreAddition =19; 401 | uint64 leftGoalInt = 20; 402 | uint64 rightGoalInt = 21; 403 | } 404 | 405 | message Common { 406 | string method = 1; 407 | uint64 msgId = 2; 408 | uint64 roomId = 3; 409 | uint64 createTime = 4; 410 | uint32 monitor = 5; 411 | bool isShowMsg = 6; 412 | string describe = 7; 413 | // DisplayText displayText = 8; 414 | uint64 foldType = 9; 415 | uint64 anchorFoldType = 10; 416 | uint64 priorityScore = 11; 417 | string logId = 12; 418 | string msgProcessFilterK = 13; 419 | string msgProcessFilterV = 14; 420 | User user = 15; 421 | // Room room = 16; 422 | uint64 anchorFoldTypeV2 = 17; 423 | uint64 processAtSeiTimeMs = 18; 424 | uint64 randomDispatchMs = 19; 425 | bool isDispatch = 20; 426 | uint64 channelId = 21; 427 | uint64 diffSei2absSecond = 22; 428 | uint64 anchorFoldDuration = 23; 429 | } 430 | 431 | message User { 432 | uint64 id = 1; 433 | uint64 shortId = 2; 434 | string nickName = 3; 435 | uint32 gender = 4; 436 | string Signature = 5; 437 | uint32 Level = 6; 438 | uint64 Birthday = 7; 439 | string Telephone = 8; 440 | Image AvatarThumb = 9; 441 | Image AvatarMedium = 10; 442 | Image AvatarLarge = 11; 443 | bool Verified = 12; 444 | uint32 Experience = 13; 445 | string city = 14; 446 | int32 Status = 15; 447 | uint64 CreateTime = 16; 448 | uint64 ModifyTime = 17; 449 | uint32 Secret = 18; 450 | string ShareQrcodeUri = 19; 451 | uint32 IncomeSharePercent = 20; 452 | repeated Image BadgeImageList = 21; 453 | FollowInfo FollowInfo = 22; 454 | // PayGrade PayGrade = 23; 455 | // FansClub FansClub = 24; 456 | // Border Border = 25; 457 | string SpecialId = 26; 458 | Image AvatarBorder = 27; 459 | Image Medal = 28; 460 | repeated Image RealTimeIconsList = 29; 461 | string displayId = 38; 462 | string secUid = 46; 463 | uint64 fanTicketCount = 1022; 464 | string idStr = 1028; 465 | uint32 ageRange = 1045; 466 | } 467 | 468 | message FollowInfo { 469 | uint64 followingCount = 1; 470 | uint64 followerCount = 2; 471 | uint64 followStatus = 3; 472 | uint64 pushStatus = 4; 473 | string remarkName = 5; 474 | string followerCountStr = 6; 475 | string followingCountStr = 7; 476 | 477 | } 478 | message Image { 479 | repeated string urlListList = 1; 480 | string uri = 2; 481 | uint64 height = 3; 482 | uint64 width = 4; 483 | string avgColor = 5; 484 | uint32 imageType = 6; 485 | string openWebUrl = 7; 486 | ImageContent content = 8; 487 | bool isAnimated = 9; 488 | NinePatchSetting FlexSettingList = 10; 489 | NinePatchSetting TextSettingList = 11; 490 | } 491 | 492 | message NinePatchSetting { 493 | repeated string settingListList = 1; 494 | } 495 | 496 | message ImageContent { 497 | string name = 1; 498 | string fontColor = 2; 499 | uint64 level = 3; 500 | string alternativeText = 4; 501 | } 502 | 503 | message PushFrame { 504 | uint64 seqId = 1; 505 | uint64 logId = 2; 506 | uint64 service = 3; 507 | uint64 method = 4; 508 | repeated HeadersList headersList = 5; 509 | string payloadEncoding = 6; 510 | string payloadType = 7; 511 | bytes payload = 8; 512 | 513 | } 514 | 515 | message kk { 516 | uint32 k=14; 517 | } 518 | 519 | message SendMessageBody { 520 | string conversationId = 1; 521 | uint32 conversationType = 2; 522 | uint64 conversationShortId = 3; 523 | string content = 4; 524 | repeated ExtList ext = 5; 525 | uint32 messageType = 6; 526 | string ticket = 7; 527 | string clientMessageId = 8; 528 | 529 | } 530 | 531 | message ExtList { 532 | string key = 1; 533 | string value = 2; 534 | } 535 | 536 | message Rsp{ 537 | int32 a = 1; 538 | int32 b = 2; 539 | int32 c = 3; 540 | string d = 4; 541 | int32 e = 5; 542 | message F { 543 | uint64 q1 = 1; 544 | uint64 q3 = 3; 545 | string q4 = 4; 546 | uint64 q5 = 5; 547 | } 548 | F f = 6; 549 | string g = 7; 550 | uint64 h = 10; 551 | uint64 i = 11; 552 | uint64 j = 13; 553 | } 554 | 555 | message PreMessage { 556 | uint32 cmd = 1; 557 | uint32 sequenceId = 2; 558 | string sdkVersion = 3; 559 | string token = 4; 560 | uint32 refer = 5; 561 | uint32 inboxType = 6; 562 | string buildNumber = 7; 563 | SendMessageBody sendMessageBody = 8; 564 | // 字段名待定 565 | string aa = 9; 566 | string devicePlatform = 11; 567 | repeated HeadersList headers = 15; 568 | uint32 authType = 18; 569 | string biz = 21; 570 | string access = 22; 571 | } 572 | 573 | message HeadersList { 574 | string key = 1; 575 | string value = 2; 576 | } 577 | 578 | enum CommentTypeTag { 579 | COMMENTTYPETAGUNKNOWN = 0; 580 | COMMENTTYPETAGSTAR = 1; 581 | } -------------------------------------------------------------------------------- /proto/dy_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: dy.proto 4 | # Protobuf Python Version: 4.25.0 5 | """Generated protocol buffer code.""" 6 | from google.protobuf import descriptor as _descriptor 7 | from google.protobuf import descriptor_pool as _descriptor_pool 8 | from google.protobuf import symbol_database as _symbol_database 9 | from google.protobuf.internal import builder as _builder 10 | # @@protoc_insertion_point(imports) 11 | 12 | _sym_db = _symbol_database.Default() 13 | 14 | 15 | 16 | 17 | DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x08\x64y.proto\x12\x06\x64ouyin\"\xe4\x02\n\x08Response\x12%\n\x0cmessagesList\x18\x01 \x03(\x0b\x32\x0f.douyin.Message\x12\x0e\n\x06\x63ursor\x18\x02 \x01(\t\x12\x15\n\rfetchInterval\x18\x03 \x01(\x04\x12\x0b\n\x03now\x18\x04 \x01(\x04\x12\x13\n\x0binternalExt\x18\x05 \x01(\t\x12\x11\n\tfetchType\x18\x06 \x01(\r\x12\x36\n\x0brouteParams\x18\x07 \x03(\x0b\x32!.douyin.Response.RouteParamsEntry\x12\x19\n\x11heartbeatDuration\x18\x08 \x01(\x04\x12\x0f\n\x07needAck\x18\t \x01(\x08\x12\x12\n\npushServer\x18\n \x01(\t\x12\x12\n\nliveCursor\x18\x0b \x01(\t\x12\x15\n\rhistoryNoMore\x18\x0c \x01(\x08\x1a\x32\n\x10RouteParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9a\x01\n\x07Message\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\r\n\x05msgId\x18\x03 \x01(\x03\x12\x0f\n\x07msgType\x18\x04 \x01(\x05\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x15\n\rneedWrdsStore\x18\x06 \x01(\x08\x12\x13\n\x0bwrdsVersion\x18\x07 \x01(\x03\x12\x12\n\nwrdsSubKey\x18\x08 \x01(\t\"\xca\x04\n\x0b\x43hatMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.douyin.User\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\x12\x17\n\x0fvisibleToSender\x18\x04 \x01(\x08\x12&\n\x0f\x62\x61\x63kgroundImage\x18\x05 \x01(\x0b\x32\r.douyin.Image\x12\x1b\n\x13\x66ullScreenTextColor\x18\x06 \x01(\t\x12(\n\x11\x62\x61\x63kgroundImageV2\x18\x07 \x01(\x0b\x32\r.douyin.Image\x12\x32\n\x10publicAreaCommon\x18\x08 \x01(\x0b\x32\x18.douyin.PublicAreaCommon\x12 \n\tgiftImage\x18\t \x01(\x0b\x32\r.douyin.Image\x12\x12\n\nagreeMsgId\x18\x0b \x01(\x04\x12\x15\n\rpriorityLevel\x18\x0c \x01(\r\x12\x38\n\x13landscapeAreaCommon\x18\r \x01(\x0b\x32\x1b.douyin.LandscapeAreaCommon\x12\x11\n\teventTime\x18\x0f \x01(\x04\x12\x12\n\nsendReview\x18\x10 \x01(\x08\x12\x14\n\x0c\x66romIntercom\x18\x11 \x01(\x08\x12\x1c\n\x14intercomHideUserCard\x18\x12 \x01(\x08\x12\x0e\n\x06\x63hatBy\x18\x14 \x01(\t\x12\x1e\n\x16individualChatPriority\x18\x15 \x01(\r\x12 \n\nrtfContent\x18\x16 \x01(\x0b\x32\x0c.douyin.Text\"\xa1\x01\n\x13LandscapeAreaCommon\x12\x10\n\x08showHead\x18\x01 \x01(\x08\x12\x14\n\x0cshowNickname\x18\x02 \x01(\x08\x12\x15\n\rshowFontColor\x18\x03 \x01(\x08\x12\x16\n\x0e\x63olorValueList\x18\x04 \x03(\t\x12\x33\n\x13\x63ommentTypeTagsList\x18\x05 \x03(\x0e\x32\x16.douyin.CommentTypeTag\"\x87\x03\n\x12RoomUserSeqMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\x38\n\tranksList\x18\x02 \x03(\x0b\x32%.douyin.RoomUserSeqMessageContributor\x12\r\n\x05total\x18\x03 \x01(\x03\x12\x0e\n\x06popStr\x18\x04 \x01(\t\x12\x38\n\tseatsList\x18\x05 \x03(\x0b\x32%.douyin.RoomUserSeqMessageContributor\x12\x12\n\npopularity\x18\x06 \x01(\x03\x12\x11\n\ttotalUser\x18\x07 \x01(\x03\x12\x14\n\x0ctotalUserStr\x18\x08 \x01(\t\x12\x10\n\x08totalStr\x18\t \x01(\t\x12\x1b\n\x13onlineUserForAnchor\x18\n \x01(\t\x12\x18\n\x10totalPvForAnchor\x18\x0b \x01(\t\x12\x17\n\x0fupRightStatsStr\x18\x0c \x01(\t\x12\x1f\n\x17upRightStatsStrComplete\x18\r \x01(\t\"^\n\x11\x43ommonTextMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.douyin.User\x12\r\n\x05scene\x18\x03 \x01(\t\"\x89\x01\n\x16UpdateFanTicketMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\x1e\n\x16roomFanTicketCountText\x18\x02 \x01(\t\x12\x1a\n\x12roomFanTicketCount\x18\x03 \x01(\x04\x12\x13\n\x0b\x66orceUpdate\x18\x04 \x01(\x08\"\xa9\x01\n\x1dRoomUserSeqMessageContributor\x12\r\n\x05score\x18\x01 \x01(\x04\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.douyin.User\x12\x0c\n\x04rank\x18\x03 \x01(\x04\x12\r\n\x05\x64\x65lta\x18\x04 \x01(\x04\x12\x10\n\x08isHidden\x18\x05 \x01(\x08\x12\x18\n\x10scoreDescription\x18\x06 \x01(\t\x12\x14\n\x0c\x65xactlyScore\x18\x07 \x01(\t\"\xb1\x06\n\x0bGiftMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\x0e\n\x06giftId\x18\x02 \x01(\x04\x12\x16\n\x0e\x66\x61nTicketCount\x18\x03 \x01(\x04\x12\x12\n\ngroupCount\x18\x04 \x01(\x04\x12\x13\n\x0brepeatCount\x18\x05 \x01(\x04\x12\x12\n\ncomboCount\x18\x06 \x01(\x04\x12\x1a\n\x04user\x18\x07 \x01(\x0b\x32\x0c.douyin.User\x12\x1c\n\x06toUser\x18\x08 \x01(\x0b\x32\x0c.douyin.User\x12\x11\n\trepeatEnd\x18\t \x01(\r\x12&\n\ntextEffect\x18\n \x01(\x0b\x32\x12.douyin.TextEffect\x12\x0f\n\x07groupId\x18\x0b \x01(\x04\x12\x17\n\x0fincomeTaskgifts\x18\x0c \x01(\x04\x12\x1a\n\x12roomFanTicketCount\x18\r \x01(\x04\x12(\n\x08priority\x18\x0e \x01(\x0b\x32\x16.douyin.GiftIMPriority\x12 \n\x04gift\x18\x0f \x01(\x0b\x32\x12.douyin.GiftStruct\x12\r\n\x05logId\x18\x10 \x01(\t\x12\x10\n\x08sendType\x18\x11 \x01(\x04\x12\x32\n\x10publicAreaCommon\x18\x12 \x01(\x0b\x32\x18.douyin.PublicAreaCommon\x12%\n\x0ftrayDisplayText\x18\x13 \x01(\x0b\x32\x0c.douyin.Text\x12\x1c\n\x14\x62\x61nnedDisplayEffects\x18\x14 \x01(\x04\x12\x16\n\x0e\x64isplayForSelf\x18\x19 \x01(\x08\x12\x18\n\x10interactGiftInfo\x18\x1a \x01(\t\x12\x13\n\x0b\x64iyItemInfo\x18\x1b \x01(\t\x12\x17\n\x0fminAssetSetList\x18\x1c \x03(\x04\x12\x12\n\ntotalCount\x18\x1d \x01(\x04\x12\x18\n\x10\x63lientGiftSource\x18\x1e \x01(\r\x12\x15\n\rtoUserIdsList\x18 \x03(\x04\x12\x10\n\x08sendTime\x18! \x01(\x04\x12\x1b\n\x13\x66orceDisplayEffects\x18\" \x01(\x04\x12\x0f\n\x07traceId\x18# \x01(\t\x12\x17\n\x0f\x65\x66\x66\x65\x63tDisplayTs\x18$ \x01(\x04\"\xa3\x03\n\nGiftStruct\x12\x1c\n\x05image\x18\x01 \x01(\x0b\x32\r.douyin.Image\x12\x10\n\x08\x64\x65scribe\x18\x02 \x01(\t\x12\x0e\n\x06notify\x18\x03 \x01(\x08\x12\x10\n\x08\x64uration\x18\x04 \x01(\x04\x12\n\n\x02id\x18\x05 \x01(\x04\x12\x12\n\nforLinkmic\x18\x07 \x01(\x08\x12\x0e\n\x06\x64oodle\x18\x08 \x01(\x08\x12\x13\n\x0b\x66orFansclub\x18\t \x01(\x08\x12\r\n\x05\x63ombo\x18\n \x01(\x08\x12\x0c\n\x04type\x18\x0b \x01(\r\x12\x14\n\x0c\x64iamondCount\x18\x0c \x01(\r\x12\x1a\n\x12isDisplayedOnPanel\x18\r \x01(\x08\x12\x17\n\x0fprimaryEffectId\x18\x0e \x01(\x04\x12$\n\rgiftLabelIcon\x18\x0f \x01(\x0b\x32\r.douyin.Image\x12\x0c\n\x04name\x18\x10 \x01(\t\x12\x0e\n\x06region\x18\x11 \x01(\t\x12\x0e\n\x06manual\x18\x12 \x01(\t\x12\x11\n\tforCustom\x18\x13 \x01(\x08\x12\x1b\n\x04icon\x18\x15 \x01(\x0b\x32\r.douyin.Image\x12\x12\n\nactionType\x18\x16 \x01(\r\"U\n\x0eGiftIMPriority\x12\x16\n\x0equeueSizesList\x18\x01 \x03(\x04\x12\x19\n\x11selfQueuePriority\x18\x02 \x01(\x04\x12\x10\n\x08priority\x18\x03 \x01(\x04\"e\n\nTextEffect\x12*\n\x08portrait\x18\x01 \x01(\x0b\x32\x18.douyin.TextEffectDetail\x12+\n\tlandscape\x18\x02 \x01(\x0b\x32\x18.douyin.TextEffectDetail\"\xb6\x02\n\x10TextEffectDetail\x12\x1a\n\x04text\x18\x01 \x01(\x0b\x32\x0c.douyin.Text\x12\x14\n\x0ctextFontSize\x18\x02 \x01(\r\x12!\n\nbackground\x18\x03 \x01(\x0b\x32\r.douyin.Image\x12\r\n\x05start\x18\x04 \x01(\r\x12\x10\n\x08\x64uration\x18\x05 \x01(\r\x12\t\n\x01x\x18\x06 \x01(\r\x12\t\n\x01y\x18\x07 \x01(\r\x12\r\n\x05width\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\x12\x10\n\x08shadowDx\x18\n \x01(\r\x12\x10\n\x08shadowDy\x18\x0b \x01(\r\x12\x14\n\x0cshadowRadius\x18\x0c \x01(\r\x12\x13\n\x0bshadowColor\x18\r \x01(\t\x12\x13\n\x0bstrokeColor\x18\x0e \x01(\t\x12\x13\n\x0bstrokeWidth\x18\x0f \x01(\r\"\xef\x04\n\rMemberMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.douyin.User\x12\x13\n\x0bmemberCount\x18\x03 \x01(\x04\x12\x1e\n\x08operator\x18\x04 \x01(\x0b\x32\x0c.douyin.User\x12\x14\n\x0cisSetToAdmin\x18\x05 \x01(\x08\x12\x11\n\tisTopUser\x18\x06 \x01(\x08\x12\x11\n\trankScore\x18\x07 \x01(\x04\x12\x11\n\ttopUserNo\x18\x08 \x01(\x04\x12\x11\n\tenterType\x18\t \x01(\x04\x12\x0e\n\x06\x61\x63tion\x18\n \x01(\x04\x12\x19\n\x11\x61\x63tionDescription\x18\x0b \x01(\t\x12\x0e\n\x06userId\x18\x0c \x01(\x04\x12*\n\x0c\x65\x66\x66\x65\x63tConfig\x18\r \x01(\x0b\x32\x14.douyin.EffectConfig\x12\x0e\n\x06popStr\x18\x0e \x01(\t\x12/\n\x11\x65nterEffectConfig\x18\x0f \x01(\x0b\x32\x14.douyin.EffectConfig\x12&\n\x0f\x62\x61\x63kgroundImage\x18\x10 \x01(\x0b\x32\r.douyin.Image\x12(\n\x11\x62\x61\x63kgroundImageV2\x18\x11 \x01(\x0b\x32\r.douyin.Image\x12\'\n\x11\x61nchorDisplayText\x18\x12 \x01(\x0b\x32\x0c.douyin.Text\x12\x32\n\x10publicAreaCommon\x18\x13 \x01(\x0b\x32\x18.douyin.PublicAreaCommon\x12\x18\n\x10userEnterTipType\x18\x14 \x01(\x04\x12\x1a\n\x12\x61nchorEnterTipType\x18\x15 \x01(\x04\"n\n\x10PublicAreaCommon\x12 \n\tuserLabel\x18\x01 \x01(\x0b\x32\r.douyin.Image\x12\x19\n\x11userConsumeInRoom\x18\x02 \x01(\x04\x12\x1d\n\x15userSendGiftCntInRoom\x18\x03 \x01(\x04\"\x96\x05\n\x0c\x45\x66\x66\x65\x63tConfig\x12\x0c\n\x04type\x18\x01 \x01(\x04\x12\x1b\n\x04icon\x18\x02 \x01(\x0b\x32\r.douyin.Image\x12\x11\n\tavatarPos\x18\x03 \x01(\x04\x12\x1a\n\x04text\x18\x04 \x01(\x0b\x32\x0c.douyin.Text\x12\x1f\n\x08textIcon\x18\x05 \x01(\x0b\x32\r.douyin.Image\x12\x10\n\x08stayTime\x18\x06 \x01(\r\x12\x13\n\x0b\x61nimAssetId\x18\x07 \x01(\x04\x12\x1c\n\x05\x62\x61\x64ge\x18\x08 \x01(\x0b\x32\r.douyin.Image\x12\x1c\n\x14\x66lexSettingArrayList\x18\t \x03(\x04\x12&\n\x0ftextIconOverlay\x18\n \x01(\x0b\x32\r.douyin.Image\x12$\n\ranimatedBadge\x18\x0b \x01(\x0b\x32\r.douyin.Image\x12\x15\n\rhasSweepLight\x18\x0c \x01(\x08\x12 \n\x18textFlexSettingArrayList\x18\r \x03(\x04\x12\x19\n\x11\x63\x65nterAnimAssetId\x18\x0e \x01(\x04\x12#\n\x0c\x64ynamicImage\x18\x0f \x01(\x0b\x32\r.douyin.Image\x12\x34\n\x08\x65xtraMap\x18\x10 \x03(\x0b\x32\".douyin.EffectConfig.ExtraMapEntry\x12\x16\n\x0emp4AnimAssetId\x18\x11 \x01(\x04\x12\x10\n\x08priority\x18\x12 \x01(\x04\x12\x13\n\x0bmaxWaitTime\x18\x13 \x01(\x04\x12\x0f\n\x07\x64ressId\x18\x14 \x01(\t\x12\x11\n\talignment\x18\x15 \x01(\x04\x12\x17\n\x0f\x61lignmentOffset\x18\x16 \x01(\x04\x1a/\n\rExtraMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"|\n\x04Text\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x15\n\rdefaultPatter\x18\x02 \x01(\t\x12)\n\rdefaultFormat\x18\x03 \x01(\x0b\x32\x12.douyin.TextFormat\x12%\n\npiecesList\x18\x04 \x03(\x0b\x32\x11.douyin.TextPiece\"\xb4\x02\n\tTextPiece\x12\x0c\n\x04type\x18\x01 \x01(\x08\x12\"\n\x06\x66ormat\x18\x02 \x01(\x0b\x32\x12.douyin.TextFormat\x12\x13\n\x0bstringValue\x18\x03 \x01(\t\x12(\n\tuserValue\x18\x04 \x01(\x0b\x32\x15.douyin.TextPieceUser\x12(\n\tgiftValue\x18\x05 \x01(\x0b\x32\x15.douyin.TextPieceGift\x12*\n\nheartValue\x18\x06 \x01(\x0b\x32\x16.douyin.TextPieceHeart\x12\x34\n\x0fpatternRefValue\x18\x07 \x01(\x0b\x32\x1b.douyin.TextPiecePatternRef\x12*\n\nimageValue\x18\x08 \x01(\x0b\x32\x16.douyin.TextPieceImage\"C\n\x0eTextPieceImage\x12\x1c\n\x05image\x18\x01 \x01(\x0b\x32\r.douyin.Image\x12\x13\n\x0bscalingRate\x18\x02 \x01(\x02\":\n\x13TextPiecePatternRef\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65\x66\x61ultPattern\x18\x02 \x01(\t\"\x1f\n\x0eTextPieceHeart\x12\r\n\x05\x63olor\x18\x01 \x01(\t\"D\n\rTextPieceGift\x12\x0e\n\x06giftId\x18\x01 \x01(\x04\x12#\n\x07nameRef\x18\x02 \x01(\x0b\x32\x12.douyin.PatternRef\"1\n\nPatternRef\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x16\n\x0e\x64\x65\x66\x61ultPattern\x18\x02 \x01(\t\">\n\rTextPieceUser\x12\x1a\n\x04user\x18\x01 \x01(\x0b\x32\x0c.douyin.User\x12\x11\n\twithColon\x18\x02 \x01(\x08\"\xa3\x01\n\nTextFormat\x12\r\n\x05\x63olor\x18\x01 \x01(\t\x12\x0c\n\x04\x62old\x18\x02 \x01(\x08\x12\x0e\n\x06italic\x18\x03 \x01(\x08\x12\x0e\n\x06weight\x18\x04 \x01(\r\x12\x13\n\x0bitalicAngle\x18\x05 \x01(\r\x12\x10\n\x08\x66ontSize\x18\x06 \x01(\r\x12\x1a\n\x12useHeighLightColor\x18\x07 \x01(\x08\x12\x15\n\ruseRemoteClor\x18\x08 \x01(\x08\"\xca\x02\n\x0bLikeMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\x12\r\n\x05total\x18\x03 \x01(\x04\x12\r\n\x05\x63olor\x18\x04 \x01(\x04\x12\x1a\n\x04user\x18\x05 \x01(\x0b\x32\x0c.douyin.User\x12\x0c\n\x04icon\x18\x06 \x01(\t\x12\x32\n\x10\x64oubleLikeDetail\x18\x07 \x01(\x0b\x32\x18.douyin.DoubleLikeDetail\x12\x36\n\x12\x64isplayControlInfo\x18\x08 \x01(\x0b\x32\x1a.douyin.DisplayControlInfo\x12\x17\n\x0flinkmicGuestUid\x18\t \x01(\x04\x12\r\n\x05scene\x18\n \x01(\t\x12\x30\n\x0fpicoDisplayInfo\x18\x0b \x01(\x0b\x32\x17.douyin.PicoDisplayInfo\"\xcc\x01\n\rSocialMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.douyin.User\x12\x11\n\tshareType\x18\x03 \x01(\x04\x12\x0e\n\x06\x61\x63tion\x18\x04 \x01(\x04\x12\x13\n\x0bshareTarget\x18\x05 \x01(\t\x12\x13\n\x0b\x66ollowCount\x18\x06 \x01(\x04\x12\x32\n\x10publicAreaCommon\x18\x07 \x01(\x0b\x32\x18.douyin.PublicAreaCommon\"l\n\x0fPicoDisplayInfo\x12\x15\n\rcomboSumCount\x18\x01 \x01(\x04\x12\r\n\x05\x65moji\x18\x02 \x01(\t\x12 \n\temojiIcon\x18\x03 \x01(\x0b\x32\r.douyin.Image\x12\x11\n\temojiText\x18\x04 \x01(\t\"_\n\x10\x44oubleLikeDetail\x12\x12\n\ndoubleFlag\x18\x01 \x01(\x08\x12\r\n\x05seqId\x18\x02 \x01(\r\x12\x13\n\x0brenewalsNum\x18\x03 \x01(\r\x12\x13\n\x0btriggersNum\x18\x04 \x01(\r\"9\n\x12\x44isplayControlInfo\x12\x10\n\x08showText\x18\x01 \x01(\x08\x12\x11\n\tshowIcons\x18\x02 \x01(\x08\"\xc8\x01\n\x12\x45pisodeChatMessage\x12\x1f\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0f.douyin.Message\x12\x1a\n\x04user\x18\x02 \x01(\x0b\x32\x0c.douyin.User\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\x12\x16\n\x0evisibleToSende\x18\x04 \x01(\x08\x12 \n\tgiftImage\x18\x07 \x01(\x0b\x32\r.douyin.Image\x12\x12\n\nagreeMsgId\x18\x08 \x01(\x04\x12\x16\n\x0e\x63olorValueList\x18\t \x03(\t\"\x88\x01\n\x18MatchAgainstScoreMessage\x12\x1e\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\x0e.douyin.Common\x12 \n\x07\x61gainst\x18\x02 \x01(\x0b\x32\x0f.douyin.Against\x12\x13\n\x0bmatchStatus\x18\x03 \x01(\r\x12\x15\n\rdisplayStatus\x18\x04 \x01(\r\"\x92\x03\n\x07\x41gainst\x12\x10\n\x08leftName\x18\x01 \x01(\t\x12\x1f\n\x08leftLogo\x18\x02 \x01(\x0b\x32\r.douyin.Image\x12\x10\n\x08leftGoal\x18\x03 \x01(\t\x12\x11\n\trightName\x18\x06 \x01(\t\x12 \n\trightLogo\x18\x07 \x01(\x0b\x32\r.douyin.Image\x12\x11\n\trightGoal\x18\x08 \x01(\t\x12\x11\n\ttimestamp\x18\x0b \x01(\x04\x12\x0f\n\x07version\x18\x0c \x01(\x04\x12\x12\n\nleftTeamId\x18\r \x01(\x04\x12\x13\n\x0brightTeamId\x18\x0e \x01(\x04\x12\x19\n\x11\x64iffSei2absSecond\x18\x0f \x01(\x04\x12\x16\n\x0e\x66inalGoalStage\x18\x10 \x01(\r\x12\x18\n\x10\x63urrentGoalStage\x18\x11 \x01(\r\x12\x19\n\x11leftScoreAddition\x18\x12 \x01(\r\x12\x1a\n\x12rightScoreAddition\x18\x13 \x01(\r\x12\x13\n\x0bleftGoalInt\x18\x14 \x01(\x04\x12\x14\n\x0crightGoalInt\x18\x15 \x01(\x04\"\xd1\x03\n\x06\x43ommon\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\r\n\x05msgId\x18\x02 \x01(\x04\x12\x0e\n\x06roomId\x18\x03 \x01(\x04\x12\x12\n\ncreateTime\x18\x04 \x01(\x04\x12\x0f\n\x07monitor\x18\x05 \x01(\r\x12\x11\n\tisShowMsg\x18\x06 \x01(\x08\x12\x10\n\x08\x64\x65scribe\x18\x07 \x01(\t\x12\x10\n\x08\x66oldType\x18\t \x01(\x04\x12\x16\n\x0e\x61nchorFoldType\x18\n \x01(\x04\x12\x15\n\rpriorityScore\x18\x0b \x01(\x04\x12\r\n\x05logId\x18\x0c \x01(\t\x12\x19\n\x11msgProcessFilterK\x18\r \x01(\t\x12\x19\n\x11msgProcessFilterV\x18\x0e \x01(\t\x12\x1a\n\x04user\x18\x0f \x01(\x0b\x32\x0c.douyin.User\x12\x18\n\x10\x61nchorFoldTypeV2\x18\x11 \x01(\x04\x12\x1a\n\x12processAtSeiTimeMs\x18\x12 \x01(\x04\x12\x18\n\x10randomDispatchMs\x18\x13 \x01(\x04\x12\x12\n\nisDispatch\x18\x14 \x01(\x08\x12\x11\n\tchannelId\x18\x15 \x01(\x04\x12\x19\n\x11\x64iffSei2absSecond\x18\x16 \x01(\x04\x12\x1a\n\x12\x61nchorFoldDuration\x18\x17 \x01(\x04\"\xd7\x05\n\x04User\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07shortId\x18\x02 \x01(\x04\x12\x10\n\x08nickName\x18\x03 \x01(\t\x12\x0e\n\x06gender\x18\x04 \x01(\r\x12\x11\n\tSignature\x18\x05 \x01(\t\x12\r\n\x05Level\x18\x06 \x01(\r\x12\x10\n\x08\x42irthday\x18\x07 \x01(\x04\x12\x11\n\tTelephone\x18\x08 \x01(\t\x12\"\n\x0b\x41vatarThumb\x18\t \x01(\x0b\x32\r.douyin.Image\x12#\n\x0c\x41vatarMedium\x18\n \x01(\x0b\x32\r.douyin.Image\x12\"\n\x0b\x41vatarLarge\x18\x0b \x01(\x0b\x32\r.douyin.Image\x12\x10\n\x08Verified\x18\x0c \x01(\x08\x12\x12\n\nExperience\x18\r \x01(\r\x12\x0c\n\x04\x63ity\x18\x0e \x01(\t\x12\x0e\n\x06Status\x18\x0f \x01(\x05\x12\x12\n\nCreateTime\x18\x10 \x01(\x04\x12\x12\n\nModifyTime\x18\x11 \x01(\x04\x12\x0e\n\x06Secret\x18\x12 \x01(\r\x12\x16\n\x0eShareQrcodeUri\x18\x13 \x01(\t\x12\x1a\n\x12IncomeSharePercent\x18\x14 \x01(\r\x12%\n\x0e\x42\x61\x64geImageList\x18\x15 \x03(\x0b\x32\r.douyin.Image\x12&\n\nFollowInfo\x18\x16 \x01(\x0b\x32\x12.douyin.FollowInfo\x12\x11\n\tSpecialId\x18\x1a \x01(\t\x12#\n\x0c\x41vatarBorder\x18\x1b \x01(\x0b\x32\r.douyin.Image\x12\x1c\n\x05Medal\x18\x1c \x01(\x0b\x32\r.douyin.Image\x12(\n\x11RealTimeIconsList\x18\x1d \x03(\x0b\x32\r.douyin.Image\x12\x11\n\tdisplayId\x18& \x01(\t\x12\x0e\n\x06secUid\x18. \x01(\t\x12\x17\n\x0e\x66\x61nTicketCount\x18\xfe\x07 \x01(\x04\x12\x0e\n\x05idStr\x18\x84\x08 \x01(\t\x12\x11\n\x08\x61geRange\x18\x95\x08 \x01(\r\"\xae\x01\n\nFollowInfo\x12\x16\n\x0e\x66ollowingCount\x18\x01 \x01(\x04\x12\x15\n\rfollowerCount\x18\x02 \x01(\x04\x12\x14\n\x0c\x66ollowStatus\x18\x03 \x01(\x04\x12\x12\n\npushStatus\x18\x04 \x01(\x04\x12\x12\n\nremarkName\x18\x05 \x01(\t\x12\x18\n\x10\x66ollowerCountStr\x18\x06 \x01(\t\x12\x19\n\x11\x66ollowingCountStr\x18\x07 \x01(\t\"\xa2\x02\n\x05Image\x12\x13\n\x0burlListList\x18\x01 \x03(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x0e\n\x06height\x18\x03 \x01(\x04\x12\r\n\x05width\x18\x04 \x01(\x04\x12\x10\n\x08\x61vgColor\x18\x05 \x01(\t\x12\x11\n\timageType\x18\x06 \x01(\r\x12\x12\n\nopenWebUrl\x18\x07 \x01(\t\x12%\n\x07\x63ontent\x18\x08 \x01(\x0b\x32\x14.douyin.ImageContent\x12\x12\n\nisAnimated\x18\t \x01(\x08\x12\x31\n\x0f\x46lexSettingList\x18\n \x01(\x0b\x32\x18.douyin.NinePatchSetting\x12\x31\n\x0fTextSettingList\x18\x0b \x01(\x0b\x32\x18.douyin.NinePatchSetting\"+\n\x10NinePatchSetting\x12\x17\n\x0fsettingListList\x18\x01 \x03(\t\"W\n\x0cImageContent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tfontColor\x18\x02 \x01(\t\x12\r\n\x05level\x18\x03 \x01(\x04\x12\x17\n\x0f\x61lternativeText\x18\x04 \x01(\t\"\xb3\x01\n\tPushFrame\x12\r\n\x05seqId\x18\x01 \x01(\x04\x12\r\n\x05logId\x18\x02 \x01(\x04\x12\x0f\n\x07service\x18\x03 \x01(\x04\x12\x0e\n\x06method\x18\x04 \x01(\x04\x12(\n\x0bheadersList\x18\x05 \x03(\x0b\x32\x13.douyin.HeadersList\x12\x17\n\x0fpayloadEncoding\x18\x06 \x01(\t\x12\x13\n\x0bpayloadType\x18\x07 \x01(\t\x12\x0f\n\x07payload\x18\x08 \x01(\x0c\"\x0f\n\x02kk\x12\t\n\x01k\x18\x0e \x01(\r\"\xcd\x01\n\x0fSendMessageBody\x12\x16\n\x0e\x63onversationId\x18\x01 \x01(\t\x12\x18\n\x10\x63onversationType\x18\x02 \x01(\r\x12\x1b\n\x13\x63onversationShortId\x18\x03 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x04 \x01(\t\x12\x1c\n\x03\x65xt\x18\x05 \x03(\x0b\x32\x0f.douyin.ExtList\x12\x13\n\x0bmessageType\x18\x06 \x01(\r\x12\x0e\n\x06ticket\x18\x07 \x01(\t\x12\x17\n\x0f\x63lientMessageId\x18\x08 \x01(\t\"%\n\x07\x45xtList\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xb7\x01\n\x03Rsp\x12\t\n\x01\x61\x18\x01 \x01(\x05\x12\t\n\x01\x62\x18\x02 \x01(\x05\x12\t\n\x01\x63\x18\x03 \x01(\x05\x12\t\n\x01\x64\x18\x04 \x01(\t\x12\t\n\x01\x65\x18\x05 \x01(\x05\x12\x18\n\x01\x66\x18\x06 \x01(\x0b\x32\r.douyin.Rsp.F\x12\t\n\x01g\x18\x07 \x01(\t\x12\t\n\x01h\x18\n \x01(\x04\x12\t\n\x01i\x18\x0b \x01(\x04\x12\t\n\x01j\x18\r \x01(\x04\x1a\x33\n\x01\x46\x12\n\n\x02q1\x18\x01 \x01(\x04\x12\n\n\x02q3\x18\x03 \x01(\x04\x12\n\n\x02q4\x18\x04 \x01(\t\x12\n\n\x02q5\x18\x05 \x01(\x04\"\xb2\x02\n\nPreMessage\x12\x0b\n\x03\x63md\x18\x01 \x01(\r\x12\x12\n\nsequenceId\x18\x02 \x01(\r\x12\x12\n\nsdkVersion\x18\x03 \x01(\t\x12\r\n\x05token\x18\x04 \x01(\t\x12\r\n\x05refer\x18\x05 \x01(\r\x12\x11\n\tinboxType\x18\x06 \x01(\r\x12\x13\n\x0b\x62uildNumber\x18\x07 \x01(\t\x12\x30\n\x0fsendMessageBody\x18\x08 \x01(\x0b\x32\x17.douyin.SendMessageBody\x12\n\n\x02\x61\x61\x18\t \x01(\t\x12\x16\n\x0e\x64\x65vicePlatform\x18\x0b \x01(\t\x12$\n\x07headers\x18\x0f \x03(\x0b\x32\x13.douyin.HeadersList\x12\x10\n\x08\x61uthType\x18\x12 \x01(\r\x12\x0b\n\x03\x62iz\x18\x15 \x01(\t\x12\x0e\n\x06\x61\x63\x63\x65ss\x18\x16 \x01(\t\")\n\x0bHeadersList\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t*C\n\x0e\x43ommentTypeTag\x12\x19\n\x15\x43OMMENTTYPETAGUNKNOWN\x10\x00\x12\x16\n\x12\x43OMMENTTYPETAGSTAR\x10\x01\x42\x0cZ\n./protobufb\x06proto3') 18 | 19 | _globals = globals() 20 | _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) 21 | _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dy_pb2', _globals) 22 | if _descriptor._USE_C_DESCRIPTORS == False: 23 | _globals['DESCRIPTOR']._options = None 24 | _globals['DESCRIPTOR']._serialized_options = b'Z\n./protobuf' 25 | _globals['_RESPONSE_ROUTEPARAMSENTRY']._options = None 26 | _globals['_RESPONSE_ROUTEPARAMSENTRY']._serialized_options = b'8\001' 27 | _globals['_EFFECTCONFIG_EXTRAMAPENTRY']._options = None 28 | _globals['_EFFECTCONFIG_EXTRAMAPENTRY']._serialized_options = b'8\001' 29 | _globals['_COMMENTTYPETAG']._serialized_start=10528 30 | _globals['_COMMENTTYPETAG']._serialized_end=10595 31 | _globals['_RESPONSE']._serialized_start=21 32 | _globals['_RESPONSE']._serialized_end=377 33 | _globals['_RESPONSE_ROUTEPARAMSENTRY']._serialized_start=327 34 | _globals['_RESPONSE_ROUTEPARAMSENTRY']._serialized_end=377 35 | _globals['_MESSAGE']._serialized_start=380 36 | _globals['_MESSAGE']._serialized_end=534 37 | _globals['_CHATMESSAGE']._serialized_start=537 38 | _globals['_CHATMESSAGE']._serialized_end=1123 39 | _globals['_LANDSCAPEAREACOMMON']._serialized_start=1126 40 | _globals['_LANDSCAPEAREACOMMON']._serialized_end=1287 41 | _globals['_ROOMUSERSEQMESSAGE']._serialized_start=1290 42 | _globals['_ROOMUSERSEQMESSAGE']._serialized_end=1681 43 | _globals['_COMMONTEXTMESSAGE']._serialized_start=1683 44 | _globals['_COMMONTEXTMESSAGE']._serialized_end=1777 45 | _globals['_UPDATEFANTICKETMESSAGE']._serialized_start=1780 46 | _globals['_UPDATEFANTICKETMESSAGE']._serialized_end=1917 47 | _globals['_ROOMUSERSEQMESSAGECONTRIBUTOR']._serialized_start=1920 48 | _globals['_ROOMUSERSEQMESSAGECONTRIBUTOR']._serialized_end=2089 49 | _globals['_GIFTMESSAGE']._serialized_start=2092 50 | _globals['_GIFTMESSAGE']._serialized_end=2909 51 | _globals['_GIFTSTRUCT']._serialized_start=2912 52 | _globals['_GIFTSTRUCT']._serialized_end=3331 53 | _globals['_GIFTIMPRIORITY']._serialized_start=3333 54 | _globals['_GIFTIMPRIORITY']._serialized_end=3418 55 | _globals['_TEXTEFFECT']._serialized_start=3420 56 | _globals['_TEXTEFFECT']._serialized_end=3521 57 | _globals['_TEXTEFFECTDETAIL']._serialized_start=3524 58 | _globals['_TEXTEFFECTDETAIL']._serialized_end=3834 59 | _globals['_MEMBERMESSAGE']._serialized_start=3837 60 | _globals['_MEMBERMESSAGE']._serialized_end=4460 61 | _globals['_PUBLICAREACOMMON']._serialized_start=4462 62 | _globals['_PUBLICAREACOMMON']._serialized_end=4572 63 | _globals['_EFFECTCONFIG']._serialized_start=4575 64 | _globals['_EFFECTCONFIG']._serialized_end=5237 65 | _globals['_EFFECTCONFIG_EXTRAMAPENTRY']._serialized_start=5190 66 | _globals['_EFFECTCONFIG_EXTRAMAPENTRY']._serialized_end=5237 67 | _globals['_TEXT']._serialized_start=5239 68 | _globals['_TEXT']._serialized_end=5363 69 | _globals['_TEXTPIECE']._serialized_start=5366 70 | _globals['_TEXTPIECE']._serialized_end=5674 71 | _globals['_TEXTPIECEIMAGE']._serialized_start=5676 72 | _globals['_TEXTPIECEIMAGE']._serialized_end=5743 73 | _globals['_TEXTPIECEPATTERNREF']._serialized_start=5745 74 | _globals['_TEXTPIECEPATTERNREF']._serialized_end=5803 75 | _globals['_TEXTPIECEHEART']._serialized_start=5805 76 | _globals['_TEXTPIECEHEART']._serialized_end=5836 77 | _globals['_TEXTPIECEGIFT']._serialized_start=5838 78 | _globals['_TEXTPIECEGIFT']._serialized_end=5906 79 | _globals['_PATTERNREF']._serialized_start=5908 80 | _globals['_PATTERNREF']._serialized_end=5957 81 | _globals['_TEXTPIECEUSER']._serialized_start=5959 82 | _globals['_TEXTPIECEUSER']._serialized_end=6021 83 | _globals['_TEXTFORMAT']._serialized_start=6024 84 | _globals['_TEXTFORMAT']._serialized_end=6187 85 | _globals['_LIKEMESSAGE']._serialized_start=6190 86 | _globals['_LIKEMESSAGE']._serialized_end=6520 87 | _globals['_SOCIALMESSAGE']._serialized_start=6523 88 | _globals['_SOCIALMESSAGE']._serialized_end=6727 89 | _globals['_PICODISPLAYINFO']._serialized_start=6729 90 | _globals['_PICODISPLAYINFO']._serialized_end=6837 91 | _globals['_DOUBLELIKEDETAIL']._serialized_start=6839 92 | _globals['_DOUBLELIKEDETAIL']._serialized_end=6934 93 | _globals['_DISPLAYCONTROLINFO']._serialized_start=6936 94 | _globals['_DISPLAYCONTROLINFO']._serialized_end=6993 95 | _globals['_EPISODECHATMESSAGE']._serialized_start=6996 96 | _globals['_EPISODECHATMESSAGE']._serialized_end=7196 97 | _globals['_MATCHAGAINSTSCOREMESSAGE']._serialized_start=7199 98 | _globals['_MATCHAGAINSTSCOREMESSAGE']._serialized_end=7335 99 | _globals['_AGAINST']._serialized_start=7338 100 | _globals['_AGAINST']._serialized_end=7740 101 | _globals['_COMMON']._serialized_start=7743 102 | _globals['_COMMON']._serialized_end=8208 103 | _globals['_USER']._serialized_start=8211 104 | _globals['_USER']._serialized_end=8938 105 | _globals['_FOLLOWINFO']._serialized_start=8941 106 | _globals['_FOLLOWINFO']._serialized_end=9115 107 | _globals['_IMAGE']._serialized_start=9118 108 | _globals['_IMAGE']._serialized_end=9408 109 | _globals['_NINEPATCHSETTING']._serialized_start=9410 110 | _globals['_NINEPATCHSETTING']._serialized_end=9453 111 | _globals['_IMAGECONTENT']._serialized_start=9455 112 | _globals['_IMAGECONTENT']._serialized_end=9542 113 | _globals['_PUSHFRAME']._serialized_start=9545 114 | _globals['_PUSHFRAME']._serialized_end=9724 115 | _globals['_KK']._serialized_start=9726 116 | _globals['_KK']._serialized_end=9741 117 | _globals['_SENDMESSAGEBODY']._serialized_start=9744 118 | _globals['_SENDMESSAGEBODY']._serialized_end=9949 119 | _globals['_EXTLIST']._serialized_start=9951 120 | _globals['_EXTLIST']._serialized_end=9988 121 | _globals['_RSP']._serialized_start=9991 122 | _globals['_RSP']._serialized_end=10174 123 | _globals['_RSP_F']._serialized_start=10123 124 | _globals['_RSP_F']._serialized_end=10174 125 | _globals['_PREMESSAGE']._serialized_start=10177 126 | _globals['_PREMESSAGE']._serialized_end=10483 127 | _globals['_HEADERSLIST']._serialized_start=10485 128 | _globals['_HEADERSLIST']._serialized_end=10526 129 | # @@protoc_insertion_point(module_scope) 130 | --------------------------------------------------------------------------------