proto更新

This commit is contained in:
Jerry Yan 2020-01-02 14:49:44 +08:00
parent f971380b5f
commit 5351641144
7 changed files with 128 additions and 427 deletions

View File

@ -1,13 +1,11 @@
syntax = "proto2";
import "XiguaCommon.proto";
message XiguaLive {
message Data {
// WebcastChatMessage
// WebcastGiftMessage
required string method = 1;
required Message message = 2;
required bytes raw = 2;
}
repeated Data data = 1;
required string cursor = 2;

View File

@ -1,42 +0,0 @@
syntax = "proto2";
import "XiguaUser.proto";
import "XiguaGift.proto";
message Message {
required CommonInfo commonInfo = 1;
required bytes content2 = 2;
required bytes content3 = 3;
required bytes content4 = 4;
optional bool isFinished = 9 [ default = false ];
}
//
message Style {
optional string color = 1;
optional int32 fontWeight = 4;
}
//
message Params {
// 1
// 11
// 12
required int32 type = 1;
optional Style style = 2;
optional string string = 11;
optional UserPack users = 21;
optional GiftPack gifts = 22;
}
//
message DisplayText {
//
required string method = 1;
required string format = 2;
optional Style bgStyle = 3;
required Params params = 4;
}
//
message CommonInfo {
optional string method = 1;
optional int32 msg_id = 2;
optional int32 room_id = 3;
optional int32 create_time = 4;
optional DisplayText displayText = 8;
}

79
Demo/XiguaMessage.proto Normal file
View File

@ -0,0 +1,79 @@
syntax = "proto2";
import "XiguaUser.proto";
import "XiguaGift.proto";
message Message {
required CommonInfo commonInfo = 1;
required bytes content2 = 2;
required bytes content3 = 3;
required bytes content4 = 4;
}
message FansClubMessage {
required CommonInfo commonInfo = 1;
required int32 someEnum = 2;
required int32 someInt3 = 3;
required User user = 4;
}
message UserSeqMessage {
required CommonInfo commonInfo = 1;
required string popularityText = 4;
required int32 popularity = 6;
}
message DailyRankMessage {
required CommonInfo commonInfo = 1;
required int32 ranking = 10;
}
message ChatMessage {
required CommonInfo commonInfo = 1;
required User user = 2;
required string content = 3;
}
message MemberMessage {
required CommonInfo commonInfo = 1;
required User user = 2;
required string popularityText = 14;
}
message GiftMessage {
required CommonInfo commonInfo = 1;
required int32 giftId = 2;
// GroupId之类的东西
// required int32 UNKNOWN_INT = 3;
required int32 content4 = 4;
// 5,6
required int32 repeated = 5;
required int32 combo = 6;
required User user = 7;
optional bool isFinished = 9 [ default = false ];
}
//
message Style {
optional string color = 1;
optional int32 fontWeight = 4;
}
//
message Params {
// 1
// 11
// 12
required int32 type = 1;
optional Style style = 2;
optional string string = 11;
optional UserPack users = 21;
optional GiftPack gifts = 22;
}
//
message DisplayText {
//
required string method = 1;
required string format = 2;
optional Style bgStyle = 3;
required Params params = 4;
}
//
message CommonInfo {
required string method = 1;
required int32 msg_id = 2;
required int32 room_id = 3;
required int32 create_time = 4;
optional int32 someEnum = 6;
optional DisplayText displayText = 8;
}

View File

@ -3,15 +3,8 @@ syntax = "proto2";
message UserPack {
required User user = 1;
}
//
message User {
//
message Avatar {
required string url = 1;
optional string id = 2;
}
//
message Badge {
//
message Badge {
message FanClubText {
required string text = 1;
optional string color = 2;
@ -27,6 +20,25 @@ message User {
optional int32 type = 6;
optional string clickTo = 7;
optional FanClubText fanClubText = 8;
}
message FansClubBadgePack {
required Badge badge = 1;
required string title = 2;
}
message FansClubPack {
message FansClub {
required string text = 1;
required int32 level = 2;
optional int32 someEnum = 3;
required FansClubBadgePack fansClubs = 4;
}
}
//
message User {
//
message Avatar {
required string url = 1;
optional string id = 2;
}
//
message Follow {

View File

@ -1,346 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: XiguaCommon.proto
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
import XiguaUser_pb2 as XiguaUser__pb2
import XiguaGift_pb2 as XiguaGift__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='XiguaCommon.proto',
package='',
syntax='proto2',
serialized_options=None,
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\x10\n\x08\x63ontent2\x18\x02 \x02(\x0c\x12\x10\n\x08\x63ontent3\x18\x03 \x02(\x0c\x12\x10\n\x08\x63ontent4\x18\x04 \x02(\x0c\x12\x19\n\nisFinished\x18\t \x01(\x08:\x05\x66\x61lse\"*\n\x05Style\x12\r\n\x05\x63olor\x18\x01 \x01(\t\x12\x12\n\nfontWeight\x18\x04 \x01(\x05\"q\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\x18\n\x05users\x18\x15 \x01(\x0b\x32\t.UserPack\x12\x18\n\x05gifts\x18\x16 \x01(\x0b\x32\t.GiftPack\"_\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 \x02(\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='content2', full_name='Message.content2', index=1,
number=2, type=12, cpp_type=9, label=2,
has_default_value=False, default_value=b"",
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='content3', full_name='Message.content3', index=2,
number=3, type=12, cpp_type=9, label=2,
has_default_value=False, default_value=b"",
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='content4', full_name='Message.content4', index=3,
number=4, type=12, cpp_type=9, label=2,
has_default_value=False, default_value=b"",
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='isFinished', full_name='Message.isFinished', index=4,
number=9, type=8, cpp_type=7, label=1,
has_default_value=True, default_value=False,
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=178,
)
_STYLE = _descriptor.Descriptor(
name='Style',
full_name='Style',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='color', full_name='Style.color', index=0,
number=1, 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),
_descriptor.FieldDescriptor(
name='fontWeight', full_name='Style.fontWeight', index=1,
number=4, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
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=180,
serialized_end=222,
)
_PARAMS = _descriptor.Descriptor(
name='Params',
full_name='Params',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='type', full_name='Params.type', index=0,
number=1, type=5, cpp_type=1, label=2,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='style', full_name='Params.style', index=1,
number=2, type=11, cpp_type=10, label=1,
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='string', full_name='Params.string', index=2,
number=11, 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),
_descriptor.FieldDescriptor(
name='users', full_name='Params.users', index=3,
number=21, type=11, cpp_type=10, label=1,
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='gifts', full_name='Params.gifts', index=4,
number=22, type=11, cpp_type=10, label=1,
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),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=224,
serialized_end=337,
)
_DISPLAYTEXT = _descriptor.Descriptor(
name='DisplayText',
full_name='DisplayText',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='method', full_name='DisplayText.method', index=0,
number=1, type=9, cpp_type=9, label=2,
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),
_descriptor.FieldDescriptor(
name='format', full_name='DisplayText.format', index=1,
number=2, type=9, cpp_type=9, label=2,
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),
_descriptor.FieldDescriptor(
name='bgStyle', full_name='DisplayText.bgStyle', index=2,
number=3, type=11, cpp_type=10, label=1,
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='params', full_name='DisplayText.params', index=3,
number=4, 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),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=339,
serialized_end=434,
)
_COMMONINFO = _descriptor.Descriptor(
name='CommonInfo',
full_name='CommonInfo',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='method', full_name='CommonInfo.method', index=0,
number=1, 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),
_descriptor.FieldDescriptor(
name='msg_id', full_name='CommonInfo.msg_id', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='room_id', full_name='CommonInfo.room_id', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='create_time', full_name='CommonInfo.create_time', index=3,
number=4, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='displayText', full_name='CommonInfo.displayText', index=4,
number=8, type=11, cpp_type=10, label=1,
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),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=436,
serialized_end=553,
)
_MESSAGE.fields_by_name['commonInfo'].message_type = _COMMONINFO
_PARAMS.fields_by_name['style'].message_type = _STYLE
_PARAMS.fields_by_name['users'].message_type = XiguaUser__pb2._USERPACK
_PARAMS.fields_by_name['gifts'].message_type = XiguaGift__pb2._GIFTPACK
_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'
# @@protoc_insertion_point(class_scope:Style)
})
_sym_db.RegisterMessage(Style)
Params = _reflection.GeneratedProtocolMessageType('Params', (_message.Message,), {
'DESCRIPTOR' : _PARAMS,
'__module__' : 'XiguaCommon_pb2'
# @@protoc_insertion_point(class_scope:Params)
})
_sym_db.RegisterMessage(Params)
DisplayText = _reflection.GeneratedProtocolMessageType('DisplayText', (_message.Message,), {
'DESCRIPTOR' : _DISPLAYTEXT,
'__module__' : 'XiguaCommon_pb2'
# @@protoc_insertion_point(class_scope:DisplayText)
})
_sym_db.RegisterMessage(DisplayText)
CommonInfo = _reflection.GeneratedProtocolMessageType('CommonInfo', (_message.Message,), {
'DESCRIPTOR' : _COMMONINFO,
'__module__' : 'XiguaCommon_pb2'
# @@protoc_insertion_point(class_scope:CommonInfo)
})
_sym_db.RegisterMessage(CommonInfo)
# @@protoc_insertion_point(module_scope)

View File

@ -11,7 +11,6 @@ from google.protobuf import symbol_database as _symbol_database
_sym_db = _symbol_database.Default()
import XiguaCommon_pb2 as XiguaCommon__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
@ -19,9 +18,8 @@ DESCRIPTOR = _descriptor.FileDescriptor(
package='',
syntax='proto2',
serialized_options=None,
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,])
serialized_pb=b'\n\x0bXigua.proto\"\x9a\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\x0b\n\x03raw\x18\x02 \x02(\x0c'
)
@ -41,9 +39,9 @@ _XIGUALIVE_DATA = _descriptor.Descriptor(
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='message', full_name='XiguaLive.Data.message', index=1,
number=2, type=11, cpp_type=10, label=2,
has_default_value=False, default_value=None,
name='raw', full_name='XiguaLive.Data.raw', index=1,
number=2, type=12, cpp_type=9, label=2,
has_default_value=False, default_value=b"",
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
@ -59,8 +57,8 @@ _XIGUALIVE_DATA = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=154,
serialized_end=203,
serialized_start=135,
serialized_end=170,
)
_XIGUALIVE = _descriptor.Descriptor(
@ -117,11 +115,10 @@ _XIGUALIVE = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=35,
serialized_end=203,
serialized_start=16,
serialized_end=170,
)
_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

15
api.py
View File

@ -12,7 +12,7 @@ import requests
import time
from datetime import datetime, timedelta
from Xigua_pb2 import XiguaLive
from XiguaUser_pb2 import User as UserPb
from XiguaMessage_pb2 import GiftMessage, UserSeqMessage, ChatMessage, MemberMessage, FansClubMessage
DEBUG = False
COMMON_GET_PARAM = (
@ -350,13 +350,15 @@ class XiGuaLiveApi:
self._ext = data.internal_ext
for _each in data.data:
if _each.method == "WebcastGiftMessage":
_giftMessage = GiftMessage()
_giftMessage.ParseFromString(_each.raw)
_gift = Gift()
_gift.ID = _each.message.commonInfo.displayText.params.gifts.id
_gift.count = _each.message.commonInfo.displayText.params.string
if _gift.isAnimate() or _each.message.isFinished:
_gift.ID = _giftMessage.giftId
_gift.count = _giftMessage.combo
if _gift.isAnimate() or _giftMessage.isFinished:
_user = User()
_user.ID = _each.message.commonInfo.displayText.params.users.user.id
_user.name = _each.message.commonInfo.displayText.params.users.user.nickname
_user.ID = _giftMessage.user.id
_user.name = _giftMessage.user.nickname
_gift.user = _user
_gift.backupName = _each.message.commonInfo.displayText.params.gifts.gift.name
self.onPresentEnd(_gift)
@ -380,6 +382,7 @@ class XiGuaLiveApi:
self.onLottery(self.lottery)
self.lottery = None
if __name__ == "__main__":
name = "永恒de草薙"
if len(sys.argv) > 2: