@lockout
Permission: ADMIN
Quiesce the bot before a reload or restart. A lockout stops new games, imports, question and point editing, and network activation changes, while games already running carry on undisturbed.
Syntax
@lockout [on|off] [reason]
With no argument, reports the current state. The optional reason is quoted back in every refusal, so players are told why.
Example
@lockout on restarting for upgrade
<Inquisitor> Lockout ON — blocked: new games, imports, question editing, point editing, network activation. Running games continue. Reason: restarting for upgrade
@question add "Q" "A" --set General
<Inquisitor> Locked out: restarting for upgrade. 'question add' is unavailable until an admin runs 'lockout off'.
@lockout
<Inquisitor> Lockout is ON | set by rb14060 | 2026-09-06 02:00 UTC | reason: restarting for upgrade | blocked: new games, imports, question editing, point editing, network activation. Run 'lockout off' to lift.
@lockout off
<Inquisitor> Lockout OFF. All commands available.
What is blocked
| Command | Blocked during a lockout |
|---|---|
@trivia |
Starting a game. Stopping one is not blocked |
@importpreview, @importconfirm, @importpointspreview, @importpointsconfirm |
Entirely |
@question |
add, edit, delete, move, bulkmove, bulkdelete, bulkcategory. show, list, search and help stay available |
@questionset |
add, rename, delete. list and stats stay available |
@points |
Entirely — every subcommand is an edit |
@mergeuser |
Entirely |
@confirm |
Entirely — it executes the pending destructive operations |
@activate, @deactivate, @reactivate, @setquestionset, @setmasterlog, @setnetlog |
Entirely |
Everything else keeps working: answering questions, @skip,
@recall, every stats and leaderboard command, and — by design —
@config and the permission commands
(@grant, @revoke, @deny).
A warning is sent on every blocked attempt, not throttled, so nobody is left wondering why a command did nothing.
Notes
- ADMIN is blocked too. A lockout that exempted admins would not quiesce
the database, and the admin who raised it is the person most likely to keep
working out of habit. Lift it with
@lockout offfirst, then re-apply. @lockout offis never itself blocked, so the escape hatch always works.- The state is stored in the database, so it survives the reload or restart it was raised for — which is the whole point. A bot that dies while locked comes back locked; that is the safe direction to fail, and one command clears it.
- A lockout is global: it applies to every network and channel the bot serves, not just the one it was set from.
- The state is not a configuration setting.
@configcannot see, set or export it, and@lockoutis the only way to change it.