7 Commits

3 changed files with 20 additions and 16 deletions

View File

@ -6,7 +6,7 @@ class Gift:
ID:int = 0 ID:int = 0
count:int = 0 count:int = 0
roomID:int = 0 roomID:int = 0
giftList:dict = {10001: {"Name": "西瓜", "Price": 0}} giftList:dict = {}
amount:int = 0 amount:int = 0
user:User = None user:User = None
@ -33,7 +33,8 @@ class Gift:
self.update() self.update()
def update(self): def update(self):
p = requests.get("https://i.snssdk.com/videolive/gift/get_gift_list?room_id={roomID}".format(roomID = self.roomID)) p = requests.get("https://i.snssdk.com/videolive/gift/get_gift_list?room_id={roomID}"
"&version_code=730&device_platform=android".format(roomID = self.roomID))
d = p.json() d = p.json()
if "gift_info" not in d: if "gift_info" not in d:
print("错误:礼物更新失败") print("错误:礼物更新失败")

6
api.py
View File

@ -189,9 +189,10 @@ class XiGuaLiveApi:
self.onLike(User(i)) self.onLike(User(i))
else: else:
pass pass
if self.lottery is None or self.lottery.ID == 0:
self.lottery = Lottery(i) self.lottery = Lottery(i)
self._updRoomCount += 1 self._updRoomCount += 1
if self.lottery is not None or self.lottery.ID != 0: if self.lottery is not None and self.lottery.ID != 0:
self.lottery.update() self.lottery.update()
if self.lottery.isFinished: if self.lottery.isFinished:
self.onLottery(self.lottery) self.onLottery(self.lottery)
@ -203,8 +204,7 @@ class XiGuaLiveApi:
if __name__ == "__main__": if __name__ == "__main__":
# name = "永恒de草薙" name = "永恒de草薙"
name = "尤美"
if len(sys.argv) > 2: if len(sys.argv) > 2:
if sys.argv[-1] == "d": if sys.argv[-1] == "d":
DEBUG = True DEBUG = True

View File

@ -23,13 +23,16 @@ class downloader(XiGuaLiveApi):
self.updPlayList() self.updPlayList()
def updPlayList(self): def updPlayList(self):
if "stream_url" not in self._rawRoomInfo: if self.isLive:
if "stream_url" in self._rawRoomInfo:
if self.playlist is None: if self.playlist is None:
self.apiChangedError("无法获取直播链接") self.apiChangedError("无法获取直播链接")
self.playlist = False self.playlist = False
else: else:
self.playlist = self._rawRoomInfo["stream_url"]["alternate_pull_url"] self.playlist = self._rawRoomInfo["stream_url"]["alternate_pull_url"]
self.playlist = self.playlist.replace("_uhd","").replace("_sd","").replace("_ld","") self.playlist = self.playlist.replace("_uhd","").replace("_sd","").replace("_ld","")
else:
print("未开播,等待开播")
def onLike(self, user): def onLike(self, user):
pass pass
@ -76,8 +79,11 @@ class downloader(XiGuaLiveApi):
print("{} : Add Sequence {}".format(datetime.strftime(datetime.now(), "%y%m%d %H%M"), print("{} : Add Sequence {}".format(datetime.strftime(datetime.now(), "%y%m%d %H%M"),
len(self.files))) len(self.files)))
q.put(i) q.put(i)
else:
print("PlayList {}".format(self.playlist))
self.genNewName() self.genNewName()
def genNewName(self): def genNewName(self):
if len(self.files) > 800: if len(self.files) > 800:
q.put(True) q.put(True)
@ -166,10 +172,7 @@ if __name__ == "__main__":
ut = threading.Thread(target=upload, args=(d,)) ut = threading.Thread(target=upload, args=(d,))
ut.setDaemon(True) ut.setDaemon(True)
ut.start() ut.start()
try:
api.preDownload() api.preDownload()
except:
pass
time.sleep(3) time.sleep(3)
else: else:
if d is not None: if d is not None: