接口调整,Win

This commit is contained in:
Jerry Yan 2020-01-01 22:39:24 +08:00
parent cae988e0fe
commit f971380b5f
4 changed files with 57 additions and 23 deletions

View File

@ -3,7 +3,9 @@ import "XiguaUser.proto";
import "XiguaGift.proto";
message Message {
required CommonInfo commonInfo = 1;
required bytes contents = 2;
required bytes content2 = 2;
required bytes content3 = 3;
required bytes content4 = 4;
optional bool isFinished = 9 [ default = false ];
}
//

View File

@ -182,22 +182,27 @@ def warning(*args):
if __name__ == "__main__":
name = "永恒de草薙"
resetColor()
print("西瓜直播弹幕助手 by JerryYan")
print("西瓜直播礼物助手 by JerryYan")
print("接口版本8.1.6")
if len(sys.argv) > 1:
name = sys.argv[1]
if len(sys.argv) > 2:
SHOW_ALL = sys.argv[2] == "a"
else:
name = readInput("请输入主播用户名,默认为", name, 3)
print("搜索【", name, "", end="\t", flush=True)
api = WinMain(name)
while not api.isValidUser:
set_cmd_text_color(FOREGROUND_RED)
print("未找到对应房间或未开播等待1分钟后重试")
resetColor()
time.sleep(60)
api.updRoomInfo()
print("进入", api.broadcaster, "的直播间")
if not api.isValidUser:
input("用户不存在")
sys.exit()
print("OK")
print(api.broadcaster.__repr__())
print("更新房间信息,请稍后", end="\t", flush=True)
os.system("title {}".format(api.getTitle()))
if api.updRoomInfo(True):
print("OK")
else:
print("FAIL")
print("=" * 30)
while True:
if api.isLive:
@ -215,4 +220,4 @@ if __name__ == "__main__":
print("主播未开播等待1分钟后重试")
resetColor()
time.sleep(60)
api.updRoomInfo()
api.updRoomInfo(True)

View File

@ -20,7 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
package='',
syntax='proto2',
serialized_options=None,
serialized_pb=b'\n\x11XiguaCommon.proto\x1a\x0fXiguaUser.proto\x1a\x0fXiguaGift.proto\"W\n\x07Message\x12\x1f\n\ncommonInfo\x18\x01 \x02(\x0b\x32\x0b.CommonInfo\x12\x10\n\x08\x63ontents\x18\x02 \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'
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,])
@ -42,14 +42,28 @@ _MESSAGE = _descriptor.Descriptor(
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='contents', full_name='Message.contents', index=1,
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='isFinished', full_name='Message.isFinished', index=2,
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,
@ -68,7 +82,7 @@ _MESSAGE = _descriptor.Descriptor(
oneofs=[
],
serialized_start=55,
serialized_end=142,
serialized_end=178,
)
@ -105,8 +119,8 @@ _STYLE = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=144,
serialized_end=186,
serialized_start=180,
serialized_end=222,
)
@ -164,8 +178,8 @@ _PARAMS = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=188,
serialized_end=301,
serialized_start=224,
serialized_end=337,
)
@ -216,8 +230,8 @@ _DISPLAYTEXT = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=303,
serialized_end=398,
serialized_start=339,
serialized_end=434,
)
@ -275,8 +289,8 @@ _COMMONINFO = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=400,
serialized_end=517,
serialized_start=436,
serialized_end=553,
)
_MESSAGE.fields_by_name['commonInfo'].message_type = _COMMONINFO

15
api.py
View File

@ -12,6 +12,7 @@ import requests
import time
from datetime import datetime, timedelta
from Xigua_pb2 import XiguaLive
from XiguaUser_pb2 import User as UserPb
DEBUG = False
COMMON_GET_PARAM = (
@ -359,8 +360,19 @@ class XiGuaLiveApi:
_gift.user = _user
_gift.backupName = _each.message.commonInfo.displayText.params.gifts.gift.name
self.onPresentEnd(_gift)
elif _each.method == "WebcastFansclubMessage":
continue
_userRawData = _each.message.content4
_userPb = UserPb()
_userPb.ParseFromString(_userRawData)
_user = User()
_user.id = _userPb.id
_user.name = _userPb.nickname
self.onJoin(_user)
print(_each.message.content2)
print(_each.message.content3)
else:
print(_each.message.contents)
pass
# 更新抽奖信息
if self.lottery is not None and self.lottery.ID != 0:
self.lottery.update()
@ -375,6 +387,7 @@ if __name__ == "__main__":
DEBUG = True
name = sys.argv[1]
print("西瓜直播弹幕助手 by JerryYan")
print("接口版本8.1.6")
print("搜索【", name, "", end="\t", flush=True)
api = XiGuaLiveApi(name)
if not api.isValidUser: