async def check(real_roomid, raffle_name): if not await Utils.is_normal_room(real_roomid): return data = await BasicRequest.tv_req_check(real_roomid) checklen = data["data"]["list"] list_available_raffleid = [] try: for j in checklen: raffle_id = j["raffleId"] raffle_type = j["type"] time_wanted = j["time_wait"] + int(time.time()) if not Statistics.is_raffleid_duplicate(raffle_id): Log.raffle("本次获取到 %s 的抽奖id为: %s" % (raffle_name, raffle_id)) list_available_raffleid.append( (raffle_id, raffle_type, time_wanted)) Statistics.add2raffle_ids(raffle_id) except: Log.error("检测到无效的小电视类抽奖") # 暂时没啥用 # num_aviable = len(list_available_raffleid) for raffle_id, raffle_type, time_wanted in list_available_raffleid: Timer.add2list_jobs( TvRaffleHandler.join, time_wanted, (real_roomid, raffle_id, raffle_type, raffle_name))
async def join(real_roomid, name, raffle_id, expireAt): if not await Utils.is_normal_room(real_roomid): return if not Utils.is_normal_anchor(name): Log.error("检测到 %s 的异常天选时刻" % real_roomid) return data = await BasicRequest.anchor_req_join(raffle_id) if not data["code"]: Log.raffle("参与了 %s 的 天选时刻" % real_roomid) Statistics.add2joined_raffles("天选时刻(合计)") Timer.add2list_jobs(AnchorRaffleHandler.check, expireAt + 3, [real_roomid]) else: Log.error("%s 天选时刻错误: %s" % (real_roomid, data["message"]))
async def check(room_id, raffle_id=None): if not await Utils.is_normal_room(room_id): return if raffle_id is not None: data = {"data": {"id": raffle_id}} else: data = await BasicRequest.storm_req_check(room_id) list_available_raffleid = [] data = data["data"] if data: raffle_id = data["id"] if not Statistics.is_raffleid_duplicate(raffle_id): Log.info("本次获取到 二十倍节奏风暴 的抽奖id为 %s") list_available_raffleid.append(raffle_id) Statistics.add2raffle_ids(raffle_id) for raffle_id, time_wanted in list_available_raffleid: Timer.add2list_jobs(StormRaffleHandler.join, time_wanted, (room_id, raffle_id))
async def check(room_id, raffle_id=None): if not await Utils.is_normal_room(room_id): return if raffle_id is not None: data = {"data": {"id": raffle_id}} else: data = await BasicRequest.storm_req_check(room_id) list_available_raffleid = [] data = data["data"] num = int(data["num"]) if data: raffle_id = data["id"] if not Statistics.is_raffleid_duplicate(raffle_id): raffle_name = "二十倍节奏风暴" if num == 20 else "节奏风暴" Log.raffle("本次获取到 %s 的抽奖id为 %s" % (raffle_name, raffle_id)) list_available_raffleid.append((raffle_id, 0)) Statistics.add2raffle_ids(raffle_id) for raffle_id, time_wanted in list_available_raffleid: Timer.add2list_jobs(StormRaffleHandler.join, time_wanted, (room_id, raffle_id))