|
@@ -562,10 +562,16 @@ Under these circumstances, users can follow the following steps:
|
562
|
562
|
1. Register a channel (`/msg ChanServ register #example`)
|
563
|
563
|
1. Set it to be invite-only (`/mode #example +i`)
|
564
|
564
|
1. Add the desired nick/account names to the invite exception list (`/mode #example +I alice`)
|
565
|
|
-1. Anyone with persistent half-operator status or higher will also be able to join without an invite (`/msg ChanServ amode #example +h alice`)
|
|
565
|
+1. Anyone with persistent voice or higher prefix will also be able to join without an invite (`/msg ChanServ amode #example +v alice`)
|
566
|
566
|
|
567
|
567
|
Similarly, for a public channel (one without `+i`), users can ban nick/account names with `/mode #example +b bob`. (To restrict the channel to users with valid accounts, set it to registered-only with `/mode #example +R`.)
|
568
|
568
|
|
|
569
|
+## What special privileges do AMODEs contain?
|
|
570
|
+
|
|
571
|
+Some persistent modes contain persistent privileges over temporary modes. These are cumulative, meaning that +o will get privileges of +h which again gets privileges of +v.
|
|
572
|
+
|
|
573
|
+* AMODE +v will be able to join when the channel is `invite-only` (without being on the +I list).
|
|
574
|
+* AMODE +h will be able to join even if a ban matches them (without being on the +e list).
|
569
|
575
|
|
570
|
576
|
## How do I send an announcement to all connected users?
|
571
|
577
|
|
|
@@ -1137,7 +1143,7 @@ The script must print a single line (`\n`-terminated) to its output and exit. Th
|
1137
|
1143
|
|
1138
|
1144
|
Here is a toy example of an authentication script in Python that checks that the account name and the password are equal (and rejects any attempts to authenticate via certfp):
|
1139
|
1145
|
|
1140
|
|
-```
|
|
1146
|
+```python3
|
1141
|
1147
|
#!/usr/bin/python3
|
1142
|
1148
|
|
1143
|
1149
|
import sys, json
|