-
Notifications
You must be signed in to change notification settings - Fork 0
backend commands
Use scripts/robctl from the server checkout, or install a shell alias that points to it.
scripts/robctl status
scripts/robctl logs bot
scripts/robctl logs webhook
scripts/robctl restart bot
scripts/robctl restart webhook
scripts/robctl restart all
scripts/robctl maintenance status
scripts/robctl maintenance on "Deploying schema changes"
scripts/robctl maintenance off
scripts/robctl queue status
scripts/robctl queue flush
scripts/robctl leaderboard refresh
scripts/robctl leaderboard adopt --guild-id 123 --leaderboard-channel-id 456 --leaderboard-message-id 789 --stats-message-id 790
scripts/robctl leaderboard status --guild-id 123
scripts/robctl leaderboard preview --guild-id 123
scripts/robctl leaderboard diagnose --guild-id 123
scripts/robctl leaderboard repair-send-dommes --guild-id 123 --dry-run
scripts/robctl leaderboard repair-send-dommes --guild-id 123
scripts/robctl throne status
scripts/robctl throne dommes
scripts/robctl throne subs
scripts/robctl throne invalidate-test-sends
scripts/robctl sends backfill-public-ids
scripts/robctl sends list --status all --guild-id 123 --limit 25
scripts/robctl sends mark-posted 151
scripts/robctl count status
scripts/robctl count set 123-
maintenance on/off,queue status,queue flush,leaderboard refresh, andcountcommands talk directly to PostgreSQL throughscripts.ops. -
leaderboard adoptlets you attach existing Discord message IDs toleaderboard_messagerefs (leaderboard+leaderboard_stats) so refresh/edit paths can resume without reposting. -
maintenance onnow requests a leaderboard refresh automatically so the main leaderboard status switches to🟠 Paused (Maintenance)on the next bot refresh cycle. -
maintenance offnow clears maintenance mode, releases queued maintenance sends back topending, and requests a leaderboard refresh so the main leaderboard can return to🟢 Live. -
throne invalidate-test-sendsmarks previously recorded sends from usernames inTHRONE_TEST_GIFTER_USERNAMESasis_test_send=trueso they stop affecting leaderboard totals when test parsing is disabled again. -
sends backfill-public-idsgenerates and stores missingpublic_send_idvalues for older rows so support/admin workflows can use stable indexed public IDs. -
logsandrestartusejournalctlandsystemctl, so they are meant for the server where the service is installed. -
restartusessudo systemctl restart ..., so the deploy or operator user should have passwordless sudo for the specific Rob services. - A minimal sudoers entry is usually enough, for example:
Cmnd_Alias ROB_BOT_CTL = /bin/systemctl restart rob-bot-dev.service, /usr/bin/systemctl restart rob-bot-dev.service
Cmnd_Alias ROB_WEBHOOK_CTL = /bin/systemctl restart rob-webhook-dev.service, /usr/bin/systemctl restart rob-webhook-dev.service
deployuser ALL=(root) NOPASSWD: ROB_BOT_CTL, ROB_WEBHOOK_CTL
-
queue flushrefuses to run while maintenance mode is still enabled. -
robctlwith no arguments now prints friendly usage/help and exits0. -
throne status|dommes|subscurrently print a clear "planned but not implemented" message rather than failing silently. -
2026-05-23: Public send card now uses compact Components V2 layout with real
discord.ui.Separator(), item thumbnails, friendly currency names, and purple accent constants fromrob/ui/theme.py; rank lines/footer/timestamps removed. -
2026-05-23: Added
scripts/robctl throne invalidate-test-sendsso historical known test sends can be backfilled asis_test_send=true. -
2026-05-23: Added
scripts/robctl sends backfill-public-idsand a storedsends.public_send_idcolumn for indexed support/admin lookups. -
2026-05-23: NEW LEADER ALERT posting is now live in the leaderboard/send-tracker channel flow with bot-state dedupe.
-
2026-05-23: Leaderboard refreshes now show dynamic status text:
🟢 Livenormally and🟠 Paused (Maintenance)when maintenance mode is enabled.🔴 Offlineis supported at the card layer for an explicit future offline source. -
2026-05-22: Leaderboard and stats cards now use explicit separator components; stats include Unclaimed Sends section.