async def init_tutorial(logger: Logger, connection: LeagueConnection): ''' Initializes tutorial ''' logger.log('Initiating tutorial...') future1 = connection.async_patch('/lol-npe-tutorial-path/v1/tutorials/init') future2 = connection.async_post('/telemetry/v1/events/new_player_experience', json={"eventName": "show_screen", "plugin": "rcp-fe-lol-new-player-experience", "screenName": "npe_tutorial_modules"}) future3 = connection.async_put('/lol-npe-tutorial-path/v1/settings', json={"hasSeenTutorialPath": True, "hasSkippedTutorialPath": False, "shouldSeeNewPlayerExperience": False}) future1.result() future2.result() future3.result()
async def trackers_opt_int(connection: LeagueConnection): ''' Opt into all the missions in trackers ''' future = connection.async_get('/lol-missions/v1/series') await asyncio.sleep(0) res = future.result() res_json = res.json() missions = list( filter( lambda m: m['displayType'] == 'TRACKER' and m['status'] == 'PENDING', res_json)) _ = [ connection.async_put('/lol-missions/v2/player/opt', json={ "seriesId": mission['id'], "option": "OPT_IN" }) for mission in missions ]
async def worlds_opt_in(connection: LeagueConnection): ''' Opt into worlds mission ''' future = connection.async_get('/lol-missions/v1/series') await asyncio.sleep(0) res = future.result() res_json = res.json() worlds = list( filter(lambda m: m['internalName'] == 'Worlds2019B_series', res_json)) if worlds == []: return if worlds[0]['status'] == 'PENDING': future = connection.async_put('/lol-missions/v2/player/opt', json={ "seriesId": worlds[0]['id'], "option": "OPT_IN" }) await asyncio.sleep(0) future.result() return