Channel Locking
Denies Send Messages for @everyone (and an optional main role) in one channel - a manual tool for when you need to act immediately rather than wait on automation.
Locking & unlocking
$lock [#channel]
$unlock [#channel]
Also /lock lock and /lock unlock. Both default to the current channel if
none is given.
Lock/unlock everything at once
$lock all
$unlock all
Also /lock lockall and /lock unlockall. Applies the exact same per-channel
logic as locking one at a time to every text channel in the server - an announcements channel that
already had @everyone denied stays exactly as it was, untouched either way.
Main role
$lock setmainrole <@role>
Also /lock setmainrole. Locking always denies Send Messages for @everyone - setting a
main role denies it for that role too at the same time (e.g. your regular "Member" role, so people
can't dodge the lock by only having @everyone denied while their member role still allows it).
Exact behavior
Locking only ever adds a denial, never removes an existing one - if @everyone or the main role already had Send Messages denied before locking (an announcements channel, for example), unlocking won't accidentally open it back up. Each channel remembers exactly what state it found each role in, and restores that same state on unlock.
If a role only has access to $lock through the Lock Channels fake
perm (not real Manage Channels), locking automatically gives that role an explicit Send Messages
allow-override in the channel too - so staff using the fake perm don't accidentally lock
themselves out along with everyone else.