接口调整,Win
This commit is contained in:
parent
cae988e0fe
commit
f971380b5f
@ -3,7 +3,9 @@ import "XiguaUser.proto";
|
|||||||
import "XiguaGift.proto";
|
import "XiguaGift.proto";
|
||||||
message Message {
|
message Message {
|
||||||
required CommonInfo commonInfo = 1;
|
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 ];
|
optional bool isFinished = 9 [ default = false ];
|
||||||
}
|
}
|
||||||
// 样式
|
// 样式
|
||||||
|
23
WinMain.py
23
WinMain.py
@ -182,22 +182,27 @@ def warning(*args):
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
name = "永恒de草薙"
|
name = "永恒de草薙"
|
||||||
resetColor()
|
resetColor()
|
||||||
print("西瓜直播弹幕助手 by JerryYan")
|
print("西瓜直播礼物助手 by JerryYan")
|
||||||
|
print("接口版本8.1.6")
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
name = sys.argv[1]
|
name = sys.argv[1]
|
||||||
if len(sys.argv) > 2:
|
if len(sys.argv) > 2:
|
||||||
SHOW_ALL = sys.argv[2] == "a"
|
SHOW_ALL = sys.argv[2] == "a"
|
||||||
else:
|
else:
|
||||||
name = readInput("请输入主播用户名,默认为", name, 3)
|
name = readInput("请输入主播用户名,默认为", name, 3)
|
||||||
|
print("搜索【", name, "】", end="\t", flush=True)
|
||||||
api = WinMain(name)
|
api = WinMain(name)
|
||||||
while not api.isValidUser:
|
if not api.isValidUser:
|
||||||
set_cmd_text_color(FOREGROUND_RED)
|
input("用户不存在")
|
||||||
print("未找到对应房间或未开播,等待1分钟后重试")
|
sys.exit()
|
||||||
resetColor()
|
print("OK")
|
||||||
time.sleep(60)
|
print(api.broadcaster.__repr__())
|
||||||
api.updRoomInfo()
|
print("更新房间信息,请稍后", end="\t", flush=True)
|
||||||
print("进入", api.broadcaster, "的直播间")
|
|
||||||
os.system("title {}".format(api.getTitle()))
|
os.system("title {}".format(api.getTitle()))
|
||||||
|
if api.updRoomInfo(True):
|
||||||
|
print("OK")
|
||||||
|
else:
|
||||||
|
print("FAIL")
|
||||||
print("=" * 30)
|
print("=" * 30)
|
||||||
while True:
|
while True:
|
||||||
if api.isLive:
|
if api.isLive:
|
||||||
@ -215,4 +220,4 @@ if __name__ == "__main__":
|
|||||||
print("主播未开播,等待1分钟后重试")
|
print("主播未开播,等待1分钟后重试")
|
||||||
resetColor()
|
resetColor()
|
||||||
time.sleep(60)
|
time.sleep(60)
|
||||||
api.updRoomInfo()
|
api.updRoomInfo(True)
|
||||||
|
@ -20,7 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
|
|||||||
package='',
|
package='',
|
||||||
syntax='proto2',
|
syntax='proto2',
|
||||||
serialized_options=None,
|
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,])
|
dependencies=[XiguaUser__pb2.DESCRIPTOR,XiguaGift__pb2.DESCRIPTOR,])
|
||||||
|
|
||||||
@ -42,14 +42,28 @@ _MESSAGE = _descriptor.Descriptor(
|
|||||||
is_extension=False, extension_scope=None,
|
is_extension=False, extension_scope=None,
|
||||||
serialized_options=None, file=DESCRIPTOR),
|
serialized_options=None, file=DESCRIPTOR),
|
||||||
_descriptor.FieldDescriptor(
|
_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,
|
number=2, type=12, cpp_type=9, label=2,
|
||||||
has_default_value=False, default_value=b"",
|
has_default_value=False, default_value=b"",
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
message_type=None, enum_type=None, containing_type=None,
|
||||||
is_extension=False, extension_scope=None,
|
is_extension=False, extension_scope=None,
|
||||||
serialized_options=None, file=DESCRIPTOR),
|
serialized_options=None, file=DESCRIPTOR),
|
||||||
_descriptor.FieldDescriptor(
|
_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,
|
number=9, type=8, cpp_type=7, label=1,
|
||||||
has_default_value=True, default_value=False,
|
has_default_value=True, default_value=False,
|
||||||
message_type=None, enum_type=None, containing_type=None,
|
message_type=None, enum_type=None, containing_type=None,
|
||||||
@ -68,7 +82,7 @@ _MESSAGE = _descriptor.Descriptor(
|
|||||||
oneofs=[
|
oneofs=[
|
||||||
],
|
],
|
||||||
serialized_start=55,
|
serialized_start=55,
|
||||||
serialized_end=142,
|
serialized_end=178,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -105,8 +119,8 @@ _STYLE = _descriptor.Descriptor(
|
|||||||
extension_ranges=[],
|
extension_ranges=[],
|
||||||
oneofs=[
|
oneofs=[
|
||||||
],
|
],
|
||||||
serialized_start=144,
|
serialized_start=180,
|
||||||
serialized_end=186,
|
serialized_end=222,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -164,8 +178,8 @@ _PARAMS = _descriptor.Descriptor(
|
|||||||
extension_ranges=[],
|
extension_ranges=[],
|
||||||
oneofs=[
|
oneofs=[
|
||||||
],
|
],
|
||||||
serialized_start=188,
|
serialized_start=224,
|
||||||
serialized_end=301,
|
serialized_end=337,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -216,8 +230,8 @@ _DISPLAYTEXT = _descriptor.Descriptor(
|
|||||||
extension_ranges=[],
|
extension_ranges=[],
|
||||||
oneofs=[
|
oneofs=[
|
||||||
],
|
],
|
||||||
serialized_start=303,
|
serialized_start=339,
|
||||||
serialized_end=398,
|
serialized_end=434,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -275,8 +289,8 @@ _COMMONINFO = _descriptor.Descriptor(
|
|||||||
extension_ranges=[],
|
extension_ranges=[],
|
||||||
oneofs=[
|
oneofs=[
|
||||||
],
|
],
|
||||||
serialized_start=400,
|
serialized_start=436,
|
||||||
serialized_end=517,
|
serialized_end=553,
|
||||||
)
|
)
|
||||||
|
|
||||||
_MESSAGE.fields_by_name['commonInfo'].message_type = _COMMONINFO
|
_MESSAGE.fields_by_name['commonInfo'].message_type = _COMMONINFO
|
||||||
|
15
api.py
15
api.py
@ -12,6 +12,7 @@ import requests
|
|||||||
import time
|
import time
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from Xigua_pb2 import XiguaLive
|
from Xigua_pb2 import XiguaLive
|
||||||
|
from XiguaUser_pb2 import User as UserPb
|
||||||
|
|
||||||
DEBUG = False
|
DEBUG = False
|
||||||
COMMON_GET_PARAM = (
|
COMMON_GET_PARAM = (
|
||||||
@ -359,8 +360,19 @@ class XiGuaLiveApi:
|
|||||||
_gift.user = _user
|
_gift.user = _user
|
||||||
_gift.backupName = _each.message.commonInfo.displayText.params.gifts.gift.name
|
_gift.backupName = _each.message.commonInfo.displayText.params.gifts.gift.name
|
||||||
self.onPresentEnd(_gift)
|
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:
|
else:
|
||||||
print(_each.message.contents)
|
pass
|
||||||
# 更新抽奖信息
|
# 更新抽奖信息
|
||||||
if self.lottery is not None and self.lottery.ID != 0:
|
if self.lottery is not None and self.lottery.ID != 0:
|
||||||
self.lottery.update()
|
self.lottery.update()
|
||||||
@ -375,6 +387,7 @@ if __name__ == "__main__":
|
|||||||
DEBUG = True
|
DEBUG = True
|
||||||
name = sys.argv[1]
|
name = sys.argv[1]
|
||||||
print("西瓜直播弹幕助手 by JerryYan")
|
print("西瓜直播弹幕助手 by JerryYan")
|
||||||
|
print("接口版本8.1.6")
|
||||||
print("搜索【", name, "】", end="\t", flush=True)
|
print("搜索【", name, "】", end="\t", flush=True)
|
||||||
api = XiGuaLiveApi(name)
|
api = XiGuaLiveApi(name)
|
||||||
if not api.isValidUser:
|
if not api.isValidUser:
|
||||||
|
Reference in New Issue
Block a user