What survives
Everything. The settings you change from Discord — the guild registry, the global profile change, the audit channel — are in the database, and the cached Microsoft tokens are in a gitignored folder next to the repository. A pull cannot touch either. Upgrading from a version that kept those settings in*Config.json files needs no manual step: the first start
imports each file into the database and logs it, and the files are left in place. Make sure DATABASE_URL is
set before that restart — the bot will not start without it.
The one thing to read before restarting is the release’s entry in the
changelog. A major version bump means a
config format that existing *Config.json files cannot be read as; anything else is safe to pull and
restart.
While the bot is on its 0.1.0-beta.N line there are no major bumps, so read the changelog entry itself for
anything that changes a config file rather than relying on the number.
After restarting
/ping— check every Hypixel guild reconnects. Accounts come back one per ten seconds, so give it a moment with several guilds registered.- New or changed commands take up to an hour to appear. Slash commands are registered globally on startup and Discord propagates them on its own schedule. The bot has already registered them; Discord has not finished showing them.
- Post the release’s section of DISCORD_CHANGELOG.md to your announcement channel. It is written for guild members and sized to paste as one message.
Downgrading
git checkout an earlier commit and reinstall. Settings written by a newer version are read by an older one on a
best-effort basis: unknown fields are ignored.
Going back to a version from before the settings moved into the database is different: that version reads the
*Config.json files again, and they hold whatever they held on the day of the upgrade. Anything changed since —
a guild added, an audit channel set — is not in them. Changing a setting there and then upgrading again does
not carry it over either, because the database already has that setting and the file is not imported twice.
Next
- Installation
- Config files
- Releasing — for whoever cuts the release