docs: document debounced oper detection on JOIN

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-15 13:11:40 +01:00
parent 02ea81d059
commit 476b94967e
2 changed files with 17 additions and 2 deletions

View File

@@ -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 |