docs: document debounced oper detection on JOIN
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -85,7 +85,8 @@ make logs # Follow logs
|
|||||||
admins = ["*!~user@trusted.host", "ops!*@*.ops.net"]
|
admins = ["*!~user@trusted.host", "ops!*@*.ops.net"]
|
||||||
```
|
```
|
||||||
|
|
||||||
IRC operators are auto-detected via WHO. Hostmask patterns use fnmatch.
|
IRC operators are auto-detected via WHO on connect and on user JOIN
|
||||||
|
(debounced 2s to handle netsplit floods). Hostmask patterns use fnmatch.
|
||||||
|
|
||||||
## Channel Management (admin)
|
## Channel Management (admin)
|
||||||
|
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ Default format is `"text"` (human-readable, same as before).
|
|||||||
Commands marked as `admin` require elevated permissions. Admin access is
|
Commands marked as `admin` require elevated permissions. Admin access is
|
||||||
granted via:
|
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
|
2. **Hostmask patterns** -- configured in `[bot] admins`, fnmatch-style
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
@@ -220,6 +220,20 @@ admins = [
|
|||||||
Empty by default -- only IRC operators get admin access unless patterns
|
Empty by default -- only IRC operators get admin access unless patterns
|
||||||
are configured.
|
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 |
|
| Command | Description |
|
||||||
|---------|-------------|
|
|---------|-------------|
|
||||||
| `!whoami` | Show your hostmask and admin status |
|
| `!whoami` | Show your hostmask and admin status |
|
||||||
|
|||||||
Reference in New Issue
Block a user