Documentation: add Python3 syntax highlighting, +i/AMODE documentation and add FAQ on AMODE privileges (#1959)

* MANUAL.md: correct shebangs

* docs/{USERGUIDE,MANUAL}.md: mention amode +v joining through +i

* MANUAL.md: add a FAQ on special privileges of AMODEs

* USERGUIDE.md: add missing channel name

* MANUAL.md: mention that special privileges are cumulative

* Revert "MANUAL.md: correct shebangs"

This reverts commit 75a77c5537.

* MANUAL.md: restore syntax highlighting for python3
This commit is contained in:
Aminda Suomalainen 2022-05-15 18:07:49 +03:00 committed by GitHub
parent bcaed1aff1
commit 16b8d9090b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 3 deletions

View File

@ -562,10 +562,16 @@ Under these circumstances, users can follow the following steps:
1. Register a channel (`/msg ChanServ register #example`)
1. Set it to be invite-only (`/mode #example +i`)
1. Add the desired nick/account names to the invite exception list (`/mode #example +I alice`)
1. Anyone with persistent half-operator status or higher will also be able to join without an invite (`/msg ChanServ amode #example +h alice`)
1. Anyone with persistent voice or higher prefix will also be able to join without an invite (`/msg ChanServ amode #example +v alice`)
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`.)
## What special privileges do AMODEs contain?
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.
* AMODE +v will be able to join when the channel is `invite-only` (without being on the +I list).
* AMODE +h will be able to join even if a ban matches them (without being on the +e list).
## How do I send an announcement to all connected users?
@ -1137,7 +1143,7 @@ The script must print a single line (`\n`-terminated) to its output and exit. Th
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):
```
```python3
#!/usr/bin/python3
import sys, json

View File

@ -119,5 +119,5 @@ If you have registered a channel, you can make it private. The best way to do th
1. Set your channel to be invite-only (`/mode #example +i`)
1. Identify the users you want to be able to access the channel. Ensure that they have registered their accounts (you should be able to see their registration status if you `/WHOIS` their nicknames).
1. Add the desired nick/account names to the invite exception list (`/mode #example +I alice`)
1. Add the desired nick/account names to the invite exception list (`/mode #example +I alice`) or give them persistent voice (`/msg ChanServ AMODE #example +v alice`)
1. If you want to grant a persistent channel privilege to a user, you can do it with `CS AMODE` (`/msg ChanServ AMODE #example +o bob`)