1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
#if soper
Command provided by: chanserv/flags
#endif
Help for FLAGS:
The FLAGS command allows for the granting/removal of channel
privileges on a more specific, non-generalized level. It
supports nicknames, groups and hostmasks as targets.
When only the channel argument is given, a listing of
permissions granted to users will be displayed.
Syntax: FLAGS <#channel>
Otherwise, an access entry is modified. A modification may be
specified by a template name (changes the access to the
template) or a flags change (starts with + or -). See the
TEMPLATE help entry for more information about templates.
If you don't have +f you may still remove your own access
with -*.
#if !no_leveled_flags
If you are not a founder, you may only manipulate flags you
have yourself, with the following exceptions:
- Only founders may add/remove +R.
- Only founders may add/remove +s.
- To add/remove +f, you must have +s and/or be a founder.
These restrictions do not apply in the case of removing your
own access.
#else
If you are not a founder, you may only manipulate flags you
have yourself.
#endif
#if permit_self_autoop
#if halfops
If you hold the flags +o, +h, and/or +v, you may add or remove
+O, +H, and/or +V on yourself regardless of whether you have
+f.
#else
If you hold the flags +o and/or +v, you may add or remove
+O and/or +V on yourself regardless of whether you have
+f.
#endif
#endif
#if !halfops
You may not edit users that have flags you don't have. For
this purpose, +v grants the ability to grant +V, +o grants
the ability to grant +O, and +r grants the ability to grant
+b.
#else
You may not edit users that have flags you don't have. For
this purpose, +v grants the ability to grant +V, +h grants
the ability to grant +H, +o grants the ability to grant +O,
and +r grants the ability to grant +b.
#endif
#if module chanserv/set_limitflags
If the LIMITFLAGS option is set for the channel, this is
restricted further, see help for SET LIMITFLAGS.
#endif
#if module exttarget/main
Some extended entity targets are available which allow you
to match chanacs against a situation instead
of against a nickname, hostmask or group.
Available exttargets are:
#endif
#if module exttarget/oper
$oper - Any user who is an oper (user mode +o).
#endif
#if module exttarget/registered
$registered - Any user who is identified to services.
#endif
#if module exttarget/channel
$channel:#channel - Any user who is the member of the given channel.
#endif
#if module exttarget/server
$server:server.name - Any user who is connected to the given server.
(The server name may have wildcards.)
#endif
#if module exttarget/chanacs
$chanacs:#channel - Any user with channel access in the given channel
(including hostmasks).
#endif
Syntax: FLAGS <#channel> [nickname|hostmask|group template]
Syntax: FLAGS <#channel> [nickname|hostmask|group flag_changes]
Permissions:
#if module chanserv/voice
+v - Enables use of the DEVOICE and VOICE commands.
#else
+v - This flag is useless. Consider asking network staff to load chanserv/voice.
#endif
+V - Enables automatic voice on join.
#if halfops
#if module chanserv/halfop
+h - Enables use of the DEHALFOP and HALFOP commands.
#else
+h - This flag is useless. Consider asking network staff to load chanserv/halfop.
#endif
+H - Enables automatic halfop on join.
#endif
#if module chanserv/op
+o - Enables use of the DEOP and OP commands.
#else
+o - This flag is useless. Consider asking network staff to load chanserv/op.
#endif
+O - Enables automatic op on join.
#if protect
#if module chanserv/protect
+a - Enables use of the DEPROTECT and PROTECT commands.
#else
+a - Used in conjunction with +O, grants protect channel status on join.
#endif
#endif
#if owner
#if module chanserv/owner
+q - Enables use of the DEOWNER and OWNER commands.
#else
+q - Used on conjunction with +O, grants owner channel status on join.
#endif
#endif
#if module chanserv/set_core
+s - Enables use of the SET commands.
#endif
#if module chanserv/invite
#if module chanserv/getkey
+i - Enables use of the GETKEY and INVITE commands.
#else
+i - Enables use of the INVITE command.
#endif
#else
#if module chanserv/getkey
+i - Enables use of the GETKEY command.
#else
+i - This flag is useless. Consider asking network staff to load chanserv/invite.
#endif
#endif
#if module chanserv/ban
#if module chanserv/kick
#if module chanserv/quiet
+r - Enables use of the BAN, KICK, KICKBAN, QUIET, UNBAN, and UNQUIET commands.
#else
+r - Enables use of the BAN, KICK, KICKBAN, and UNBAN commands.
#endif
#else
#if module chanserv/quiet
+r - Enables use of the BAN, QUIET, UNBAN, and UNQUIET commands.
#else //1DD. chanserv/quiet not loaded
+r - Enables use of the BAN and UNBAN commands.
#endif
#endif
#else
#if module chanserv/unban_self
#if module chanserv/kick
#if module chanserv/quiet
+r - Enables use of the KICK, KICKBAN, QUIET, UNBAN, and UNQUIET commands.
#else
+r - Enables use of the BAN, KICK, KICKBAN, and UNBAN commands.
#endif
#else 2D. chanserv/kick not loaded
#if module chanserv/quiet
+r - Enables use of the QUIET, UNBAN, and UNQUIET commands.
#else
+r - Enables use of the UNBAN command.
#endif
#endif
#else
#if module chanserv/kick
#if module chanserv/quiet
+r - Enables use of the KICK, KICKBAN, QUIET, and UNQUIET commands.
#else
+r - Enables use of the KICK and KICKBAN commands.
#endif
#else
#if module chanserv/quiet
+r - Enables use of the QUIET and UNQUIET commands.
#else
+r - This flag is useless. Please notify staff or the services sponsor immediately in order to correct this epic fail by loading the correct modules. At least chanserv/unban_self is recommended. If staff fail to comply, you should probably think twice before putting any faith in them.
#endif
#endif
#endif
#endif
#if module chanserv/recover
#if module chanserv/sync
#if module chanserv/clear
+R - Enables use of the RECOVER, SYNC and CLEAR commands.
#else
+R - Enables use of the RECOVER and SYNC commands.
#endif
#else
#if module chanserv/clear
+R - Enables use of the RECOVER and CLEAR commands.
#else
+R - Enables use of the RECOVER command.
#endif
#endif
#else
#if module chanserv/sync
#if module chanserv/clear
+R - Enables use of the SYNC and CLEAR commands.
#else
+R - Enables use of the CLEAR command.
#endif
#else
#if module chanserv/clear
+R - Enables use of the CLEAR commands.
#else
+R - This flag is useless. Consider asking network staff to load chanserv/recover.
#endif
#endif
#endif
+f - Enables modification of channel access lists.
#if module chanserv/topic
+t - Enables use of the TOPIC, TOPICAPPEND, TOPICPREPEND, and TOPICSWAP commands.
#else
+t - Permits changing the topic of the channel in spite of the TOPICLOCK setting.
#endif
#if module chanserv/set_pubacl
+A - Enables viewing of channel access lists without the PUBACL setting.
#else
+A - Enables viewing of channel access lists.
#endif
#if module chanserv/successor_acl
+S - Marks the user as a successor.
#endif
+F - Grants full founder access.
+b - Enables automatic kickban.
#if module chanserv/ban
+e - Exempts from +b and enables unbanning self with UNBAN.
#else
#if module chanserv/unban_self
+e - Exempts from +b and enables unbanning self with UNBAN.
#else
+e - Exempts from +b.
#endif
#endif
#if module chanserv/successor_acl
The special permission +* adds all permissions except +b, +S, and +F.
#else
The special permission +* adds all permissions except +b and +F.
#endif
The special permission -* removes all permissions including +b and +F.
Examples:
/msg &nick& FLAGS #foo
/msg &nick& FLAGS #foo foo!*@bar.com VOP
/msg &nick& FLAGS #foo foo!*@bar.com -V+oO
/msg &nick& FLAGS #foo foo!*@bar.com -*
/msg &nick& FLAGS #foo foo +oOtsi
/msg &nick& FLAGS #foo TroubleUser!*@*.troubleisp.net +b
/msg &nick& FLAGS #foo !baz +*
|