Trevor PaughSystems engineer
Trevor PaughProject Chronicles

Chronicles / Helldivers 2 War Room

Recording history to predict the future

Milestone

The API gives current liberation, not its rate. So the bot records one history row per poll and computes rates, ETAs, and sparklines itself. /war and /planet arrived with the first deploy.

The community API answers “how liberated is this planet right now.” The question a player asks is “will we take it before the order expires.” Nobody serves the second answer, so the bot had to make it.

Self-recorded history

Every poll writes one JSON row with the state of every active planet. From two or more rows the bot derives a liberation rate per hour, an ETA to 100 percent, and a small text sparkline of the last several hours.

One row per poll, not one row per planet per poll, was a deliberate choice: the alternative worked out to about 115,000 writes a day, well over the free tier. One row is a few hundred a day.

The commands

  • /war lists active fronts with rate and ETA.
  • /planet gives one planet in detail with its sparkline.

Both shipped with the first deploy on 2026-09-24.

Fallbacks and a budget

  • Snapshot fallback. When the API is down, commands answer from the last recorded row and say how old it is.
  • Steam news is checked only on minutes divisible by ten, because the free plan allows three cron triggers and the war poll uses the first.
  • Forty-eight subrequests per invocation is the budget the poller stays under, which caps how many planets and feeds it can touch in one run.