docs: document debounced oper detection on JOIN
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -206,7 +206,7 @@ Default format is `"text"` (human-readable, same as before).
|
||||
Commands marked as `admin` require elevated permissions. Admin access is
|
||||
granted via:
|
||||
|
||||
1. **IRC operator status** -- detected automatically via `WHO` on channel join
|
||||
1. **IRC operator status** -- detected automatically via `WHO`
|
||||
2. **Hostmask patterns** -- configured in `[bot] admins`, fnmatch-style
|
||||
|
||||
```toml
|
||||
@@ -220,6 +220,20 @@ admins = [
|
||||
Empty by default -- only IRC operators get admin access unless patterns
|
||||
are configured.
|
||||
|
||||
### Oper Detection
|
||||
|
||||
IRC operators are detected via the `*` flag in `WHO` replies. Detection
|
||||
happens at two points:
|
||||
|
||||
- **On connect** -- `WHO #channel` for each configured channel
|
||||
- **On user JOIN** -- debounced `WHO #channel` (2-second window)
|
||||
|
||||
The debounce prevents flooding the server during netsplit recovery: many
|
||||
rapid JOINs produce a single `WHO` per channel. Note that the first
|
||||
command after joining may not yet have oper status -- the debounced WHO
|
||||
fires after a 2-second delay. Users who `QUIT` are removed from the oper
|
||||
set automatically.
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `!whoami` | Show your hostmask and admin status |
|
||||
|
||||
Reference in New Issue
Block a user