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.