From 8f1893fdb16fecfae02788adfa0dd986a5abe200 Mon Sep 17 00:00:00 2001
From: Jerry Yan <792602257@qq.com>
Date: Wed, 1 Jan 2020 17:17:53 +0800
Subject: [PATCH] =?UTF-8?q?Proto=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Demo/Xigua.proto       |   4 -
 Demo/XiguaCommon.proto |   6 +-
 Demo/result5.txt       | 605 +++++++++++++++++++++++++++++++++++++++++
 XiguaCommon_pb2.py     |  69 ++++-
 Xigua_pb2.py           |  57 +---
 5 files changed, 673 insertions(+), 68 deletions(-)
 create mode 100644 Demo/result5.txt

diff --git a/Demo/Xigua.proto b/Demo/Xigua.proto
index e456548..3b3212e 100755
--- a/Demo/Xigua.proto
+++ b/Demo/Xigua.proto
@@ -4,10 +4,6 @@ import "XiguaCommon.proto";
 
 message XiguaLive {
 	message Data {
-		message Message {
-			required CommonInfo commonInfo = 1;
-			optional string content = 3;
-		}
 		// WebcastChatMessage 聊天
 		// WebcastGiftMessage 礼物
 		required string method = 1;
diff --git a/Demo/XiguaCommon.proto b/Demo/XiguaCommon.proto
index 2b37acb..37c25fe 100644
--- a/Demo/XiguaCommon.proto
+++ b/Demo/XiguaCommon.proto
@@ -1,6 +1,10 @@
 syntax = "proto2";
 import "XiguaUser.proto";
 import "XiguaGift.proto";
+message Message {
+	required CommonInfo commonInfo = 1;
+	optional string content = 3;
+}
 // 样式
 message Style {
 	optional string color = 1;
@@ -23,7 +27,7 @@ message DisplayText {
 	required string method = 1;
 	required string format = 2;
 	optional Style bgStyle = 3;
-	optional Params params = 4;
+	repeated Params params = 4;
 }
 // 通用定义
 message CommonInfo {
diff --git a/Demo/result5.txt b/Demo/result5.txt
new file mode 100644
index 0000000..ed10149
--- /dev/null
+++ b/Demo/result5.txt
@@ -0,0 +1,605 @@
+1 {
+  1: "WebcastChatMessage"
+  2 {
+    1 {
+      1: "WebcastChatMessage"
+      2: 6776883976293452551
+      3: 6776859660747344653
+      4: 1577866267927
+      6: 1
+      8 {
+        1: "webcast_chat_display_text"
+        2: "{0:user}{1:string}"
+        3 {
+          1: "#ff36c0cf"
+          4: 400
+        }
+        4 {
+          1: 11
+          2 {
+            1: "#60000000"
+            4: 400
+          }
+          21 {
+            1 {
+              1: 51510235218
+              3: "\351\222\242\346\236\252\345\205\204\345\274\237\350\266\205\345\223\245"
+              4: 1
+              9 {
+                1: "http://sf6-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/2e8b032f45854441bd5e539ea892e00f~120x256.image"
+              }
+              21 {
+                1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_admin_badge_v2.png~tplv-obj.image"
+                1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_admin_badge_v2.png~tplv-obj.image"
+                1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_admin_badge_v2.png~tplv-obj.image"
+                2: "webcast/xigua_admin_badge_v2.png"
+                3: 16
+                4: 28
+                6: 3
+              }
+              21 {
+                1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+                1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+                1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+                2: "webcast/xigua_paygrade_level_16.png"
+                3: 16
+                4: 30
+                6: 1
+                7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2FhonorLevel%2Findex.html&__live_platform__=webcast&type=popup&gravity=bottom&height=400&radius=8"
+              }
+              21 {
+                1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                2: "webcast/xigua_fansclub_medal_15.png"
+                6: 7
+                8 {
+                  1: "\351\222\242\346\236\252\346\211\213"
+                  2: "#FFFFFF"
+                  3: 15
+                }
+              }
+              22 {
+                1: 45
+                2: 17
+              }
+              23 {
+                6: 16
+                19 {
+                  1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+                  1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+                  1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+                  2: "webcast/xigua_paygrade_level_16.png"
+                  3: 16
+                  4: 30
+                  6: 1
+                  7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2FhonorLevel%2Findex.html&__live_platform__=webcast&type=popup&gravity=bottom&height=400&radius=8"
+                }
+              }
+              24 {
+                1 {
+                  1: "\351\222\242\346\236\252\346\211\213"
+                  2: 15
+                  3: 1
+                  4 {
+                    1 {
+                      1: 2
+                      2 {
+                        1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                        1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                        1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                        2: "webcast/xigua_fansclub_medal_15.png"
+                        3: 48
+                        4: 150
+                      }
+                    }
+                    2: "\351\222\242\346\236\252\346\211\213"
+                  }
+                }
+              }
+              32 {
+                2: 1
+              }
+              38: "0"
+              46: "MS4wLjABAAAALx1qtwLJiLVbuWXt7ZYTxHxVFvZz2PITy5YfQidfGp4"
+              50 {
+                1 {
+                  3: 1008
+                  4: 1125
+                }
+                3 {
+                  3: 105
+                  4: 111
+                  7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2Fnoble%2Fnoble_privilege_intro%2Findex.html%3Fforbid_right_back%3D1&status_bar_bg_color=%2300000000&noble_intercept=1&__live_platform__=webcast&type=fullscreen&hide_nav_bar=1&status_bar_color=white"
+                }
+                4: "\346\231\256\351\200\232\347\224\250\346\210\267"
+                6 {
+                  3: 366
+                  4: 615
+                }
+                7 {
+                  3: 60
+                  4: 108
+                }
+                8 {
+                  1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+                  1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+                  1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+                  2: "webcast/noble_boarder.png"
+                  3: 64
+                  4: 64
+                }
+              }
+            }
+            2: 1
+          }
+        }
+        4 {
+          1: 1
+          11: "\350\277\231\346\263\242\346\223\215\344\275\234\343\200\202\346\254\272\350\264\237\344\272\272\345\221\200"
+        }
+      }
+    }
+    2 {
+      1: 51510235218
+      3: "\351\222\242\346\236\252\345\205\204\345\274\237\350\266\205\345\223\245"
+      4: 1
+      9 {
+        1: "http://sf6-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/2e8b032f45854441bd5e539ea892e00f~120x256.image"
+      }
+      21 {
+        1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_admin_badge_v2.png~tplv-obj.image"
+        1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_admin_badge_v2.png~tplv-obj.image"
+        1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_admin_badge_v2.png~tplv-obj.image"
+        2: "webcast/xigua_admin_badge_v2.png"
+        3: 16
+        4: 28
+        6: 3
+      }
+      21 {
+        1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+        1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+        1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+        2: "webcast/xigua_paygrade_level_16.png"
+        3: 16
+        4: 30
+        6: 1
+        7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2FhonorLevel%2Findex.html&__live_platform__=webcast&type=popup&gravity=bottom&height=400&radius=8"
+      }
+      21 {
+        1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+        1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+        1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+        2: "webcast/xigua_fansclub_medal_15.png"
+        6: 7
+        8 {
+          1: "\351\222\242\346\236\252\346\211\213"
+          2: "#FFFFFF"
+          3: 15
+        }
+      }
+      22 {
+        1: 45
+        2: 17
+      }
+      23 {
+        6: 16
+        19 {
+          1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+          1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+          1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_16.png~tplv-obj.png"
+          2: "webcast/xigua_paygrade_level_16.png"
+          3: 16
+          4: 30
+          6: 1
+          7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2FhonorLevel%2Findex.html&__live_platform__=webcast&type=popup&gravity=bottom&height=400&radius=8"
+        }
+      }
+      24 {
+        1 {
+          1: "\351\222\242\346\236\252\346\211\213"
+          2: 15
+          3: 1
+          4 {
+            1 {
+              1: 2
+              2 {
+                1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_15.png~tplv-obj.image"
+                2: "webcast/xigua_fansclub_medal_15.png"
+                3: 48
+                4: 150
+              }
+            }
+            2: "\351\222\242\346\236\252\346\211\213"
+          }
+        }
+      }
+      32 {
+        2: 1
+      }
+      38: "0"
+      46: "MS4wLjABAAAALx1qtwLJiLVbuWXt7ZYTxHxVFvZz2PITy5YfQidfGp4"
+      50 {
+        1 {
+          3: 1008
+          4: 1125
+        }
+        3 {
+          3: 105
+          4: 111
+          7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2Fnoble%2Fnoble_privilege_intro%2Findex.html%3Fforbid_right_back%3D1&status_bar_bg_color=%2300000000&noble_intercept=1&__live_platform__=webcast&type=fullscreen&hide_nav_bar=1&status_bar_color=white"
+        }
+        4: "\346\231\256\351\200\232\347\224\250\346\210\267"
+        6 {
+          3: 366
+          4: 615
+        }
+        7 {
+          3: 60
+          4: 108
+        }
+        8 {
+          1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+          1: "http://p6-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+          1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+          2: "webcast/noble_boarder.png"
+          3: 64
+          4: 64
+        }
+      }
+    }
+    3: "\350\277\231\346\263\242\346\223\215\344\275\234\343\200\202\346\254\272\350\264\237\344\272\272\345\221\200"
+  }
+}
+1 {
+  1: "WebcastChatMessage"
+  2 {
+    1 {
+      1: "WebcastChatMessage"
+      2: 6776883987831969295
+      3: 6776859660747344653
+      4: 1577866267933
+      6: 1
+    }
+    2 {
+      1: 100902326983
+      3: "\346\211\254\345\256\266\345\206\233\347\201\254\344\272\232\351\243\236"
+      4: 1
+      9 {
+        1: "http://sf1-ttcdn-tos.pstatp.com/img/mosaic-legacy/aade000f6df1961243c5~120x256.image"
+      }
+      21 {
+        1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_9.png~tplv-obj.png"
+        1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_9.png~tplv-obj.png"
+        1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_9.png~tplv-obj.png"
+        2: "webcast/xigua_paygrade_level_9.png"
+        3: 16
+        4: 30
+        6: 1
+        7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2FhonorLevel%2Findex.html&type=popup&gravity=bottom&height=400&radius=8&__live_platform__=webcast"
+      }
+      21 {
+        1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_4.png~tplv-obj.image"
+        1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_4.png~tplv-obj.image"
+        1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_4.png~tplv-obj.image"
+        2: "webcast/xigua_fansclub_medal_4.png"
+        6: 7
+        8 {
+          1: "\351\222\242\346\236\252\346\211\213"
+          2: "#FFFFFF"
+          3: 4
+        }
+      }
+      22 {
+        1: 45
+        2: 7
+      }
+      23 {
+        6: 9
+        19 {
+          1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_9.png~tplv-obj.png"
+          1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_9.png~tplv-obj.png"
+          1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_paygrade_level_9.png~tplv-obj.png"
+          2: "webcast/xigua_paygrade_level_9.png"
+          3: 16
+          4: 30
+          6: 1
+          7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2FhonorLevel%2Findex.html&type=popup&gravity=bottom&height=400&radius=8&__live_platform__=webcast"
+        }
+      }
+      24 {
+        1 {
+          1: "\351\222\242\346\236\252\346\211\213"
+          2: 4
+          3: 1
+          4 {
+            1 {
+              1: 2
+              2 {
+                1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_4.png~tplv-obj.image"
+                1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_4.png~tplv-obj.image"
+                1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/xigua_fansclub_medal_4.png~tplv-obj.image"
+                2: "webcast/xigua_fansclub_medal_4.png"
+                3: 48
+                4: 150
+              }
+            }
+            2: "\351\222\242\346\236\252\346\211\213"
+          }
+        }
+      }
+      32: ""
+      38: "0"
+      46: "MS4wLjABAAAArfQQ4YVnKMKthzbKgv2swkggu8Ovv8eQCp56JmvvRvE"
+      50 {
+        1 {
+          3: 1008
+          4: 1125
+        }
+        3 {
+          3: 105
+          4: 111
+          7: "sslocal://webcast_webview?url=https%3A%2F%2Fwebcast.ixigua.com%2Ffalcon%2Fwebcast_xigua%2Fpage%2Fnoble%2Fnoble_privilege_intro%2Findex.html%3Fforbid_right_back%3D1&type=fullscreen&hide_nav_bar=1&status_bar_color=white&status_bar_bg_color=%2300000000&noble_intercept=1&__live_platform__=webcast"
+        }
+        4: "\346\231\256\351\200\232\347\224\250\346\210\267"
+        6 {
+          3: 366
+          4: 615
+        }
+        7 {
+          3: 60
+          4: 108
+        }
+        8 {
+          1: "http://p1-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+          1: "http://p3-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+          1: "http://p9-webcast-xgcdn.byteimg.com/img/webcast/noble_boarder.png~tplv-obj.image"
+          2: "webcast/noble_boarder.png"
+          3: 64
+          4: 64
+        }
+      }
+    }
+    3: "\351\230\277\344\274\237\345\220\271\347\211\233\346\257\224"
+  }
+}
+1 {
+  1: "WebcastRoomUserSeqMessage"
+  2 {
+    1 {
+      1: "WebcastRoomUserSeqMessage"
+      2: 6776884008732789507
+      3: 6776859660747344653
+      4: 1577866268029
+    }
+    2 {
+      1: 1975
+      2 {
+        1: 479033461313651
+        9 {
+          1: "http://sf1-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/49b2bd0b157e4787917b029da02d2622~120x256.image"
+        }
+        23: ""
+      }
+      3: 1
+    }
+    2 {
+      1: 999
+      2 {
+        1: 3962278245043603
+        9 {
+          1: "http://sf3-ttcdn-tos.pstatp.com/img/mosaic-legacy/241f1001013a2e8505175~120x256.image"
+        }
+        23: ""
+      }
+      3: 2
+    }
+    2 {
+      1: 571
+      2 {
+        1: 53231054839
+        9 {
+          1: "http://wx.qlogo.cn/mmopen/XFJ8HdGGwGDwy1reeaMqlfQrUh81uSv81HqUsESBK8YsNQ2oEIct3ibwdq1k55HLC7m43nfFiaX3EYpw2lKH4wibw/64"
+        }
+        23: ""
+      }
+      3: 3
+    }
+    2 {
+      1: 520
+      2 {
+        1: 88336033429
+        9 {
+          1: "http://sf3-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/647c6fcddfa84d328d9c51f0294599d0~120x256.image"
+        }
+        23: ""
+      }
+      3: 4
+    }
+    2 {
+      1: 520
+      2 {
+        1: 58722717092
+        9 {
+          1: "http://sf6-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/8a4dc6f002b545bca632615290f4527d~120x256.image"
+        }
+        23: ""
+      }
+      3: 5
+    }
+    2 {
+      1: 297
+      2 {
+        1: 52379408873
+        9 {
+          1: "http://sf3-ttcdn-tos.pstatp.com/img/mosaic-legacy/24990023eae5e3325fcc~120x256.image"
+        }
+        23: ""
+      }
+      3: 6
+    }
+    2 {
+      1: 140
+      2 {
+        1: 57254508132
+        9 {
+          1: "http://sf3-ttcdn-tos.pstatp.com/img/mosaic-legacy/216c00283d70176a9e97~120x256.image"
+        }
+        23: ""
+      }
+      3: 7
+    }
+    2 {
+      1: 128
+      2 {
+        1: 3056263838569380
+        9 {
+          1: "http://sf1-ttcdn-tos.pstatp.com/img/mosaic-legacy/fe8f000122d925f9a0fb~120x256.image"
+        }
+        23: ""
+      }
+      3: 8
+    }
+    2 {
+      1: 99
+      2 {
+        1: 23239313505
+        9 {
+          1: "http://sf6-ttcdn-tos.pstatp.com/img/mosaic-legacy/5d4700073713949f592e~120x256.image"
+        }
+        23: ""
+      }
+      3: 9
+    }
+    2 {
+      1: 35
+      2 {
+        1: 3239311302
+        9 {
+          1: "http://sf1-ttcdn-tos.pstatp.com/img/mosaic-legacy/737/6093229802~120x256.image"
+        }
+        23: ""
+      }
+      3: 10
+    }
+    2 {
+      1: 30
+      2 {
+        1: 822069738617544
+        9 {
+          1: "http://sf3-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/2b5f6e3d331443b3bf51875567fa2b5d~120x256.image"
+        }
+        23: ""
+      }
+      3: 11
+    }
+    2 {
+      1: 22
+      2 {
+        1: 83166975758782
+        9 {
+          1: "http://sf6-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/0baffeeb3d2d4fa8898b275968f18564~120x256.image"
+        }
+        23: ""
+      }
+      3: 12
+    }
+    2 {
+      1: 14
+      2 {
+        1: 104729678256
+        9 {
+          1: "http://sf1-ttcdn-tos.pstatp.com/img/mosaic-legacy/db140012b3f29800ab6d~120x256.image"
+        }
+        23: ""
+      }
+      3: 13
+    }
+    2 {
+      1: 11
+      2 {
+        1: 5538311676
+        9 {
+          1: "http://sf3-ttcdn-tos.pstatp.com/img/mosaic-legacy/dad300141ece34b4e3c7~120x256.image"
+        }
+        23: ""
+      }
+      3: 14
+    }
+    2 {
+      1: 8
+      2 {
+        1: 109675723458
+        9 {
+          1: "http://sf6-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/9cf549b429f740f6a90c41e4b5b632b9~120x256.image"
+        }
+        23: ""
+      }
+      3: 15
+    }
+    2 {
+      1: 6
+      2 {
+        1: 81425804261
+        9 {
+          1: "http://sf6-ttcdn-tos.pstatp.com/img/mosaic-legacy/9fd60005b91e43cc85e2~120x256.image"
+        }
+        23: ""
+      }
+      3: 16
+    }
+    2 {
+      1: 5
+      2 {
+        1: 2115111742610984
+        9 {
+          1: "http://sf6-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/b20c086a5b644a6f919dfdd3dad442e6~120x256.image"
+        }
+        23: ""
+      }
+      3: 17
+    }
+    2 {
+      1: 3
+      2 {
+        1: 100743319316
+        9 {
+          1: "http://sf6-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/6d8e7bba2195468fb24a4e3ea7992b92~120x256.image"
+        }
+        23: ""
+      }
+      3: 18
+    }
+    2 {
+      1: 2
+      2 {
+        1: 51035982268
+        9 {
+          1: "http://sf1-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/d041e17415bc42c9a9815a8aaa2c3d8b~120x256.image"
+        }
+        23: ""
+      }
+      3: 19
+    }
+    2 {
+      1: 1
+      2 {
+        1: 1772009086784855
+        9 {
+          1: "http://sf3-ttcdn-tos.pstatp.com/img/tos-cn-i-0022/9fe0aa53dc254c0081a0fc2ce65f1559~120x256.image"
+        }
+        23: ""
+      }
+      3: 20
+    }
+    3: 826
+    4: "13\344\270\207\344\272\272\346\260\224"
+    6: 136763
+  }
+}
+2: "6776884008732789507_1577866268700_1_1"
+3: 1000
+4: 1577866268700
+5: "fetch_time:1577866268700|start_time:1577866263586|fetch_id:6776884010443557636|flag:0|seq:22"
diff --git a/XiguaCommon_pb2.py b/XiguaCommon_pb2.py
index 3bc09f1..647c82e 100644
--- a/XiguaCommon_pb2.py
+++ b/XiguaCommon_pb2.py
@@ -20,13 +20,51 @@ DESCRIPTOR = _descriptor.FileDescriptor(
   package='',
   syntax='proto2',
   serialized_options=None,
-  serialized_pb=b'\n\x11XiguaCommon.proto\x1a\x0fXiguaUser.proto\x1a\x0fXiguaGift.proto\"*\n\x05Style\x12\r\n\x05\x63olor\x18\x01 \x01(\t\x12\x12\n\nfontWeight\x18\x04 \x01(\x05\"g\n\x06Params\x12\x0c\n\x04type\x18\x01 \x02(\x05\x12\x15\n\x05style\x18\x02 \x01(\x0b\x32\x06.Style\x12\x0e\n\x06string\x18\x0b \x01(\t\x12\x13\n\x04user\x18\x15 \x01(\x0b\x32\x05.User\x12\x13\n\x04gift\x18\x16 \x01(\x0b\x32\x05.Gift\"_\n\x0b\x44isplayText\x12\x0e\n\x06method\x18\x01 \x02(\t\x12\x0e\n\x06\x66ormat\x18\x02 \x02(\t\x12\x17\n\x07\x62gStyle\x18\x03 \x01(\x0b\x32\x06.Style\x12\x17\n\x06params\x18\x04 \x01(\x0b\x32\x07.Params\"u\n\nCommonInfo\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0e\n\x06msg_id\x18\x02 \x01(\x05\x12\x0f\n\x07room_id\x18\x03 \x01(\x05\x12\x13\n\x0b\x63reate_time\x18\x04 \x01(\x05\x12!\n\x0b\x64isplayText\x18\x08 \x01(\x0b\x32\x0c.DisplayText'
+  serialized_pb=b'\n\x11XiguaCommon.proto\x1a\x0fXiguaUser.proto\x1a\x0fXiguaGift.proto\";\n\x07Message\x12\x1f\n\ncommonInfo\x18\x01 \x02(\x0b\x32\x0b.CommonInfo\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t\"*\n\x05Style\x12\r\n\x05\x63olor\x18\x01 \x01(\t\x12\x12\n\nfontWeight\x18\x04 \x01(\x05\"g\n\x06Params\x12\x0c\n\x04type\x18\x01 \x02(\x05\x12\x15\n\x05style\x18\x02 \x01(\x0b\x32\x06.Style\x12\x0e\n\x06string\x18\x0b \x01(\t\x12\x13\n\x04user\x18\x15 \x01(\x0b\x32\x05.User\x12\x13\n\x04gift\x18\x16 \x01(\x0b\x32\x05.Gift\"_\n\x0b\x44isplayText\x12\x0e\n\x06method\x18\x01 \x02(\t\x12\x0e\n\x06\x66ormat\x18\x02 \x02(\t\x12\x17\n\x07\x62gStyle\x18\x03 \x01(\x0b\x32\x06.Style\x12\x17\n\x06params\x18\x04 \x03(\x0b\x32\x07.Params\"u\n\nCommonInfo\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0e\n\x06msg_id\x18\x02 \x01(\x05\x12\x0f\n\x07room_id\x18\x03 \x01(\x05\x12\x13\n\x0b\x63reate_time\x18\x04 \x01(\x05\x12!\n\x0b\x64isplayText\x18\x08 \x01(\x0b\x32\x0c.DisplayText'
   ,
   dependencies=[XiguaUser__pb2.DESCRIPTOR,XiguaGift__pb2.DESCRIPTOR,])
 
 
 
 
+_MESSAGE = _descriptor.Descriptor(
+  name='Message',
+  full_name='Message',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='commonInfo', full_name='Message.commonInfo', index=0,
+      number=1, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='content', full_name='Message.content', index=1,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=b"".decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto2',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=55,
+  serialized_end=114,
+)
+
+
 _STYLE = _descriptor.Descriptor(
   name='Style',
   full_name='Style',
@@ -60,8 +98,8 @@ _STYLE = _descriptor.Descriptor(
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=55,
-  serialized_end=97,
+  serialized_start=116,
+  serialized_end=158,
 )
 
 
@@ -119,8 +157,8 @@ _PARAMS = _descriptor.Descriptor(
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=99,
-  serialized_end=202,
+  serialized_start=160,
+  serialized_end=263,
 )
 
 
@@ -154,8 +192,8 @@ _DISPLAYTEXT = _descriptor.Descriptor(
       serialized_options=None, file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='params', full_name='DisplayText.params', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
+      number=4, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
@@ -171,8 +209,8 @@ _DISPLAYTEXT = _descriptor.Descriptor(
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=204,
-  serialized_end=299,
+  serialized_start=265,
+  serialized_end=360,
 )
 
 
@@ -230,22 +268,31 @@ _COMMONINFO = _descriptor.Descriptor(
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=301,
-  serialized_end=418,
+  serialized_start=362,
+  serialized_end=479,
 )
 
+_MESSAGE.fields_by_name['commonInfo'].message_type = _COMMONINFO
 _PARAMS.fields_by_name['style'].message_type = _STYLE
 _PARAMS.fields_by_name['user'].message_type = XiguaUser__pb2._USER
 _PARAMS.fields_by_name['gift'].message_type = XiguaGift__pb2._GIFT
 _DISPLAYTEXT.fields_by_name['bgStyle'].message_type = _STYLE
 _DISPLAYTEXT.fields_by_name['params'].message_type = _PARAMS
 _COMMONINFO.fields_by_name['displayText'].message_type = _DISPLAYTEXT
+DESCRIPTOR.message_types_by_name['Message'] = _MESSAGE
 DESCRIPTOR.message_types_by_name['Style'] = _STYLE
 DESCRIPTOR.message_types_by_name['Params'] = _PARAMS
 DESCRIPTOR.message_types_by_name['DisplayText'] = _DISPLAYTEXT
 DESCRIPTOR.message_types_by_name['CommonInfo'] = _COMMONINFO
 _sym_db.RegisterFileDescriptor(DESCRIPTOR)
 
+Message = _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), {
+  'DESCRIPTOR' : _MESSAGE,
+  '__module__' : 'XiguaCommon_pb2'
+  # @@protoc_insertion_point(class_scope:Message)
+  })
+_sym_db.RegisterMessage(Message)
+
 Style = _reflection.GeneratedProtocolMessageType('Style', (_message.Message,), {
   'DESCRIPTOR' : _STYLE,
   '__module__' : 'XiguaCommon_pb2'
diff --git a/Xigua_pb2.py b/Xigua_pb2.py
index fadd908..72c6214 100644
--- a/Xigua_pb2.py
+++ b/Xigua_pb2.py
@@ -19,50 +19,13 @@ DESCRIPTOR = _descriptor.FileDescriptor(
   package='',
   syntax='proto2',
   serialized_options=None,
-  serialized_pb=b'\n\x0bXigua.proto\x1a\x11XiguaCommon.proto\"\xf4\x01\n\tXiguaLive\x12\x1d\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x0f.XiguaLive.Data\x12\x0e\n\x06\x63ursor\x18\x02 \x02(\t\x12\x16\n\x0e\x66\x65tch_interval\x18\x03 \x01(\x05\x12\x0b\n\x03now\x18\x04 \x01(\x05\x12\x14\n\x0cinternal_ext\x18\x05 \x02(\t\x1a}\n\x04\x44\x61ta\x12\x0e\n\x06method\x18\x01 \x02(\t\x12(\n\x07message\x18\x02 \x02(\x0b\x32\x17.XiguaLive.Data.Message\x1a;\n\x07Message\x12\x1f\n\ncommonInfo\x18\x01 \x02(\x0b\x32\x0b.CommonInfo\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\t'
+  serialized_pb=b'\n\x0bXigua.proto\x1a\x11XiguaCommon.proto\"\xa8\x01\n\tXiguaLive\x12\x1d\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x0f.XiguaLive.Data\x12\x0e\n\x06\x63ursor\x18\x02 \x02(\t\x12\x16\n\x0e\x66\x65tch_interval\x18\x03 \x01(\x05\x12\x0b\n\x03now\x18\x04 \x01(\x05\x12\x14\n\x0cinternal_ext\x18\x05 \x02(\t\x1a\x31\n\x04\x44\x61ta\x12\x0e\n\x06method\x18\x01 \x02(\t\x12\x19\n\x07message\x18\x02 \x02(\x0b\x32\x08.Message'
   ,
   dependencies=[XiguaCommon__pb2.DESCRIPTOR,])
 
 
 
 
-_XIGUALIVE_DATA_MESSAGE = _descriptor.Descriptor(
-  name='Message',
-  full_name='XiguaLive.Data.Message',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='commonInfo', full_name='XiguaLive.Data.Message.commonInfo', index=0,
-      number=1, type=11, cpp_type=10, label=2,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='content', full_name='XiguaLive.Data.Message.content', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=220,
-  serialized_end=279,
-)
-
 _XIGUALIVE_DATA = _descriptor.Descriptor(
   name='Data',
   full_name='XiguaLive.Data',
@@ -87,7 +50,7 @@ _XIGUALIVE_DATA = _descriptor.Descriptor(
   ],
   extensions=[
   ],
-  nested_types=[_XIGUALIVE_DATA_MESSAGE, ],
+  nested_types=[],
   enum_types=[
   ],
   serialized_options=None,
@@ -97,7 +60,7 @@ _XIGUALIVE_DATA = _descriptor.Descriptor(
   oneofs=[
   ],
   serialized_start=154,
-  serialized_end=279,
+  serialized_end=203,
 )
 
 _XIGUALIVE = _descriptor.Descriptor(
@@ -155,12 +118,10 @@ _XIGUALIVE = _descriptor.Descriptor(
   oneofs=[
   ],
   serialized_start=35,
-  serialized_end=279,
+  serialized_end=203,
 )
 
-_XIGUALIVE_DATA_MESSAGE.fields_by_name['commonInfo'].message_type = XiguaCommon__pb2._COMMONINFO
-_XIGUALIVE_DATA_MESSAGE.containing_type = _XIGUALIVE_DATA
-_XIGUALIVE_DATA.fields_by_name['message'].message_type = _XIGUALIVE_DATA_MESSAGE
+_XIGUALIVE_DATA.fields_by_name['message'].message_type = XiguaCommon__pb2._MESSAGE
 _XIGUALIVE_DATA.containing_type = _XIGUALIVE
 _XIGUALIVE.fields_by_name['data'].message_type = _XIGUALIVE_DATA
 DESCRIPTOR.message_types_by_name['XiguaLive'] = _XIGUALIVE
@@ -169,13 +130,6 @@ _sym_db.RegisterFileDescriptor(DESCRIPTOR)
 XiguaLive = _reflection.GeneratedProtocolMessageType('XiguaLive', (_message.Message,), {
 
   'Data' : _reflection.GeneratedProtocolMessageType('Data', (_message.Message,), {
-
-    'Message' : _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), {
-      'DESCRIPTOR' : _XIGUALIVE_DATA_MESSAGE,
-      '__module__' : 'Xigua_pb2'
-      # @@protoc_insertion_point(class_scope:XiguaLive.Data.Message)
-      })
-    ,
     'DESCRIPTOR' : _XIGUALIVE_DATA,
     '__module__' : 'Xigua_pb2'
     # @@protoc_insertion_point(class_scope:XiguaLive.Data)
@@ -187,7 +141,6 @@ XiguaLive = _reflection.GeneratedProtocolMessageType('XiguaLive', (_message.Mess
   })
 _sym_db.RegisterMessage(XiguaLive)
 _sym_db.RegisterMessage(XiguaLive.Data)
-_sym_db.RegisterMessage(XiguaLive.Data.Message)
 
 
 # @@protoc_insertion_point(module_scope)