Moderation and access control: topics, passwords, invites, ops, kick and ban.
Everything you can do in Slack or Discord as a channel manager has an IRC equivalent: a topic, a password, invite-only, read-only announcements, moderators, mutes and bans. In IRC these are called modes, and they are controlled by operators (ops).
The person who creates a new room is made its first op automatically on most networks, shown with an @ next to their nickname. On a room registered with ChanServ, the registered owner and their access list decide who gets ops. You can only change modes if you are an op, so look for the @ next to your name first.
A mode is a short switch. Turn it on with + and off with -. Some modes act on the room (like +k), others on a person (like +o). To see which modes a room has right now, type /mode #room.
The topic is the line at the top of a room. Use it for a description, the rules and a link, the same way you would use a channel description in Slack or Discord.
A key turns a room into a password-protected room, like a private Slack channel with a shared password. Anyone who does not know the key cannot join.
An invite-only room cannot be joined by just anyone, even if they know its name. Ops must invite each person first. It is the closest match to a private Slack channel or a locked Discord channel where you add people by name.
In a moderated room only ops and voiced members can speak. Everyone else can read. Use it for announcements, Q&A sessions, live events, or to cool down a heated conversation. It is the same idea as a read-only announcements channel.
Operators are your moderators. They can set modes, change the topic, invite, kick and ban.
A kick removes someone from the room right now. They can come straight back, so it works as a warning. A ban blocks an address from joining or talking, so the person stays out until the ban is lifted. For serious problems you usually ban, then kick.
A ban matches an address pattern, nick!user@host, where * stands for anything:
| Pattern | What it blocks |
|---|---|
| bram!*@* | Anyone using the nickname bram. Easy to dodge by changing nickname. |
| *!*@203.0.113.7 | Anyone connecting from that host or address. Harder to dodge, but may also block other people who share it. |
| *!~spam@* | Anyone with the username spam, from any host. |
| Mode | What it does | Example |
|---|---|---|
| +n | No messages from outside the room. Usually on by default. | /mode #retro +n |
| +t | Only ops can change the topic. | /mode #retro +t |
| +i | Invite only. | /mode #retro +i |
| +k | Requires a key (password) to join. | /mode #retro +k secret |
| +l | Limits how many people can be in the room. | /mode #retro +l 50 |
| +m | Moderated: only ops and voiced members can speak. | /mode #retro +m |
| +s | Secret: hidden from the room list. | /mode #retro +s |
| +b | Ban a hostmask. | /mode #retro +b nick!*@* |
| +e / +I | Exceptions to bans (+e) and to invite-only (+I). | /mode #retro +I *!*@host |
| +o / +v | Give operator or voice to a person. | /mode #retro +o nick |
Modes can be combined: /mode #retro +ntk secret turns on three at once, with the key placed after them. Some modes (for example registered-only or no-colors) exist on some networks but not others; the network's help lists them.
| I want to… | Do this |
|---|---|
| Make a private room for my team | /mode #team +i and invite each person with /invite nick #team |
| Protect a room with a password | /mode #team +k password and share it only with the right people |
| Make an announcement room | /mode #news +m and give voice to the people who may post |
| Cool down a heated room | /mode #retro +m for a few minutes, then /mode #retro -m |
| Remove a troublemaker | Kick with a reason, then ban their host: /mode #retro +b *!*@host |
| Hand a room over to someone | /mode #retro +o newop, then /mode #retro -o yourname |
| Stop anyone from changing the topic | /mode #retro +t |
| Cap the size of a room | /mode #retro +l 100 |
Without services, a room disappears when its last person leaves, and the next person to join becomes its op. On networks with ChanServ, you can register a room so that it keeps its ops, modes and topic. On Libera.Chat and OFTC:
Afterwards, ChanServ remembers who the owner and ops are and can restore the room's settings. Read /msg ChanServ HELP for your network. EFnet has no ChanServ, so rooms there are managed by the people present.