AB
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
underliningDenotes 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 cmodesEffect
14
AAnnounce invites to the channel
15
DDelay join, users do not appear joined until they speak
16
uAuditorium channel, can only see yourself (and optionally ops) on the nicklist, and joins, parts, quits and kicks are cloaked
17
iInvite-only, must be /INVITE'd to join the channel, or set +I invite exempt
18
pPrivate channel, prevents from showing up in LIST
19
sSecret channel, prevents from showing up in WHOIS or LIST
20
SServices-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
GGlobal blacklist, adhere to the global blacklist provided by the server to ban known bad people, scam PM spammers, etc
22
mModerated, only people with voice or higher can speak (sets +P ~m:o:n)
23
tTopic lock, only allow halfops or higher to change it (sets +P ~t:o:nv)
24
nNo outside messages, you must be in the channel to message or notice it (recommended)
25
KDisallows /KNOCK on the channel
26
UPermanent channel, only opers can set, doesn't disappear and retains all modes when there are no users
27
rUsed by services to mark channel as registered
28
LLarger 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 cmodesOnly temporarily apply to a nick while they're joined in the channel, though you can use mode +w to automatically give them
37
yOper-mode, HexChat Red, prefix !, set on an oper when joining, or when joining with /OJOIN, depending on configuration
38
qOwner-mode, QOP, HexChat Orange, KVIrc Wrench, prefix ~, has/should have full control over the channel
39
aProtect-op, super-op, SOP, HexChat Yellow, KVIrc Star, prefix &, has control over lower statuses and can't be kicked by lower statuses
40
oChannel operator, OP, HexChat Green, KVIrc Crown, prefix @, can kick, set modes, etc
41
hHalf-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
vVoice, VOP, HexChat Blue, KVIrc Megaphone, prefix +, can talk if they match a ban or if the channel is +m moderated
43
List cmodesnote: 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
ExtmasksEffect (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
PermissionsEffect (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
tAbility to change topic (cmode +t influences this)
85
*nAbility to /NOTICE the channel
86
*mAbility to message (PRIVMSG) the channel
87
*NAbility to change nickname
88
*BAbility to type in A CERTAIN AMOUNT OF CAPITAL LETTERS
89
*CAbility to CTCP the channel (other than /me ACTIONs)
90
*cAbility to use color codes
91
*kAbility to kick users below your status
92
KAbility to kick users above or equal to your status
93
iAbility to invite users
94
GAbility to change channel's greeting (/GREETING)
95
uAbility to change channel's URL (/CHANURL)
96
MAbility 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
FAbility to not have your messages altered by channel filters
99
gAbility to be not censored by channel censors
100
fAbility to not be acted upon by mode +f
101
AAbility to see all users in auditorium
102
aVisibility in auditorium
103
TAbility to speak in MPOTR, BES, AES, GPG, FishLiM, other encryption
104
105
User modesEffect
106
iInvisible, cannot be seen in /WHO response if requester is not in channel or is not an IRCop
107
wUser can recieve WALLOPS messages
108
BMarks the user as a bot
109
cCommon channels required, only allows people with common channels to private message the user
110
dDeaf, user doesn't recieve channel messages
111
gCallerID, server-side ignore, notifies who is private messaging and can be allowed using /ACCEPT
112
GGlobal blacklist, prevents messages from known bad people configured on server
113
HHide channels in WHOIS response to other users
114
CStrip color from all messages
115
xIP hidden by network (cloaked)
116
WShows user when they are WHOIS'd and who did it
117
RUsers can only recieve messages from registered users
118
Restricted user modesRestricted to services, opers, etc
119
KGodmode, sets when user is a head network operator
120
oOperator, sets when user is a network operator
121
hHelpop, sets when user is a network helper
122
sService, set on services, prevents floodkill
123
OHide godmode/operator/helpop status from users
124
QForces an oper to appear to QUIT to all other users, for undercover operations
125
rSettable by services, to mark if user is identified
126
fSets a user immune to floodkills globally
127
List umodesTemporary 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
LinesLike 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