Warzone Last 5 Games Codtracker API Command

If possible I’d like some assistance in trying to create a Nightbot command from codtracker API.
What I’d like to do is display the last 5 Lobby KD values and potentially use those values to create an average KD of those lobbies as well.
e.g. Last 5 Lobby KD’s: 1.24 | 1.20 | 1.23 | 1.36 | 1.13. Average Lobby KD: 1.23
^ obviously the above values are just examples taken from the codtracker I’m trying to use, but that’s how I’d want it to look. I have created an API command previously with help from several threads but this one I can’t quite figure out myself and I couldn’t find any other threads that were close enough to what I’m looking for.

codtracker: https://cod.tracker.gg/warzone/profile/atvi/angell%234177009/matches
API: https://api.tracker.gg/api/v2/warzone/matches/atvi/angell%234177009

Thank you in advance for any help!

Hey @jimbojambo303!

I imagine you just want to get the average of the 5 last matches regardless of the game mode:

$(eval m=$(urlfetch json https://api.tracker.gg/api/v2/warzone/matches/atvi/angell%234177009).data.matches; m.length=5; r=m.map(m=>m.attributes.avgKd.kd); a=Math.floor((r.reduce((a,b)=>a+b)/5)*100)/100; `Last 5 lobby KDs: ${r.join(' | ')}. Average lobby KD: ${a}`)

Basically, I first pull all the matches from the API, then only keep the last 5 matches, after that I get the KD for each match, then I compute the average KD and round it to two decimal places.

Link to the main Warzone API topic

1 Like

You’re amazing thank you so much!

1 Like

Will this command work for everyone as long as we change the API link in the command?

Hey @Hurlockk!

Yes, it would, you just need to change the last part of the URL: atvi/username%231234567: %23 is the #, so here the user is username#1234567.
Make sure to convert the # into %23, and change the service if your ID isn’t an Activision ID (atvi), but I’ve heard everyone migrated to that now.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.