Discord support bot
Live status board
Pinned embed in
The status board is a single pinned embed in #server-status. The bot edits it in place every 60 seconds with the latest health snapshot:
| Service | Probe | Healthy state |
|---|---|---|
| Website | GET STATUS_WEBSITE_URL | <3s round trip |
| API | GET STATUS_API_BASE/health | <3s round trip |
| Database | GET STATUS_API_BASE/health/db | 200 OK |
| Relay | GET STATUS_RELAY_BASE/health | <3s round trip |
| Bot | self-reported | always operational while the embed exists |
State emoji: 🟢 operational, 🟡 degraded (slow), 🔴 down, ⚪ unknown / not configured.
Incident messages
When a service flips state (operational ↔ degraded ↔ down), a separate incident message is posted in the same channel so the channel doubles as a historical log. The pinned embed always reflects current state; the channel scrollback gives you the timeline.
Identification
The embed is identified by a marker in the footer ([status-board-v1]). On bot restart, the worker scans the channel for the marker and continues editing that embed rather than spawning a duplicate.
Env vars
| Var | Required | Notes |
|---|---|---|
STATUS_WEBSITE_URL | no | Empty → website status reports ⚪ unknown. |
STATUS_API_BASE | no | Empty → API + DB both report ⚪. |
STATUS_RELAY_BASE | no | Empty → relay reports ⚪. |
Each probe times out at 5s and is fired in parallel.