A | B | |
---|---|---|
1 | ||
2 | Masks notated as: | XhXmXs=nick!user@host>#forwardto<comment-when-attempting-to-join |
3 | Time until expiry (optional) - add tilde to make inactive until time passed, hostmask or extban, channel to forward to (optional), comment (optional) - replaces dashes with spaces | |
4 | Comments on bans give 404 with Banned: [comment]. Comments on (multiple) invexes give 404 with Invite-only, not exempted: [comment] (or comment ...) | |
5 | Masks support AND logic by using commas. Timer, comments and forwards only apply to the whole mask. | |
6 | Relative time is notated as (Xl)(Xy)(XM)(Xw)(Xd)(Xh)(Xm)X(s) | |
7 | l=lines (in channel), y=years, M=months, w=weeks, d=days, h=hours, m=minutes, s=seconds(default) | |
8 | ||
9 | underlining | Denotes something only network operators can use |
10 | thing [param] (optional) | "thing" defines the command, mode, syntax, etc, [param] defines a mandatory parameter to it, and (optional) defines an optional parameter |
11 | ||
12 | Channel modes | |
13 | No-param cmodes | Effect |
14 | A | Announce invites to the channel |
15 | D | Delay join, users do not appear joined until they speak |
16 | u | Auditorium channel, can only see yourself (and optionally ops) on the nicklist, and joins, parts, quits and kicks are cloaked |
17 | i | Invite-only, must be /INVITE'd to join the channel, or set +I invite exempt |
18 | p | Private channel, prevents from showing up in LIST |
19 | s | Secret channel, prevents from showing up in WHOIS or LIST |
20 | S | Services-operated, only allow services or opers to moderate, thus enforcing access lists, e.g. disallowing someone with 398 access from kicking a 399 access |
21 | G | Global blacklist, adhere to the global blacklist provided by the server to ban known bad people, scam PM spammers, etc |
22 | m | Moderated, only people with voice or higher can speak (sets +P ~m:o:n) |
23 | t | Topic lock, only allow halfops or higher to change it (sets +P ~t:o:nv) |
24 | n | No outside messages, you must be in the channel to message or notice it (recommended) |
25 | K | Disallows /KNOCK on the channel |
26 | U | Permanent channel, only opers can set, doesn't disappear and retains all modes when there are no users |
27 | r | Used by services to mark channel as registered |
28 | L | Larger banlist, set by opers to allow large channels to have larger ban/ex/invex lists |
29 | Param cmodes | |
30 | k [key] | Key on channel, must /JOIN with parameters (/join #chan1,#chan2 key1,key2) |
31 | l [limit](#channel) | Limit of number of users on channel, optionally append channel name to forward when channel is full |
32 | J [seconds] | Number of seconds before a user can join again after being kicked |
33 | d [sec] | Deny messages until [sec] seconds have passed after joining |
34 | H [num]:[sec] | Displays last [num] lines from within the last [sec] seconds on join to the channel |
35 | j [num]:[sec] | [num] number of users that can join in [sec] seconds |
36 | Nick cmodes | Only temporarily apply to a nick while they're joined in the channel, though you can use mode +w to automatically give them |
37 | y | Oper-mode, HexChat Red, prefix !, set on an oper when joining, or when joining with /OJOIN, depending on configuration |
38 | q | Owner-mode, QOP, HexChat Orange, KVIrc Wrench, prefix ~, has/should have full control over the channel |
39 | a | Protect-op, super-op, SOP, HexChat Yellow, KVIrc Star, prefix &, has control over lower statuses and can't be kicked by lower statuses |
40 | o | Channel operator, OP, HexChat Green, KVIrc Crown, prefix @, can kick, set modes, etc |
41 | h | Half-op, HOP, HexChat Teal, KVIrc Half-crown, prefix %, can kick, set modes, can't kick operators or higher, can't kick other half-ops if paranoid mode is set |
42 | v | Voice, VOP, HexChat Blue, KVIrc Megaphone, prefix +, can talk if they match a ban or if the channel is +m moderated |
43 | List cmodes | note: masks are notated as (XhXmXs=)(acting extban:)[hostmask or matching extban](>#forwardchannel)(<comment-on-attempt-to-join) |
44 | b [mask] | Sets a ban on a matching mask, unless exempted, prevents matching users from joining (or speaking unless voiced) |
45 | I [mask] | Sets an invite exempt on a matching mask, the user can join when a channel is +i without invitation |
46 | e [mask] | Sets a ban exempt on a matching mask, allows them to join and speak if they match an exempt even if they match a ban |
47 | w [flag]:[mask] | Gives nick cmode [flag] to anyone matching [mask], e.g. +w o:$R:concerned autoops anyone identified as concerned, add a backtick (`) to allow hiding of status (deopping self) |
48 | x [flag]:[permission] | Auto sets a privilege on users with [flag] status or higher (see permissions) |
49 | f (`/~)[n]:[s]:[p]:[c] | After doing something that active permission [p] allows you to do [n] times within [s] seconds, negate [p] for that user till after [c] cooldown, or kick/kickban (`/~ prefix) |
50 | P [permission]:[mask] | Give a permission to [mask], also allows negating by prefixing permission with tilde ~ |
51 | F [#channel] | Accept forwarding from #channel, or * accepts forwarding from all channels |
52 | M s/[m]/[r]/(f) | Search and replace with Regex, matches [m], replaces with [m] with [r], optional (f) flags like case insensitive /i, lets users know their message was modified and which part |
53 | M d/[match]/(flags) | Denies messages that match |
54 | M (ds) | Use d, s, or ds, to subscribe to global delete list, global replace list, or both (whichever character first matches first, the global lists consist of curse words and evasions) |
55 | Q [mask] | Shadowquiet a user, messages are not sent and don't have an error, non-ops don't see these modes being set, nor can they see the list (unless permissions set) |
56 | C [k]:[v](;[k]:[v] ...) | ChanConfig, sets config values for services or other bots, default viewables are ops |
57 | ||
58 | Extmasks | Effect (note: extmasks support reverse-logic, notated with a tilde: $~r:blah means people that don't contain "blah" in their realname) |
59 | $r:[realname] | Realname/gecos field |
60 | $z:[fingerprint match] | SSL fingerprint, or * for SSL connection at all |
61 | $a:[anon net name] | Connected using anonymous network, names are 'tor', 'i2p', 'anonet', 'zeronet', or * for anonymous at all |
62 | $s:[server] | Matches users on the [server] server in the network |
63 | $R:[account] | Matches users identified to services under account name [account] |
64 | $O:[opertype] | Matches opers of type [opertype] |
65 | $J:(?)[#channel] | If user is in [#channel], optionally matching nickmodes in channel e.g. +&#channel matches +a and +v users in #channel |
66 | $j:[#channel] | If user is able to join [#channel], checks against [#channel]'s ban/ex/invex list |
67 | $t:[text match] | Only acts upon a matching message from the user, e.g. +P ~C:t:*ACTION*, disallows CTCP actions, revoking a user's CTCP permissions for that single message |
68 | $o:[nickmodes] | Matches any combination of yqaohvn (n implies no status in channel) |
69 | $u:[umodes] | Matches any combination of no-param usermodes |
70 | $p:[permissions] | Matches any combination of current chan permissions |
71 | $w:[type] | Match if user is logged in via web IRC client, types are 'mibbit' 'kiwi' 'light' 'qweb' 'websock' |
72 | $W:[site match] | Matches CTCP WEBSITE for qwebirc (website that the frame is embedded in). "direct" for qwebirc directly, and "none" for regular IRC client. |
73 | $v:[version match] | Match if CTCP VERSION matches (collected on connect to the server) |
74 | $x:[ip/cidr] | Match uncloaked IP v4 or v6 of user, CIDR ranges and wildcards supported |
75 | $T:[MPOTR fingerprint] | Match Multi-Party Off-The-Record fingerprint |
76 | $B:[btc address] | Match verified Bitcoin address (see commands BTCVERIFY, BTCPROVE) |
77 | $W:[swhois match] | Match custom whois line 320 (see command SWHOIS) |
78 | $A:(ge)[level](#channel) | Matches users with channel access level [level], defaults to ge (greater than or equal to), can use other conditions: le, lt, gt, ne, eq |
79 | $g:[geoipmatch] | Matches result of matching IP against GeoIP database, result is --- (three dashes) if there is no match (e.g. using anonymous network) |
80 | ||
81 | ||
82 | Permissions | Effect (default permissions for all users noted with an asterisk, adding a tilde ~ can negate the effect) |
83 | Active permissions | "Spammable" things like changing topic, noticing, changing nicks |
84 | t | Ability to change topic (cmode +t influences this) |
85 | *n | Ability to /NOTICE the channel |
86 | *m | Ability to message (PRIVMSG) the channel |
87 | *N | Ability to change nickname |
88 | *B | Ability to type in A CERTAIN AMOUNT OF CAPITAL LETTERS |
89 | *C | Ability to CTCP the channel (other than /me ACTIONs) |
90 | *c | Ability to use color codes |
91 | *k | Ability to kick users below your status |
92 | K | Ability to kick users above or equal to your status |
93 | i | Ability to invite users |
94 | G | Ability to change channel's greeting (/GREETING) |
95 | u | Ability to change channel's URL (/CHANURL) |
96 | M | Ability to talk when not present in the channel (cmode +n influences this) |
97 | Passive permissions | To modify default mode change/list/view-ability for mode Z (placeholder), use `Z (backtick) to allow changing, use .Z (dot) for viewing, and ^Z (carat) for listing, wildcards accepted |
98 | F | Ability to not have your messages altered by channel filters |
99 | g | Ability to be not censored by channel censors |
100 | f | Ability to not be acted upon by mode +f |
101 | A | Ability to see all users in auditorium |
102 | a | Visibility in auditorium |
103 | T | Ability to speak in MPOTR, BES, AES, GPG, FishLiM, other encryption |
104 | ||
105 | User modes | Effect |
106 | i | Invisible, cannot be seen in /WHO response if requester is not in channel or is not an IRCop |
107 | w | User can recieve WALLOPS messages |
108 | B | Marks the user as a bot |
109 | c | Common channels required, only allows people with common channels to private message the user |
110 | d | Deaf, user doesn't recieve channel messages |
111 | g | CallerID, server-side ignore, notifies who is private messaging and can be allowed using /ACCEPT |
112 | G | Global blacklist, prevents messages from known bad people configured on server |
113 | H | Hide channels in WHOIS response to other users |
114 | C | Strip color from all messages |
115 | x | IP hidden by network (cloaked) |
116 | W | Shows user when they are WHOIS'd and who did it |
117 | R | Users can only recieve messages from registered users |
118 | Restricted user modes | Restricted to services, opers, etc |
119 | K | Godmode, sets when user is a head network operator |
120 | o | Operator, sets when user is a network operator |
121 | h | Helpop, sets when user is a network helper |
122 | s | Service, set on services, prevents floodkill |
123 | O | Hide godmode/operator/helpop status from users |
124 | Q | Forces an oper to appear to QUIT to all other users, for undercover operations |
125 | r | Settable by services, to mark if user is identified |
126 | f | Sets a user immune to floodkills globally |
127 | List umodes | Temporary unless registered with services |
128 | s [mask] | Server notices, user can recieve server notices, [mask] matching SNOMASK |
129 | M [functions as cmode M] | Regex operation on messages |
130 | b [mask] | Same behavior as channel ban, prevents private messages or notices from anyone matching [mask] (extmasks, timers, comments supported) |
131 | e [mask] | Same behavior as channel banexempt, though also works for callerid mode as an autoaccept |
132 | P [permission]:[mask] | Allows blocking or allowing of specific active permissions, e.g. /umode +P ~C:*, blocks CTCPs from anyone |
133 | p [account] | Be notified with an ISON response when a user goes online, requires that they have you on +p as well |
134 | Q [mask] | Add a shadow-ignore, matching users who PM are not notified that their message wasn't sent |
135 | ||
136 | Added commands | |
137 | UMODE [modestring] | Made for clients that don't define /umode, changes mode of user |
138 | CHANURL [#channel] :[url] | Sets the channel's URL, must match a URL |
139 | GREETING [#channel] :[msg] | Sets the channel's greeting message |
140 | SWHOIS (user:) [info] | Sets the user's info/status message (WHOIS response numeric 320) |
141 | BTCVERIFY [address] | Get random text to sign to prove ownership of a bitcoin address |
142 | BTCPROVE [addr] [signed] | Submit signed token from /BTCVERIFY, ownership proven on success |
143 | LINE [modestring] | Changes *lines, exactly like MODE. See Lines. |
144 | ||
145 | Planned aliases | |
146 | [SERVICE|SVC|SV] [message] | Forwards a message to the Service bot |
147 | [NS|CS|BS|HS] [message] | Tells the user that NS/CS/BS/HS isn't supported, instead use SVC |
148 | [GAMES|GS] [message] | Forwards a message to the Games service |
149 | [MAIL|MS] [message] | Forwards a message to the Mail service |
150 | ||
151 | ||
152 | ||
153 | Lines | Like modes, but for the server. Only opers can use these. They are saved in config. |
154 | List lines | |
155 | g [mask] | Global Kill-line. Automatically kills the matching mask from any server in the network. Does accept timers and comments, of course. |
156 | k [mask] | Kill-line. Automatically kills matching mask from server. Accepts timers and comments. |
157 | j [nick] | Jupes nickname, the nickname is no longer usable by anyone. |
158 | z [ip] | Z-line, bans an IP, kills without sending or accepting any data at all. |
159 | o [mask] | Gives oper to a mask. Use of extmasks (especially $R and $B) encouraged. Only settable by Godmodes (godmodes are set in special config files, and must use /oper) |
160 | h [mask] | Gives helper to a mask. Use of extmasks engouraged. Only settable by Opers. |
161 | c [#chan]:[mask] | Auto joins the user to channel, no matter what. |
162 | p [mask] | Punished, cannot join any channels or message any users (can recieve messages) except those set by a c line. |
163 | G [mask] | Adds mask to global bad guys list. |
164 | q [nick]:[mask] | Only allows use of nick by mask. |
165 | F [#chan1]:[#chan2] | Autoforward #chan1 to #chan2 |