82bca0145901b5dbfa95a3219b0a7a03e860f39b
[srvx.git] / src / chanserv.help
1 "<INDEX>" ("$b$C Help$b",
2         "$b$C$b is a channel service bot, intended primarily to prevent and defend against channel takeovers. It also includes convenience features aimed at making it easier to maintain control over all aspects of your channel.",
3         "$b$C$b command categories:",
4         "  USER            User management.",
5         "  CHANNEL         Channel management.",
6         "  BAN MANAGEMENT  Ban management.",
7         "  INFORMATION     Informative commands.",
8         "  OPER            Helper/Operator commands."
9 );
10 "USER" ("$bUser commands:$b",
11         "  ACCESS      Check your own or another person's access to a channel.",
12         "  ADDCOOWNER  Give another person coowner status in a channel.",
13         "  ADDMASTER                       master status in a channel.",
14         "  ADDOP                           op status in a channel.",
15         "  ADDPEON                         peon status in a channel.",
16         "  GIVEOWNERSHIP    Give ownership to another user in the channel.",
17         "  CLVL        Change a person's access level in a channel.",
18         "  ADDUSER     Give another person access in a channel.",
19         "  DELUSER     Remove a person's access from a channel.",
20         "  DELETEME    Remove your own access from a channel.",
21         "  MDELCOOWNER Remove coowners with accounts matching a mask.",
22         "  MDELMASTER         masters with accounts matching a mask.",
23         "  MDELOP             ops with accounts matching a mask.",
24         "  MDELPEON           peons with accounts matching a mask.",
25         "  TRIM        Remove users inactive for a certain period.",
26         "  UP          Obtain ops in a channel you have access to.",
27         "  DOWN        Remove ops",
28         "  UPALL       Obtain ops in all channels you have access to.",
29         "  DOWNALL     Remove ops in all",
30         "  OP          Give ops to the specified user.",
31         "  DEOP        Remove ops from the specified user.",
32         "  VOICE       Give voice to the specified user.",
33         "  DEVOICE     Remove voice from the specified user.",
34         "  USET        Set channel user options.",
35         "  SUSPEND     Suspend a user's access to a channel.",
36         "  UNSUSPEND   Restore a user's access to a channel.",
37         "  WIPEINFO    Remove a lower-ranked user's infoline."
38 );
39 "BAN MANAGEMENT" ("$bBan Management Commands:$b",
40         "  KICK        Kick a user from a channel.",
41         "  BAN         Ban a user from a channel.",
42         "  KICKBAN     Kick and ban a user from a channel.",
43         "  BANS        List lasting bans in a channel",
44         "  ADDBAN      Add a permanent ban for a user.",
45         "  ADDTIMEDBAN Add a ban that expires in the specified time.",
46         "  UNBAN       Remove the specified ban from the channel.",
47         "  DELBAN      Remove the specified permanent ban from memory.",
48         "  TRIM        Remove bans inactive for a certain period.",
49         "  UNBANME     Remove a ban matching your hostmask from specified channel.",
50         "  UNBANALL    Remove all bans from a channel."
51 );
52 "CHANNEL" ("$bChannel Management Commands:$b",
53         "  OPEN        Remove +ilk channel modes and any bans on you from a channel.",
54         "  USERS       List all users of a channel.",
55         "  CLIST                coowners of a channel.",
56         "  MLIST                masters of a channel.",
57         "  OLIST                ops of a channel.",
58         "  PLIST                peons of a channel.",    
59         "  BANS        List all the bans for a channel.",
60         "  TOPIC       Set the current topic, or reset it to the default topic.",
61         "  MODE        Change a channel mode.",
62         "  INVITE      Invite new users to your channel.",
63         "  INFO        Show numerical information about the users in a channel.",
64         "  SET         Change various channel settings.",
65         "  EVENTS      View a list of events relevant to a channel.",
66         "  NOTE        Set a note on a channel.",
67         "  DELNOTE     Remove a note from a channel.",
68         "  RESYNC      Synchronize ops and voice with the channel userlist."
69 );
70 "INFORMATION" ("$bInformative Commands:$b",
71         "  VERSION     Check the current running version of $C",
72         "  NETINFO     Check current network-wide information.",
73         "  STAFF       Get a list of all the current staff.",
74         "  IRCOPS                                    IRC operators.",
75         "  HELPERS                                   support helpers.",
76         "  PEEK        Reveal information on a channel's modes, topic and ops.",
77         "  SEEN        Find out the last time a user was in a channel.",
78         "  COMMAND     Display some information about a command."
79 );
80 "OPER" ("$bHelper/IRC Operator commands:$b",
81         "  SAY         Have $C say a message in a channel.",
82         "  EMOTE       Equivalent to $C doing a /me in a channel.",
83         "  GOD         Turn security override on/off.",
84         "  EXPIRE      Automatically unregister old channels.",
85         "  CSUSPEND    Remove $C from a channel (preserving user data).",
86         "  CUNSUSPEND  Restore $C to a channel that was suspended.",
87         "  UNVISITED   List all channels that have not been visited in specified duration.",
88         "  MERGE       Merges a source and target channels' registration, users, bans, and other data into the target channel.",
89         "  MOVE        Transition one channel's registration to a new channel name.",
90         "  OPCHAN      Force $C to op itself in a channel.",
91         "  REGISTER    Register a new channel with $C.",
92         "  NOREGISTER  Add a channel to the do-not-register list.",
93         "  ALLOWREGISTER Remove a channel from the do-not-register list.",
94         "  UNREGISTER  Remove $C from a registered channel.",
95         "  SEARCH      Find registered channel matching criteria.",
96         "  ADDOWNER    Add a new owner to a channel.",
97         "  DELOWNER    Remove a current owner from a channel.",
98         "  MDELOWNER   Remove multiple owners by account mask from a channel.",
99         "  CREATENOTE  Create a new note type.",
100         "  REMOVENOTE  Remove an existing note type."
101 );
102 "ACCESS" ("/msg $C ACCESS <#channel> <nick|*account>",
103         "Reports various pieces of information about a channel user, including channel and network access level, and the user's info line. If no nick or account is provided, $C returns your own information.",
104         "If no channel is provided, $C lists your infolines in all registered channels.",
105         "$uSee Also:$u users");
106 "ADDBAN" ("/msg $C ADDBAN <#channel> <mask|nick> [Reason]",
107         "Adds a ban to the channels permanent ban list, remaining in effect until removed with the DELBAN command. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended into a permanent ban.",
108         "$uSee Also:$u bans, delban, mdelban");
109 "ADDUSER" ("/msg $C ADDUSER <#channel> <level> <nick|*account>",
110         "This command adds someone to the channel user list with the specified access level.  (You may only add users to levels less than your own.)",
111         "The level may be one of $bpeon$b, $bop$b, $bmaster$b, $bcoowner$b or $bowner$b (only network staff may add owners).",
112         "$uSee Also:$u deluser, users");
113 "ADDTIMEDBAN" ("/msg $C ADDTIMEDBAN <#channel> <mask|nick> <Duration> [Reason]",
114         "Adds an automatically expiring ban to the channel ban list. This command behaves in the exact same fashion as ADDBAN with the exception that the bans are automatically removed after the user-supplied duration. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended. Timed bans can be removed with the DELBAN command, as with permanent bans.",
115         "$uSee Also:$u addban, bans, delban, durations");
116 "ALLOWREGISTER" ("/msg $C ALLOWREGISTER <#channel|*Account>",
117         "Removes the named channel (or channel mask) from the do-not-register list.",
118         "$uSee Also:$u register, noregister, unregister");
119 "BAN" ("/msg $C BAN <#channel> <mask|nick>",
120         "This command will temporarily add a ban for the user specified as the parameter. Masks are to be supplied in the format <Nick>!<Ident>@<Host> and usually contain wildcards. If a nick is specified, a mask is automatically generated (though not completely foolproof). This ban is removed either by removing it from the channel ban list using any irc client, or sending the UNBAN or UNBANALL commands. If you are banned with this method, the UNBANME command can be used.",
121         "$uFor assistance, please join to #support$u",
122         "Example: *!*serv@*.gamesnet.net would ban anyone with ident 'serv' and a gamesnet.net hostname from joining the channel.",
123         "$uSee Also:$u unban, unbanall, unbanme");
124 "BANS" ("/msg $C BANS <#channel>",
125         "This command lists all permanent and timed bans in the channel.",
126         "$uSee Also:$u addban, delban, mdelban");
127 "CLIST" ("/msg $C CLIST <#channel> [mask]",
128         "This command lists all users of level $bCoowner$b on a channel's userlist. If a mask is supplied, only coowners matching the mask will be shown.",
129         "$uSee Also:$u addcoowner, delcoowner, mdelcoowner, users");
130 "CLVL" ("/msg $C CLVL <#channel> <nick|*account> <level>",
131         "Modifies a channel user's access level. You cannot give users access greater than or equal to your own.",
132         "You may use *Account instead of Nick as the name argument; the * makes $C use the name of a account directly (useful if the user is not online).",
133         "$uSee Also:$u access, users, giveownership");
134 "CREATENOTE" ("/msg $S CREATENOTE <typename> <set-access> [access-arg] <view-access> <max-length>",
135         "Defines a new note type.  $btypename$b is the name of the note type.  $bset-access$b is one of:",
136         "  $bPRIVILEGED$b with required $baccess-arg$b being the minimum OpServ level to set",
137         "  $bCHANNEL   $b with required $baccess-arg$b being the channel access level to set",
138         "  $bSETTER    $b (with no access-arg) to allow anyone who can !set to set",
139         "$bview-access$b is one of $bPRIVILEGED$b, $bCHANNEL_USERS$b, or $bALL$b, that determines who can see the note (if it is set).",
140         "$bmax-length$b is the maximum length for this kind of note.",
141         "If the note type already exists, it is modified with the new values you specify.",
142         "$uSee Also:$u removenote");
143 "GIVEOWNERSHIP" ("/msg $C GIVEOWNERSHIP <#channel> <nick|*account>",
144         "Transfer ownership of the channel from you to another user on the channel's userlist.  You are demoted to co-owner, and they are promoted to owner.",
145         "You may use *Account instead of Nick as the name argument; the * makes $C use the name of a account directly (useful if the user is not online).",
146         "$uSee Also:$u clvl, access, users");
147 "CSUSPEND" ("/msg $C CSUSPEND <#channel> [!]<duration> <reason>",
148         "This command will temporarily remove $b$C$b from a channel and suspend its registration.",
149         "The duration may be \"0\" to make it never expire; otherwise, $C will automatically unsuspend the channel after $uduration$u.",
150         "If you wish to modify a currently existing suspension, add a ! before the duration.",
151         "$uSee Also:$u unregister, cunsuspend, durations");
152 "CUNSUSPEND" ("/msg $C CUNSUSPEND <#channel>",
153         "Restores a channel's $b$C$b registration.",
154         "$bSee Also:$b csuspend, unregister");
155 "DELBAN" ("/msg $C DELBAN <#channel> <mask|nick>",
156         "Deletes a ban from the channel ban list. This command works for both permanent and timed bans alike.",
157         "$uSee Also:$u addban, addtimedban, bans");
158 "DELNOTE" ("/msg $C DELNOTE <#channel> <note-name>",
159         "Deletes a note from the channel.  To do this, you must be able to set the note.",
160         "$uSee Also:$u note, note types");
161 "DELUSER" ("/msg $C DELUSER <#channel> <nick|*account>",
162         "Deletes a user from the channel user list.",
163         "You may use *Account instead of Nick as the name argument; the * makes $C use the name of a account directly (useful if the user is not online).",
164         "$uSee Also:$u adduser, deleteme, users");
165 "DELETEME" ("/msg $C DELETEME <#channel> [<secret>]",
166         "If you have less than owner access in a channel, $bdeleteme$b removes your access from the channel.  $bIf you do this by mistake, you must find a higher-ranked user to re-add you.$b",
167         "The secret value changes for each channel and each user.  If you do not include the secret value, $C will tell you what it should be.",
168         "$uSee Also:$u adduser, deluser, giveownership, users");
169 "DEOP" ("/msg $C DEOP <#channel> <nick> [nick]...",
170         "Deops the specified user[s].",
171         "$uSee Also:$u down, op");
172 "DEVOICE" ("/msg $C DEVOICE <#channel> <nick> [nick]...",
173         "This command will make $C devoice the selected user[s].",
174         "$uSee Also:$u addpeon, delpeon, deop, voice");
175 "DOWN" ("/msg $C DOWN <#channel>",
176         "This command will devoice/deop you in the selected channel.",
177         "$uSee Also:$u downall, up, upall");
178 "DOWNALL" ("/msg $C DOWNALL",
179         "Executes the $bdown$b command for each channel you have access to.",
180         "$uSee Also:$u down, up, upall");
181 "DURATIONS" ("[<n>y][<n>M][<n>w][<n>d][<n>h][<n>m][<n>[s]]",
182         "There is a standard syntax for durations that let you easily specify longer periods of time.  A duration consists of one or more \"duration parts\", which are sequences of digits, separated by duration letters.",
183         "The valid duration letters are $by$b (for year, or 365 days), $bM$b (for month, or 31 days), $bw$b (for week, or 7 days), $bd$b (for day, or 24 hours), $bh$b (for hour, or 60 minutes), $bm$b (for minute, or 60 seconds), and $bs$b (for second).  We know not all years are 365 days and not all months are 31 days, but we pretend they are for parsing durations.",
184         "If the last duration part does not have any letter to indicate the units, seconds are assumed.",
185         "$uExamples$u: 1y1M is 365 days plus 31 days; 1y1m is 365 days plus 1 minute; 1h30m45 is ninety minutes and forty-five seconds; and so forth.");
186 "EMOTE" ("/msg $C EMOTE <#channel> <text>",
187         "Makes $b$C$b send a CTCP ACTION message to the specified channel.",
188         "$uSee Also:$u say");
189 "EVENTS" ("/msg $C EVENTS <#channel> [limit [pattern]]",
190         "Allows channel coowners to view a list of events related to their channel. If a pattern is provided, only events with a matching description will be displayed.",
191         "$bNote:$b You must specify a limit if you want to use a pattern to match against.",
192         "$uSee Also:$u last");
193 "EXPIRE" ("/msg $C EXPIRE",
194         "Expires any channels that have not been visited within the configured duration. Channel registrations are automatically expired, so you only need to use this command if the duration has been changed.",
195         "$uSee Also:$u unvisited");
196 "HELPERS" ("/msg $C HELPERS",
197         "Lists all the helpers currently online. Nicknames enclosed in parentheses are away, and likely unavailable.",
198         "$uSee Also:$u staff");
199 "INFO" ("/msg $C INFO <#channel>",
200         "This command responds with various pieces of information about a channel's users, status, and registration.");
201 "INVITE" ("/msg $C INVITE <#channel> [nick [reason]]",
202         "Invites a user into the channel, sending them a reason if one is provided. However, unless you have at least $bmaster$b access, you can only invite yourself with this command. If no nick is provided, the user issuing the command will be invited.");
203 "IRCOPS" ("/msg $C IRCOPS",
204         "Lists all the IRC operators currently online. Nicknames enclosed in parentheses are away, and likely unavailable.",
205         "$uSee Also:$u staff");
206 "KICK" ("/msg $C KICK <#channel> <mask|nick> [reason]",
207         "Kicks the users matching the given nick or mask with the specified reason. If no reason is provided, a default will be used.",
208         "$bSee Also:$b kickban");
209 "KICKBAN" ("/msg $C KICKBAN <#channel> <mask|nick> [reason]",
210         "Kicks and bans with the specified reason any users with a matching nick or hostmask. If no reason is provided, a default one will be used.",
211         "$bSee Also:$b addban, kick");
212 "MDELCOOWNER" ("/msg $C MDELCOOWNER <#channel> <pattern>",
213         "Deletes all coowners with accounts matching the given pattern from the channel user list.",
214         "$bSee Also:$b clist, delcoowner");
215 "MDELMASTER" ("/msg $C MDELMASTER <#channel> <pattern>",
216         "Deletes all masters with accounts matching the given pattern from the channel user list.",
217         "$bSee Also:$b mdelban, mdelcoowner, mdelop, mdelowner, mdelpeon");
218 "MDELOP" ("/msg $C MDELOP <#channel> <pattern>",
219         "Deletes all ops with accounts matching the given pattern from the channel user list.");
220 "MDELOWNER" ("/msg $C MDELOWNER <#channel> <pattern>",
221         "Deletes all owners with accounts matching the given pattern from the channel user list.",
222         "$uSee Also:$u addowner, mdelcoowner, mdelmaster, mdelop, mdelpeon");
223 "MDELPEON" ("/msg $C MDELPEON <#channel> <pattern>",
224         "Deletes all peons with accounts matching the given pattern from the channel user list.",
225         "$uSee Also:$u addpeon, mdelcoowner, mdelmaster, mdelop");
226 "MERGE" ("/msg $C MERGE <#channel> <destination>",
227         "Merges the source channel's registration, users, bans, and other data into the target channel. Users with access to both the source and target channels will retain the higher access level; if the access levels are the same, the more recent seen time is kept. Bans are also merged, with bans expiring later taking precedence.",
228         "$uSee Also:$u register, move, unregister");
229 "MLIST" ("/msg $C MLIST <#channel> [mask]",
230         "This command lists all users of level $bMaster$b on a channel's userlist. If a mask is supplied, only masters matching the mask will be shown.",
231         "$uSee Also:$u addmaster, delmaster, mdelmaster, users");
232 "MODE" ("/msg $C MODE <#channel>",
233         "Resets the modes in the channel to their default.",
234         "$uSee Also:$u open, set");
235 "MOVE" ("/msg $C MOVE <#channel> <destination>",
236         "Transfers a channel's registration to a different channel along with the settings and user/ban lists. All the restrictions that apply for the $bregister$b command apply to $bmove$b.",
237         "$uSee Also:$u register, merge, unregister");
238 "NETINFO" ("/msg $C NETINFO",
239         "Displays some assorted pieces of information about network-wide $b$C$b statistics.",
240         "$uSee Also:$u info, staff");
241 "NOREGISTER" ("/msg $C NOREGISTER <#channel|*Account> <reason>",
242         "With no arguments, lists the current do-not-register channels.",
243         "With arguments, adds a do-not-register channel (or account) with the specified reason.  In this case, the channel name may include * or ? wildcards.",
244         "$uSee Also:$u allowregister, register, unregister");
245 "NOTE" ("/msg $C NOTE <#channel> [<type> [new-note-text]]",
246         "With no arguments, lists all visible notes on the specified channel.",
247         "With one argument, lists the note type you name (if it is visible to you).",
248         "With two arguments, sets the note type (if you can set it).",
249         "$uSee Also:$u delnote, note types");
250 "NOTE TYPES" ("$bNOTE TYPES$b",
251         "${notes}",
252         "$uSee Also:$u note, delnote");
253 "OLIST" ("/msg $C OLIST <#channel> [mask]",
254         "This command lists all users of level $bOp$b on a channel's userlist.  If a mask is supplied, only ops matching the mask will be shown.",
255         "$uSee Also:$u addop, delop, mdelop, users");
256 "OP" ("/msg $C OP <#channel> <nick> [nick]...",
257         "This command makes $C op the specified user.",
258         "$uSee Also:$u addop, delop, deop");
259 "OPCHAN" ("/msg $C OPCHAN <#channel>",
260         "This command makes $C op itself in the specified channel.");
261 "OPEN" ("/msg $C OPEN <#channel>",
262         "This command will make $C remove all modes preventing a user from the specified channel, and remove all bans matching the users hostmask.",
263         "$uSee Also:$u unbanme");
264 "PEEK" ("/msg $C PEEK <#channel>",
265         "Displays the current topic, modes, and ops of the specified channel. Unlike $binfo$b, $bpeek$b displays channel information unrelated to $b$C$b.",
266         "$uSee Also:$u info");
267 "PLIST" ("/msg $C PLIST <#channel>",
268         "This command lists all users of level $bPeon$b on a channel's userlist. If a mask is supplied, only peons matching the mask will be shown.",
269         "$uSee Also:$u addpeon, delpeon, mdelpeon, users");
270 "REGISTER" ("/msg $C REGISTER <#channel> [user|*account] [force]",
271         "Registers a channel with $b$C$b, automatically granting owner access to the specified user. If no user is provided, $b$C$b gives owner access to the user executing the command.",
272         "If the registrar is on the network staff and provides the third argument, $bforce$b, it will allow a do-not-register channel to be registered anyway.",
273         "In addition, $bregister$b will only allow one user to own a certain number of channels without the $bforce$b argument.",
274         "$uSee Also:$u addowner, noregister, unregister");
275 "REMOVENOTE" ("/msg $S REMOVENOTE <typename> [FORCE]",
276         "Permanently deletes a note type.  Without the argument $bFORCE$b, it will only delete an unused note type.  With the argument $bFORCE$b, it will delete the note from all channels and then delete the note type.",
277         "$uSee Also:$u createnote");
278 "RESYNC" ("/msg $S RESYNC <#channel>",
279         "Synchronizes users in the channel with the userlist.  This means that if the user can normally get ops, $S makes sure the user has ops.  Otherwise, if the user normally gets voice, $S makes sure the user has voice but not ops.  Otherwise, $S makes sure the user has neither voice nor ops.");
280 "SAY" ("/msg $C SAY <#channel> <text>",
281         "Makes $b$C$b send a message to the specified channel.",
282         "$uSee Also:$u emote");
283 "SEARCH CRITERIA" ("$bSEARCH CRITERIA$b",
284         "The following criteria may be used:",
285         "  NAME        Channels whose names match the given mask",
286         "  REGISTRAR   Channels whose registrar's account matches the given mask",
287         "  UNVISITED   Channels that have not been visited in at least the given duration",
288         "  REGISTERED  Channels that have been registered for less than the given duration",
289         "  FLAGS       Matches channels with the specified flag set",
290         "  LIMIT       Limit the number of channels returned by the search",
291         "Flags that can be matched against are: nodelete and suspended.",
292         "$uSee Also:$u search, search actions");
293 "SEARCH ACTIONS" ("$bSEARCH ACTIONS$b",
294         "The following are valid $bsearch$b actions:",
295         "  PRINT       Prints matching channels",
296         "  COUNT       Prints the number of matching channels",
297         "$uSee Also:$u search, search criteria");
298 "SEARCH" ("/msg $C SEARCH <action> <criteria> <value> [<criteria> <value>]...",
299         "Searches for channels which match the specified criteria. For a list of search actions, see $bsearch actions$b. For a list of the criteria, see $bsearch criteria$b.",
300         "$uSee Also:$u search actions, search criteria");
301 "SEEN" ("/msg $C SEEN <#channel> <account>",
302         "This command will tell you if the selected user is in the channel, or when was the last time the user was seen in the channel.",
303         "$uSee Also:$u access, users");
304 "SET" ("/msg $C SET <#channel> [<parameter> [setting]]",
305         "This command will set various channel options.  With no arguments, it will show the current values of all channel options.",
306         "DEFAULTTOPIC: The channel's default topic.",
307         "TOPICMASK:    A pattern that topics must match.",
308         "GREETING:     A greeting message for visitors to the channel.",
309         "USERGREETING: A greeting message for users on the channel's userlist.",
310         "MODES:        The channel's default modes.",
311         "PUBCMD:       Restrictions to use commands in public.",
312         "STRICTOP:     Restrictions for opping users.",
313         "AUTOOP:       The users that $b$C$b will autoop.",
314         "ENFMODES:     Restrictions to change the default modes.",
315         "ENFTOPIC:     Restrictions on changing the topic.",
316         "PROTECT:      The protection level $b$C$b provides.",
317         "TOYS:         Toggles how $b$C$b will respond to toy commands (!8ball etc).",
318         "SETTERS:      Who may change channel settings (using $bSET$b).",
319         "TOPICREFRESH: Controls if (and how often) $C will reset the topic.",
320         "CTCPUSERS:    Who is allowed to send CTCPs to the channel.",
321         "CTCPREACTION: What happens when a disallowed CTCP is sent to the channel.",
322         "VOICE:        Toggles whether $b$C$b will autovoice people on join.",
323         "USERINFO:     Toggles whether or not infolines are displayed.",
324         "DYNLIMIT:     Adjusts user limit (+l channel mode) to prevent join floods.",
325         "TOPICSNARF:   Topics set manually (by /TOPIC #channel ...) change default $C topic",
326         "PEONINVITE:   Indicates whether peons may use the $bINVITEME$b command.",
327         "$bIRCOP ONLY$b:",
328         "NODELETE:  Prevents channel deletion.",
329         "If you wish to reset your channel to the default settings, you can use the $bSET DEFAULTS$b command.",
330         "$uSee Also:$u set pubcmd, set strictop, set autoop, set enfmodes, set enftopic, set protect, set toys, set setters, set topicrefresh, set ctcpusers, set ctcpreaction, set defaults");
331 "SET DEFAULTTOPIC" ("/msg $C SET <#channel> DEFAULTTOPIC <New default topic>",
332         "This changes the default topic for the channel.  $C will set the IRC topic to this value when the $btopic$b command is used with no arguments, when the topic refresh happens (if you have $bset topicrefresh$b), or when an unauthorized user changes the topic to something else.",
333         "$uSee Also:$u set, set topicrefresh, set enftopic, set topicmask");
334 "SET TOPICMASK" ("/msg $C SET <#channel> TOPICMASK <Topic mask with * and ?>",
335         "This sets a pattern that $C allows for the topic.  A $b*$b will match any number of characters (including 0); a $b?$b will match any single character -- the same as with IRC hostmasks.  A user may set a topic if either $btopicmask$b or $benftopic$b allow it.",
336         "For example, $b!set topicmask Hello *$b allows anyone to set the topic to be $bHello world$b, but they must be able to override the topic (according to the $bEnfTopic$b setting) to set the topic to $bGoodbye world$b.",
337         "You may \"escape\" those characters by putting a \\ before them in the topic mask; for example, $b!set topicmask Whassup\\?$b would only allow the topic to be $bWhassup?$b, while leaving out the \\ would allow the topic to be $bWhassup!$b (among other things).",
338         "For ease of use, if the TopicMask has only one * and no ?, then using $b!topic something$b will (if $bsomething$b does not match the TopicMask and you cannot override the topic lock) replace the * with the text $bsomething$b.",
339         "$uSee Also:$u set, set topic, set enftopic");
340 "SET TOYS" ("/msg $C SET <#channel> TOYS <value>",
341         "This setting changes how $C will respond to commands like !8ball, or whether it responds at all.  Valid settings are:",
342         "$b0$b  Toys are completely disabled.",
343         "$b1$b  Toys will only reply privately.",
344         "$b2$b  Toys will reply publicly.",
345         "$uSee Also:$u set");
346 "SET PUBCMD" ("/msg $C SET <#channel> PUBCMD <value>",
347         "This setting restricts the access necessary to use in-channel commands.  Valid settings are:",
348         "$b0$b  Anyone may use public commands",
349         "$b1$b  Peons and above may use public commands",
350         "$b2$b  Ops and above may use public commands",
351         "$b3$b  Masters and above may use public commands",
352         "$b4$b  Coowners and above may use public commands",
353         "$b5$b  Only owners may use public commands",
354         "$b6$b  No one may use public commands",
355         "$uSee Also:$u set");
356 "SET STRICTOP" ("/msg $C SET <#channel> STRICTOP <value>",
357         "This setting restricts who may op users who are not at least ops on the userlist.  If $C sees someone with access below the specified access op someone not on the userlist (or who is a peon), it will deop the second user.  Valid settings are:",
358         "$b0$b  Anyone may op unknown users",
359         "$b1$b  Ops and above may op unknown users",
360         "$b2$b  Masters and above may op unknown users",
361         "$b3$b  Coowners and above may op unknown users",
362         "$b4$b  Only owners may op unknown users",
363         "$b5$b  No one may op unknown users",
364         "$uSee Also:$u set");
365 "SET AUTOOP" ("/msg $C SET <#channel> AUTOOP <value>",
366         "This setting restricts the minimum access someone must be to be automatically op'ed by $C.  Valid settings are:",
367         "$b0$b  Everyone will be automatically op'ed",
368         "$b1$b  Ops and above will be automatically op'ed",
369         "$b2$b  Masters and above will be automatically op'ed",
370         "$b3$b  Coowners and above will be automatically op'ed",
371         "$b4$b  Only owners will be automatically op'ed",
372         "$b5$b  No one will be automatically op'ed",
373         "$uSee Also:$u set");
374 "SET ENFMODES" ("/msg $C SET <#channel> ENFMODES <value>",
375         "This setting restricts the minimum access someone must have to change the channel modes from what is specified in the channel settings.  Valid settings are:",
376         "$b0$b  Anyone may override the mode lock",
377         "$b1$b  Ops and above may override the mode lock",
378         "$b2$b  Masters and above may override the mode lock",
379         "$b3$b  Coowners and above may override the mode lock",
380         "$b4$b  Only owners may override the mode lock",
381         "$b5$b  No one may override the mode lock",
382         "$uSee Also:$u set");
383 "SET ENFTOPIC" ("/msg $C SET <#channel> ENFTOPIC <value>",
384         "This setting restricts the minimum access someone must have to change the channel topic.  Valid settings are:",
385         "$b0$b  Anyone may change the topic",
386         "$b1$b  Ops and above may change the topic",
387         "$b2$b  Masters and above may change the topic",
388         "$b3$b  Coowners and above may change the topic",
389         "$b4$b  Only owners may change the topic",
390         "$b5$b  No one may change the topic",
391         "If a topic mask is set, then a person may change the topic as long as it matches that mask $bor$b they have the above access.",
392         "If no topic mask is set, then a person must have the above access to change the topic from the default.",
393         "$uSee Also:$u set, set topic, set topicmask");
394 "SET PROTECT" ("/msg $C SET <#channel> PROTECT <value>",
395         "This setting restricts the protection that $C enforces.  Valid settings are:",
396         "$b0$b  Non-users and users will be protected from those of equal or lower access",
397         "$b1$b  Users will be protected from those of equal or lower access.",
398         "$b2$b  Users will be protected from those of lower access.",
399         "$b3$b  No users will be protected.",
400         "$uSee Also:$u set");
401 "SET SETTERS" ("/msg $C SET <#channel> SETTERS <value>",
402         "This setting restricts the protection that $C enforces.  Valid settings are:",
403         "$b0$b  Masters and above may change settings.",
404         "$b1$b  Co-owners and above may change settings.",
405         "$b2$b  Only owners may change settings.",
406         "$uSee Also:$u set");
407 "SET TOPICREFRESH" ("/msg $C SET <#channel> TOPICREFRESH <value>",
408         "This setting controls if (and how often) $C refreshes the topic to the default value.  Valid settings are:",
409         "$b0$b  Never refresh topic.",
410         "$b1$b  Refresh every 3 hours.",
411         "$b2$b  Refresh every 6 hours.",
412         "$b3$b  Refresh every 12 hours.",
413         "$b4$b  Refresh every 24 hours.",
414         "$uSee Also:$u set, set topic");
415 "SET CTCPUSERS" ("/msg $C SET <#channel> CTCPUSERS <value>",
416         "This setting controls who is allowed to send CTCPs to the channel.  CTCP ACTION, the way that /me is implemented, are always allowed:",
417         "$b0$b  Anyone may send CTCPs to the channel.",
418         "$b1$b  Peons and above may send CTCPs to the channel.",
419         "$b2$b  Ops and above may send CTCPs to the channel.",
420         "$b3$b  Masters and above may send CTCPs to the channel.",
421         "$b4$b  Coowners and above may send CTCPs to the channel.",
422         "$b5$b  Owners may send CTCPs to the channel.",
423         "$b6$b  No one may send CTCPs to the channel.",
424         "If a user below the specified level sends a CTCP (besides ACTION) to the channel, the enforcement is specified by the $bCTCPReaction$b setting.",
425         "$uSee Also:$u set, set ctcpreaction");
426 "SET CTCPREACTION" ("/msg $C SET <#channel> CTCPREACTION <value>",
427         "This setting controls what happens to those who send disallowed CTCPs to the channel:",
428         "$b0$b  Kick on disallowed CTCPs.",
429         "$b1$b  Kickban on disallowed CTCPs.",
430         "$b2$b  Short timed ban (defaults to 3 minutes) on disallowed CTCPs.",
431         "$b3$b  Long timed ban (defaults to 1 hour) on disallowed CTCPs.",
432         "$uSee Also:$u set, set ctcpusers");
433 "SET DEFAULTS" ("/msg $C SET <#channel> DEFAULTS [<confirmation>]",
434         "With the proper confirmation string, resets all the options for the channel to their default values.",
435         "With no confirmation string, displays the appropriate confirmation string.",
436         "$uSee Also:$u set");
437 "STAFF" ("/msg $C STAFF",
438         "Lists all the IRC operators and helpers currently online. Nicknames enclosed in parentheses are away, and likely unavailable.",
439         "$uSee Also:$u helpers, ircops, netinfo");
440 "SUSPEND" ("/msg $C SUSPEND <#channel> <nick|*account>",
441         "This disables the target's access to the channel.  That access can be restored using the unsuspend command.",
442         "$uSee Also:$u unsuspend, deluser");
443 "TOPIC" ("/msg $C TOPIC <#channel> [topic]",
444         "Sets the current topic for the specified channel.  If no topic is specified, then set the current topic to the default topic.");
445 "TRIM" ("/msg $C TRIM <#channel> <target> <duration>",
446         "The trim command removes target objects inactive for more than a certain duration from a channel. The target must be a channel access level, \"users\", or \"bans\". The duration argument specifies the amount of time the target has been inactive for to be removed.",
447         "$uSee Also:$u durations");
448 "UNBAN" ("/msg $C UNBAN <#channel> <mask|nick>",
449         "Unbans the specified nick or hostmask. If a nick is given, $b$C$b determines what hostmask(s) to unban.",
450         "$bSee Also:$b ban, kick, kickban");
451 "UNBANALL" ("/msg $C UNBANALL <#channel>",
452         "Clears the specified channel's banlist. If the channel is omitted, then $bunbanall$b will be done in the channel where the command was given.",
453         "$bSee Also:$b ban, unban, unbanme");
454 "UNBANME" ("/msg $C UNBANME <#channel>",
455         "Unbans your hostmask from the specified channel.",
456         "$bSee Also:$b ban, unban");
457 "UNREGISTER" ("/msg $C UNREGISTER <#channel>",
458         "Unregisters a channel that is registered with $b$C$b. $bIMPORTANT$b: Once the channel is unregistered, the userlist $bcannot$b be recovered.",
459         "If you are not network staff, you must add $bCONFIRM$b to the end of your line to confirm channel unregistration.",
460         "$bSee Also:$b register");
461 "UNSUSPEND" ("/msg $C UNSUSPEND <#channel> <nick|*account>",
462         "This restores the target's access to the channel (after it has been suspended).",
463         "$uSee Also:$u suspend, deluser");
464 "UNVISITED" ("/msg $C UNVISITED [duration] [limit]",
465         "Displays up to a certain limit, all channels registered with $b$C$b that have not been visited within a certain duration. If a duration is not provided, a default will be used.",
466         "$bSee Also:$b expire, search, durations");
467 "UP" ("/msg $C UP <#channel>",
468         "For a peon, this will cause $b$C$b to voice the user executing the command. For anyone of level op on higher on the userlist, this will cause $b$C$b to op the user executing the command.");
469 "UPALL" ("/msg $C UPALL",
470         "Executes the $bup$b command for each channel you have access in.",
471         "$uSee Also:$u up, down, downall");
472 "USET"  ("/msg $C USET <#channel> [<option> [<setting>]]",
473          "The $buset$b command allows you to toggle various channel user settings. With no arguments, it will print the current values of all channel user options.",
474          "$bOptions:$b",
475          "INFO:       Sets the infoline that $C sends when you join the channel.",
476          "NOAUTOOP:   Enable or disable $C automatically opping you upon joining or authenticating.",
477          "AUTOINVITE: $C will invite you to +i/+k channels which you have access to and are not in when you authenticate if this setting is on.",
478          "NOTE: The NoAutoOp setting is equivalent to the !togop command in previous versions of srvx.",
479          "$uSee Also:$u set");
480 "USET INFO" ("/msg $C USET <#channel> INFO <info>",
481         "This command will set a user defined information message to be displayed when you join the channel. By setting the message to '*', you will clear your message.",
482         "$uSee Also:$u access");
483 "USERS" ("/msg $C USERS <#channel> [mask]",
484         "Displays the userlist for the specified channel. If a mask is supplied, only users matching the mask will be shown.",
485         "$uSee Also:$u clist, mlist, olist, plist, wlist");
486 "VERSION" ("/msg $C VERSION",
487         "Sends you the srvx version and some additional version information that is specific to $b$C$b.");
488 "VOICE" ("/msg $C VOICE <#channel> <nick> [nick]...",
489         "Voices the specified nick in the specified channel. If the channel is omitted, then $bvoice$b will be done in the channel where the command was given.",
490         "$uSee Also:$u devoice");
491 "WIPEINFO" ("/msg $C WIPEINFO <#channel> <nick|*account>",
492         "Removes the named user's infoline in the channel.");
493 "WLIST" ("/msg $C WLIST <#channel> [mask]",
494         "This command lists all users of level $bOwner$b on a channel's userlist. If a mask is supplied, only owners matching the mask will be shown.",
495         "$uSee Also:$u addcoowner, delcoowner, mdelcoowner, users");
496
497 "I'VE FALLEN AND I CAN'T GET UP" ("$bHelp, I've fallen and I can't get up$b!",
498         "If you drank your milk, you might not feel so vulnerable right now.",
499         "So next time you're sitting in front of a tall frosty glass of milk, just think how much it will help build up your bone structure.");
500 "ME"    "Help you? You're beyond help.";
501 "Zoot"  "Crash it again, please?";
502 "Entrope" "C Code.  C Code Run.  Run, Code, Run!!    (please?)";
503 "emacs" ("A novice of the temple once approached the Chief Priest with a question.",
504         "The novice asked, \"Master, does Emacs have the Buddha nature?\"",
505         "The Chief Priest had been in the temple for many years and could be relied upon to know these things.  He thought for several minutes before replying.",
506         "\"I don't see why not.  It's got bloody well everything else.\"",
507         "With that, the Chief Priest went to lunch.  The novice suddenly achieved enlightenment, several years later.");
508 "thanks" ("The srvx developers would like to thank the following people for their help in making srvx as polished as it is today:",
509         "$bGamesNET IRC Network$b - All the users and staff there bear with our shortcomings and bugs and let us know what needs to be fixed.",
510         "$bIC5 Networks$b (and JohnM in particular) - Never afraid to critique things, even if GamesNET is the 800 pound gorilla.",
511         "$bMeeko, eraser, hock(ey), KilledInAction, MadEwokHerd, Milon and Shoat$b - Hardcore beta testing and bug finding on the testnet.",
512         "$bCrips$b - Reading through all the boring messages and finding ways to make them clearer.");