#core-modes
InspIRCd 4 core channel modes
-server-
Set with
/mode #chan +x, remove with -x. /mode #chan shows what is set.| mode | name | parameter | what it does |
|---|---|---|---|
+b | ban | <mask> | Bans matching users from joining. |
+i | inviteonly | — | Join only with an invite. |
+k | key | <key> | Password needed to join. |
+l | limit | <count> | Maximum number of users. |
+m | moderated | — | Only users with a prefix (+ or higher) can speak. |
+n | noextmsg | — | No messages from outside the channel. |
+p | private | — | Hidden from WHOIS for non-members. |
+s | secret | — | Hidden from WHOIS and LIST. |
+t | topiclock | — | Only operators change the topic. |
+o | op | <nick> | Operator status (@). |
+v | voice | <nick> | Voice status (+). |
#module-modes
Module channel modes
@deniz
These come from modules. Which ones work depends on what the network loads — if a mode is rejected, ask staff in #help.
| mode | name | parameter | what it does |
|---|---|---|---|
+A | allowinvite (allowinvite) | — | Anyone may /INVITE. |
+B | anticaps (anticaps) | {ban|block|mute|kick|kickban}:<minlen>:<percent> | Acts on messages that are mostly capitals. |
+c | blockcolor (blockcolor) | — | Blocks messages with colour/formatting codes. |
+C | noctcp (noctcp) | — | Blocks CTCPs to the channel. |
+D | delayjoin (delayjoin) | — | Joins are hidden until the user speaks. |
+d | delaymsg (delaymsg) | <seconds> | New joiners must wait before speaking. |
+e | banexception (banexception) | <mask> | Exempts a mask from bans. |
+E | repeat (repeat) | {ban|block|mute|kick|kickban}:<lines>:<sec>[:<diff>][:<backlog>] | Acts on repeated messages. |
+f | flood (messageflood) | [*]<lines>:<sec> or {ban|block|mute|kick|kickban}:<msgs>:<sec> | Message flood protection. |
+F | nickflood (nickflood) | <changes>:<sec> | Limits nick changes. |
+g | filter (chanfilter) | <glob> | Blocks messages matching a pattern. |
+H | history (chanhistory) | <count>:<period> | Replays recent lines to new joiners. |
+I | invex (inviteexception) | <mask> | Lets a mask bypass +i. |
+J | kicknorejoin (kicknorejoin) | <seconds> | Kicked users must wait before rejoining. |
+j | joinflood (joinflood) | <joins>:<sec> | Closes joins after a burst. |
+K | noknock (knock) | — | Disables /KNOCK. |
+L | redirect (redirect) | <channel> | Sends overflow (+l) users elsewhere. |
+M | regmoderated (account) | — | Only logged-in users can speak. |
+N | nonick (nonicks) | — | No nick changes while inside. |
+Q | nokick (nokicks) | — | Nobody can be kicked. |
+R | reginvite (account) | — | Only logged-in users can join. |
+r | c_registered (services) | — | Marks a registered channel (set by services). |
+S | stripcolor (stripcolor) | — | Strips colour codes instead of blocking. |
+T | nonotice (nonotice) | — | Blocks channel NOTICEs. |
+U | opmoderated (opmoderated) | — | Unprivileged messages are shown only to ops. |
+u | auditorium (auditorium) | — | Users only see the ops in the nick list. |
+w | autoop (autoop) | <status>:<mask> | Gives status automatically on join. |
+X | exemptchanops (exemptchanops) | <restriction>:<mode> | Exempts ranks from restrictions. |
+z | sslonly (sslmodes) | — | Only TLS-connected users can join. |
@deniz
Flood modes take an action:
ban, block, mute, kick or kickban./mode #chan +f mute:6:4/mode #chan +E kickban:3:10/mode #chan +B block:10:70/mode #chan +j 5:10#extbans
Named extended bans
@kaan
Extbans are a core feature in v4 and are written by name (the letter still works). Use them with +b, +e or +I; prefix
! to invert. Acting bans stack with matching ones.| extban | letter | type | matches / does |
|---|---|---|---|
mute: | m | acting | Can stay and read, but can't speak. |
blockcolor: | c | acting | Can't send colour codes. |
noctcp: | C | acting | Can't send CTCPs. |
nonick: | N | acting | Can't change nick inside. |
nonotice: | T | acting | Can't send NOTICEs. |
stripcolor: | S | acting | Colours stripped from their messages. |
opmoderated: | u | acting | Their messages reach only ops. |
redirect: | d | acting | Sent to another channel: redirect:#chan:mask |
blockinvite: | A | acting | Can't use /INVITE. |
nokick: | Q | acting | Matching privileged users can't kick. |
account: | R | matching | Logged in to a services account. |
unauthed: | U | matching | Not logged in to any account. |
realname: | r | matching | Real name (gecos) matches. |
realmask: | a | matching | nick!user@host+realname matches. |
country: | G | matching | Two-letter country code matches. |
channel: | j | matching | Is in a matching channel. |
server: | s | matching | Connected via a matching server. |
gateway: | w | matching | WebIRC gateway name matches. |
fingerprint: | z | matching | TLS client-certificate fingerprint matches. |
share: | b | matching | Matches another channel's ban list. |
bot: | B | matching | User is marked as a bot. |
class: | n | matching | Connect class matches. |
oper: | o | matching | Logged in as a matching oper account. |
opertype: | O | matching | Oper type matches. |
/mode #chan +b mute:*!*@noisy.host/mode #chan +b account:spammer/mode #chan +b mute:unauthed:*!*@*/mode #chan +e account:trustedfriend/mode #chan +b redirect:#overflow:*!*@*@kaan
Again: available extbans depend on the network's modules.
#masks
Ban masks
@mira
A mask is
nick!user@host, * matches anything. LibraIRC cloaks hosts — ban the cloak you see in /whois, or better, ban by account:.| mask | who it hits |
|---|---|
*!*@host | Everyone from that host — the usual choice. |
nick!*@* | Just that nick — easy to dodge. |
account:name | Everyone logged in as that account. |
mute:*!*@host | Quiet: they can read but not speak. |