Feeds
A feed is a channel’s subscription to a kind of event: new Major Orders, order results, planet liberated, planet lost, Steam news. The pieces, in the order they arrived:
- An allowlist of servers that may subscribe. When it is unset, the bot refuses everyone, which is the safe default for a bot that was not meant to be public.
- Results wait. An order’s result card is posted when the API’s outcome dispatch arrives, not when the deadline passes, so the bot never announces a win that was actually a loss on the last tick.
- A catalogue and bulk subscribe, so a server can turn on every feed at once.
- Region progress on front cards, once the API started exposing it.
- Creator DM on disable. If a server removes the bot, or a channel disappears, the person who set it up gets a direct message saying which feed stopped and why.
The setup modal
Pull request 9 replaced the slash-command arguments with a modal: pick a channel, tick the feeds. A bug fix in the same PR re-checks that the channel still exists and that the bot can post there before saving, since a stale channel ID had produced silent failures.
Migration 7403
A database migration was applied with a number that did not match the file it came from, and the next deploy tried to apply it again. The fix was small; the lesson was recorded in the project’s notes: list the applied migrations before running any, every time. The README still has one stale line about this that the notes flag for cleanup.