# Sample configuration file for the helpop module.
# You can either copy this into your conf folder and set up the module to use it,
# or you can customize the responses for your network and/or add more.
#
# The way the new helpop system works is simple. You use one or more helpop tags.
#   <helpop key="moo" value="something here">
# key is what the user is looking for (i.e. /helpop moo), and value is what they get back
# (note that it can span multiple lines!).
#   -- w00t 16/dec/2006
#

<config format="xml">

<alias text="HELP" replace="HELPOP $2-">

<helpmsg nohelp="There is no help for the topic you searched for. Please try again.">

<helpop key="start" value="InspIRCd Help System

This system provides help for commands and modes.
Specify your question or a command name as the
parameter for this command.

/HELPOP CUSER    -      To see a list of user commands
/HELPOP COPER    -      To see a list of oper commands
/HELPOP UMODES   -      To see a list of user modes
/HELPOP CHMODES  -      To see a list of channel modes
/HELPOP SNOMASKS -      To see a list of oper snotice masks
/HELPOP EXTBANS  -      To see a list of extended bans">

<helpop key="cuser" value="User Commands
-------------

ACCEPT      ADMIN       AWAY        COMMANDS    CYCLE       DCCALLOW
FPART       INFO        INVITE      ISON        JOIN        KICK
KNOCK       LINKS       LIST        LUSERS      MAP         MKPASSWD
MODE        MODULES     MONITOR     MOTD        NAMES       NICK
NOTICE      OPER        PART        PASS        PING        PONG
PRIVMSG     QUIT        REMOVE      SETNAME     SILENCE     SQUERY
SSLINFO     STATS       TBAN        TIME        TITLE       TOPIC
UNINVITE    USER        USERHOST    VERSION     VHOST       WATCH
WHO         WHOIS       WHOWAS">

<helpop key="squery" value="/SQUERY <target> :<message>

Sends a message to the network service specified in <target>.">

<helpop key="sslinfo" value="/SSLINFO <nick>

Displays information on the SSL connection and certificate of the
target user.">

<helpop key="uninvite" value="/UNINVITE <nick> <channel>

Uninvite a user from a channel, same syntax as INVITE.">

<helpop key="tban" value="/TBAN <channel> <duration> <banmask>

Sets a timed ban. The duration of the ban can be specified in the
form of 1y2w3d4h5m6s - meaning one year, two weeks, three days,
four hours, five minutes and six seconds. All fields in this
format are optional. Alternatively, the ban may just be specified
as a number of seconds. All timed bans appear in the banlist as
normal bans and may be safely removed before their time is up.">

<helpop key="dccallow" value="/DCCALLOW [(+|-)<nick> [<time>]]|[LIST|HELP]

/DCCALLOW - List allowed nicks
/DCCALLOW LIST - This also lists allowed nicks
/DCCALLOW +<nick> [<duration>] - Add a nick
/DCCALLOW -<nick> - Remove a nick
/DCCALLOW HELP - Display help

Duration is optional, and may be specified in seconds or in the
form of 1y2w3d4h5m6s - meaning one year, two weeks, three days,
four hours, five minutes and six seconds. All fields in this
format are optional.">

<helpop key="accept" value="/ACCEPT *|(+|-)<nick>[,(+|-)<nick>]+

Manages your accept list. This list is used to determine who can
private message you when you have usermode +g set.

/ACCEPT * - List accepted nicks
/ACCEPT +<nick> - Add a nick
/ACCEPT -<nick> - Remove a nick

This command accepts multiple nicks like so:
/ACCEPT +<nick>,-<nick>,+<nick>">

<helpop key="cycle" value="/CYCLE <channel> [:<reason>]

Cycles a channel (leaving and rejoining), overrides restrictions that
would stop a new user joining, such as user limits and channel keys.">

<helpop key="title" value="/TITLE <username> <password>

Authenticate for a WHOIS title line and optionally a vhost using the
specified username and password.">

<helpop key="watch" value="/WATCH C|L|l|S|(+|-)<nick> [(+|-)<nick>]+

/WATCH         - List watched nicks that are online
/WATCH l       - List watched nicks that are online
/WATCH L       - List watched nicks, online and offline
/WATCH C       - Clear all watched nicks
/WATCH S       - Show statistics
/WATCH +<nick> - Add a nick
/WATCH -<nick> - Remove a nick

This command accepts multiple nicks like so:
/WATCH +<nick> -<nick> +<nick>">

<helpop key="monitor" value="/MONITOR C|L|S|(+|-) <nick>[,<nick>]+

/MONITOR L        - List all monitored nicks, not differentiating between
                    online and offline nicks
/MONITOR C        - Clear all monitored nicks
/MONITOR S        - List all monitored nicks, indicating which are online
                    and which are offline
/MONITOR + <nick> - Add a nick
/MONITOR - <nick> - Remove a nick

This command accepts multiple nicks like so:
/MONITOR + <nick>,<nick>,<nick>
/MONITOR - <nick>,<nick>,<nick>">

<helpop key="vhost" value="/VHOST <username> <password>

Authenticate for a vhost using the specified username and password.">

<helpop key="remove" value="/REMOVE <channel> <nick> [:<reason>]

Removes a user from a channel you specify. You must be at least a
channel halfoperator to remove a user. A removed user will part with
a message stating they were removed from the channel and by whom.">

<helpop key="rmode" value="/RMODE <channel> <mode> [<pattern>]

Removes listmodes from a channel, optionally matching a glob-based pattern.
E.g. '/RMODE #channel b m:*' will remove all mute extbans on the channel.">

<helpop key="fpart" value="/FPART <channel> <nick> [:<reason>]

This behaves identically to /REMOVE. /REMOVE is a built-in mIRC command
which caused trouble for some users.">

<helpop key="silence" value="/SILENCE [(+|-)<mask> [p|c|i|n|t|a|x]]

A server-side ignore of the given n!u@h mask. The flags at the end
are optional, and specify what is to be ignored from this mask.

/SILENCE - Shows a list of silenced masks
/SILENCE +<mask> [<flags>] - Add a mask
/SILENCE -<mask> - Remove a mask

Valid SILENCE Flags
-------------------

 p        Block private messages
 c        Block channel messages
 i        Block invites
 n        Block private notices
 t        Block channel notices
 a        Block all of the above
 x        Exception

Multiple flags may be specified. For an exception, you must pair x
with what you want excepted. For example, if you wanted to except
everything from people with a host matching *.foo.net, you would do
/SILENCE +*!*@*.foo.net xa

If no flags are specified, it will default to blocking private messages
and private notices (pn).

/SILENCE without a parameter will list the masks that you have silenced.">

<helpop key="knock" value="/KNOCK <channel> :<reason>

Sends a notice to a channel indicating you wish to join.">

<helpop key="user" value="/USER <username> <unused> <unused> :<realname>

This command is used by your client to register your
IRC session, providing your ident and real name to the
server.

You should not use it during an established connection.">

<helpop key="nick" value="/NICK <newnick>

Change your nickname to <newnick>.">

<helpop key="quit" value="/QUIT [:<message>]

Quit from IRC and end your current session.">

<helpop key="version" value="/VERSION [<servername>]

Returns the server's version information.">

<helpop key="ping" value="/PING <servername> [:<servername>]

Ping a server. The server will answer with a PONG.">

<helpop key="pong" value="/PONG <servername>

Your client should send this to answer server PINGs. You
should not issue this command manually.">

<helpop key="admin" value="/ADMIN [<servername>]

Shows the administrative information for the given server.">

<helpop key="privmsg" value="/PRIVMSG <target>[,<target>]+ :<message>

Sends a message to a user or channel specified in <target>.">

<helpop key="notice" value="/NOTICE <target>[,<target>]+ :<message>

Sends a notice to a user or channel specified in <target>.">

<helpop key="join" value="/JOIN <channel>[,<channel>]+ [<key>[,<key>]+]

Joins one or more channels you provide the names for.">

<helpop key="names" value="/NAMES <channel>[,<channel>]+

Return a list of users on the channel(s) you provide.">

<helpop key="part" value="/PART <channel>[,<channel>]+ [:<reason>]

Leaves one or more channels you specify.">

<helpop key="kick" value="/KICK <channel> <nick>[,<nick>]+ [:<reason>]

Kicks a user from a channel you specify. You must be
at least a channel halfoperator to kick a user.">

<helpop key="mode" value="/MODE <target> [[(+|-)]<modes> [<mode-parameters>]]

Change or view modes of <target>.

/MODE <target> - Show modes of <target>.

/MODE <channel> <list mode char> - List bans, exceptions, etc. set on <channel>.

Sets the mode for a channel or a nickname specified in <target>.
A user may only set modes upon themselves, and may not set the
+o usermode, and a user may only change channel modes of
channels where they are at least a halfoperator.

For a list of all user and channel modes, enter /HELPOP UMODES or
/HELPOP CHMODES.">

<helpop key="topic" value="/TOPIC <channel> [:<topic>]

Sets or retrieves the channel topic. If a channel topic is
given in the command and either the channel is not +t, or
you are at least a halfoperator, the channel topic will be
changed to the new one you provide.">

<helpop key="who" value="/WHO <pattern> [<flags>][%[<fields>[,<querytype>]]] <pattern>

Looks up information about users matching the provided pattern. You can specify
a flag specific pattern, a channel name, user hostname, a user server name, a
user real name, or a user nickname. Matching users will only be included in the
WHO response if:

 1) The specified pattern is an exact channel name that does not have the
    private or secret channel modes set and the user does not have the invisible
    user mode set.
 2) The specified pattern is an exact nickname.
 3) You share one or more common channels with the user.
 4) The user does not have the invisible user mode set.
 5) You are a server operator with the users/auspex privilege.

If you specify any fields the response returned will be a WHOX response rather
than a RFC 1459 WHO response.

Valid WHO Flags
---------------

The following flags use <pattern> to match against the specified user data:

 A     Show users who have an away message matching <pattern>.
 a     Show users who have an account name matching <pattern>.
 h     Show users who have a hostname matching <pattern>. If the 'x' modifier
       is specified then this will match against the real hostname instead of
       the display hostname.
 i     Show users who have an IP address matching <pattern>.
 m     Show users who have the modes listed in <pattern>. The pattern
       should be in the same format as a mode change e.g. +ow-i (server
       operators only).
 n     Show users who have a nickname matching <pattern>.
 p     Show users who are connected to a port in the <pattern> range (server
       operators only).
 r     Show users who have a real name matching <pattern>.
 s     Show users who are on a server with a name matching <pattern>. If the 'x'
       modifier is specified then this will match against the real server name
       instead of the masked server name.
 t     Show users who have connected in the last <pattern> seconds.
 u     Show users who have an ident (username) matching <pattern>.

The following flags filter users by their status:

 f     Only show users on remote (far) servers.
 l     Only show users on the local server.
 o     Only show server operators.

The following flags modify the command output:

 x     Show sensitive data like real user hostnames and, when hideserver is
       enabled, real server hostnames.

You may combine one flag from the first group and multiple from the others in
one WHO command.

Valid WHO Fields
----------------

 a     Include the user's account name in the response.
 c     Include the first common channel name in the response.
 d     Include the user's server distance from you in the response.
 f     Include the user's away status, oper status, and highest channel prefix
       in the response.
 h     Include the user's hostname in the response. If the 'x' flag was
       specified then this is the real host rather than the display host.
 i     Include the user's IP address in the response.
 l     Include the user's idle time in the response.
 n     Include the user's nickname in the response.
 o     Include the user's channel operator rank level in the response.
 r     Include the user's real name in the response.
 s     Include the user's server name in the response. If the 'x' flag was
       specified then this is the real server name rather than the masked server
       name.
 t     Include the query type in the response.
 u     Include the user's ident in the response.

">

<helpop key="motd" value="/MOTD [<servername>]

Show the message of the day for <server>. Messages of the day often
contain important server rules and notices and should be read prior
to using a server.">

<helpop key="oper" value="/OPER <username> <password>

Attempts to authenticate a user as an IRC operator.

Both successful and unsuccessful oper attempts are
logged, and sent to online IRC operators.">

<helpop key="list" value="/LIST [<pattern>]

Creates a list of all existing channels matching the glob pattern
<pattern>, e.g. *chat* or bot*.">

<helpop key="lusers" value="/LUSERS

Shows a count of local and remote users, servers and channels.">

<helpop key="userhost" value="/USERHOST <nick> [<nick>]+

Returns the hostname and nickname of a user, and some other
miscellaneous information.">

<helpop key="away" value="/AWAY [:<message>]

If a message is given, marks you as being away, otherwise
removes your away status and previous message.">

<helpop key="ison" value="/ISON <nick> [<nick>]+

Returns a subset of the nicks you give, showing only those
that are currently online.">

<helpop key="invite" value="/INVITE [<nick> <channel> [<time>]]

Invites a user to a channel. If the channel is NOT +A, only
channel halfoperators or above can invite people. If +A is set,
anyone can invite people to the channel, as long as the person
doing the invite is a member of the channel they wish to invite
the user to.

Invited users may override bans, +k, and similar in addition to
+i, depending on configuration.

If a time is provided, the invite expires after that time and the user
can no longer use it to enter the channel. The time can be specified
in the form of 1y2w3d4h5m6s - meaning one year, two weeks, three days,
four hours, five minutes and six seconds. All fields in this format
are optional. Alternatively, the time may just be specified as a number
of seconds.

/INVITE without a parameter will list pending invitations for channels
you have been invited to.">

<helpop key="pass" value="/PASS <password>

This command is used by your client when setting up
your IRC session to submit a server password to the
server.

You should not use it during an established connection.">

<helpop key="whowas" value="/WHOWAS <nick>

Returns a list of times the user was seen recently on IRC along with
the time they were last seen and their server.">

<helpop key="links" value="/LINKS

Shows all linked servers.">

<helpop key="map" value="/MAP

Shows a graphical representation of all users and servers on the
network, and the links between them, as a tree from the perspective
of your server.">

<helpop key="whois" value="/WHOIS [<servername>] <nick>[,<nick>]+

Returns the WHOIS information of a user, their channels, hostname,
etc. If a servername is provided, then a whois is performed from
the server where the user is actually located rather than locally,
showing idle and signon times.">

<helpop key="time" value="/TIME [<servername>]

Returns the local time of the server, or remote time of another
server.">

<helpop key="info" value="/INFO [<servername>]

Returns information on the developers and supporters who made this
IRC server possible.">

<helpop key="setname" value="/SETNAME :<realname>

Sets your real name to the specified real name.">


<helpop key="coper" value="Oper Commands
-------------

ALLTIME        CBAN           CHECK          CHGHOST        CHGIDENT
CHGNAME        CLEARCHAN      CLOAK          CLONES         CONNECT
DIE            ELINE          FILTER         GLINE          GLOADMODULE
GLOBOPS        GRELOADMODULE  GUNLOADMODULE  KILL           KLINE
LOADMODULE     LOCKSERV       MODENOTICE     NICKLOCK       NICKUNLOCK
OJOIN          OPERMOTD       QLINE          RCONNECT       REHASH
RELOADMODULE   RESTART        RLINE          RSQUIT         SAJOIN
SAKICK         SAMODE         SANICK         SAPART         SAQUIT
SATOPIC        SETHOST        SETIDENT       SETIDLE        SHUN
SQUIT          SWHOIS         TLINE          UNLOADMODULE   UNLOCKSERV
USERIP         WALLOPS        ZLINE">

<helpop key="userip" value="/USERIP <nick> [<nick>]+

Returns the IP address and nickname of the given user(s).">

<helpop key="tline" value="/TLINE <mask>

This command returns the number of local and global clients matched,
and the percentage of clients matched, plus how they were matched
(by IP address or by hostname). Mask should be given as either a
nick!user@host or user@IP (wildcards accepted).">

<helpop key="lockserv" value="/LOCKSERV [:<message>]

Locks out all new connections notifying connecting users that the
service is temporarily closed and to try again later.">

<helpop key="unlockserv" value="/UNLOCKSERV

Opens the server up again for new connections.">

<helpop key="filter" value="/FILTER <pattern> [<action> <flags> [<duration>] :<reason>]

This command will add a global filter when more than one parameter is
given, for messages of the types specified by the flags, with the given
filter pattern, action, duration (when the action is 'gline', 'zline'
or 'shun'), and reason.

The filter will take effect when a message of any type specified by
the flags and matching the pattern is sent to the server, and
perform the specified action.

Valid FILTER Actions
--------------------

None    Does nothing
Warn    Lets the message through and informs +s IRCops of the message
        and all relevant info
Block   Blocks message and informs +s IRCops of the blocked message
        and all relevant info
Silent  Blocks message, but does not notify IRCops
Kill    Kills the user
Gline   G-lines the user for the specified duration
Zline   Z-lines the user for the specified duration
Shun    Shuns the user for the specified duration (requires the shun module)

Valid FILTER Flags
------------------

p    Block private and channel messages
n    Block private and channel notices
P    Block part messages
q    Block quit messages
o    Don't match against opers
c    Strip all formatting codes from the message before matching
*    Represents all of the above flags
-    Does nothing, a non-op for when you do not want to specify any
     flags

The reason for the filter will be used as the reason for the action,
unless the action is 'none', and is sent to the user when their text is
blocked by 'block' and 'silent' actions.

A G-line, Z-line or shun duration may be specified in seconds, or in the
format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5
minutes and 6 seconds. All fields in this format are optional.

When only one parameter is provided (the filter pattern) the provided
filter will be removed. Note that if you remove a
configuration-defined filter, it will reappear at next rehash unless
it is also removed from the config file.">

<helpop key="ojoin" value="/OJOIN <channel>

Force joins you to the specified channel, and gives you +Y and any other
configuration-defined modes on it, preventing you from being kicked.
Depending on configuration, may announce that you have joined the
channel on official network business.">

<helpop key="clones" value="/CLONES <limit>

Retrieves a list of users with more clones than the specified
limit.">

<helpop key="check" value="/CHECK <nick>|<ipmask>|<hostmask>|<channel> [<servername>]

Allows opers to look up advanced information on nicknames, IP addresses,
hostmasks or channels, in a similar way to WHO but in more detail,
displaying most information the server has stored on the target,
including all metadata.

With the second parameter given, runs the command remotely on the
specified server, useful especially if used on a nickname that is
online on a remote server.">

<helpop key="alltime" value="/ALLTIME

Shows the date and time of all servers on the network.">

<helpop key="rconnect" value="/RCONNECT <remote-server-mask> <target-server-mask>

The server matching <remote-server-mask> will try to connect to the first
server in the config file matching <target-server-mask>.">

<helpop key="rsquit" value="/RSQUIT <target-server-mask> [:<reason>]

Causes a remote server matching <target-server-mask> to be disconnected from
the network.">

<helpop key="globops" value="/GLOBOPS :<message>

Sends a message to all users with the +g snomask.">

<helpop key="cban" value="/CBAN <channel> [<duration> [:<reason>]]

Sets or removes a global channel ban. You must specify all three parameters
to add a ban, and one parameter to remove a ban (just the channel).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.">

<helpop key="sajoin" value="/SAJOIN [<nick>] <channel>[,<channel>]+

Forces the user to join the channel(s).
If no nick is given, it joins the oper doing the /SAJOIN.">

<helpop key="sapart" value="/SAPART <nick> <channel>[,<channel>]+ [:<reason>]

Forces the user to part the channel(s), with an optional reason.">

<helpop key="samode" value="/SAMODE <target> (+|-)<modes> [<mode-parameters>]

Applies the given mode change to the channel or nick specified.">

<helpop key="sanick" value="/SANICK <nick> <newnick>

Changes the user's nick to the new nick.">

<helpop key="sakick" value="/SAKICK <channel> <nick> [:<reason>]

Kicks the given user from the specified channel, with an optional reason.">

<helpop key="satopic" value="/SATOPIC <channel> :<topic>

Applies the given topic to the specified channel.">

<helpop key="saquit" value="/SAQUIT <nick> :<reason>

Forces user to quit with the specified reason.">

<helpop key="setidle" value="/SETIDLE <duration>

Sets your idle time to the specified value.

The time can be specified in the form of 1y2w3d4h5m6s - meaning one year,
two weeks, three days, four hours, five minutes and six seconds.
All fields in this format are optional. Alternatively, the time may
just be specified as a number of seconds.">

<helpop key="sethost" value="/SETHOST <host>

Sets your host to the specified host.">

<helpop key="setident" value="/SETIDENT <ident>

Sets your ident to the specified ident.">

<helpop key="swhois" line="/SWHOIS <nick> :<swhois>

Sets the user's swhois field to the given swhois message.
This will be visible in their /WHOIS.

To remove this message again, use:
/SWHOIS <nick> :">

<helpop key="mkpasswd" value="/MKPASSWD <hashtype> <plaintext>

Encodes the plaintext to a hash of the given type and displays
the result.">

<helpop key="opermotd" value="/OPERMOTD [<servername>]

Displays the Oper MOTD.">

<helpop key="nicklock" value="/NICKLOCK <nick> <newnick>

Changes the user's nick to the new nick, and forces
it to remain as such for the remainder of the session.">

<helpop key="nickunlock" value="/NICKUNLOCK <nick>

Allows a previously locked user to change nicks again.">

<helpop key="chghost" value="/CHGHOST <nick> <host>

Changes the host of the user to the specified host.">

<helpop key="chgname" value="/CHGNAME <nick> :<realname>

Changes the real name of the user to the specified real name.">

<helpop key="chgident" value="/CHGIDENT <nick> <ident>

Changes the ident of the user to the specified ident.">

<helpop key="shun" value="/SHUN <nick!user@host> [<duration> :<reason>]

Sets or removes a shun (global server-side ignore) on a nick!user@host mask.
You must specify all three parameters to add a shun, and one parameter
to remove a shun (just the nick!user@host).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.">

<helpop key="die" value="/DIE <servername>

This command shuts down the local server. A single parameter is
required, which must match the name of the local server.">

<helpop key="restart" value="/RESTART <servername>

This command restarts the local server. A single parameter is
required, which must match the name of the local server.">

<helpop key="commands" value="/COMMANDS

Shows all currently available commands.">

<helpop key="kill" value="/KILL <nick>[,<nick>]+ :<reason>

This command will disconnect a user from IRC with the given reason.">

<helpop key="rehash" value="/REHASH [<servermask>]

This command will cause the server configuration file to be reread and
values reinitialized for all servers matching the server mask, or the
local server if one is not specified.">

<helpop key="connect" value="/CONNECT <servermask>

Add a connection to the server matching the given server mask. You must
have configured the server for linking in your configuration file
before trying to link them.">

<helpop key="squit" value="/SQUIT <servermask>

Disconnects the server matching the given server mask from this server.">

<helpop key="modules" value="/MODULES [<servername>]

Lists currently loaded modules, their memory offsets, version numbers,
and flags. If you are not an operator, you will see reduced detail.">

<helpop key="loadmodule" value="/LOADMODULE <modulename>

Loads the specified module into the local server.">

<helpop key="unloadmodule" value="/UNLOADMODULE <modulename>

Unloads a module from the local server.">

<helpop key="reloadmodule" value="/RELOADMODULE <modulename>

Unloads and reloads a module on the local server.">

<helpop key="gloadmodule" value="/GLOADMODULE <modulename> [<servermask>]

Loads the specified module on all linked servers.">

<helpop key="gunloadmodule" value="/GUNLOADMODULE <modulename> [<servermask>]

Unloads a module from all linked servers.">

<helpop key="greloadmodule" value="/GRELOADMODULE <modulename> [<servermask>]

Unloads and reloads a module on all linked servers.">

<helpop key="kline" value="/KLINE <user@host> [<duration> :<reason>]

Sets or removes a K-line (local user@host based ban) on a user@host mask.
You must specify all three parameters to add a ban, and one parameter
to remove a ban (just the user@host).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.">

<helpop key="zline" value="/ZLINE <ipmask> [<duration> :<reason>]

Sets or removes a Z-line (global IP based ban) on an IP mask.
You must specify all three parameters to add a ban, and one parameter
to remove a ban (just the ipmask).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.">

<helpop key="qline" value="/QLINE <nickmask> [<duration> :<reason>]

Sets or removes a Q-line (global nick based ban) on a nick mask.
You must specify all three parameters to add a ban, and one parameter
to remove a ban (just the nickmask).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.">

<helpop key="gline" value="/GLINE <user@host> [<duration> :<reason>]

Sets or removes a G-line (global user@host based ban) on a user@host mask.
You must specify all three parameters to add a ban, and one
parameter to remove a ban (just the user@host).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.">

<helpop key="eline" value="/ELINE <user@host> [<duration> :<reason>]

Sets or removes a E-line (global user@host ban exception) on a user@host mask.
You must specify at least 3 parameters to add an exception, and one
parameter to remove an exception (just the user@host).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.

This command has a few important limitations. Bans on *@<ip> can only
be negated by an E-line on *@<ip>, bans on *@<host> can be negated by
E-lines on *@<ip>, or *@<host>, and bans on <ident>@* or <ident>@<host>
can be negated by any E-line that matches.">

<helpop key="wallops" value="/WALLOPS :<message>

Sends a message to all +w users.">

<helpop key="rline" value="/RLINE <regex> [<duration> :<reason>]

Sets or removes an R-line (global regex ban) on a n!u@h\srealname mask. You
must specify all three parameters to add an R-line, and one parameter
to remove an R-line (just the regex).

The duration may be specified in seconds, or in the format
1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
five minutes and six seconds. All fields in this format are optional.">

<helpop key="clearchan" value="/CLEARCHAN <channel> [KILL|KICK|G|Z] [:<reason>]

Quits or kicks all non-opers from a channel, optionally G/Z-lines them.
Useful for quickly nuking bot channels.

The default method, KILL, simply disconnects the victims from the server,
while methods G and Z also add G/Z-lines for all the targets.

When used, the victims won't see each other getting kicked or quitting.">

<helpop key="modenotice" value="/MODENOTICE <modeletters> :<message>

Sends a notice to all users who have the given mode(s) set.
If multiple mode letters are given, the notice is only sent to users
who have all of them set.">

<helpop key="cloak" value="/CLOAK <host>

Generate the cloak of a host or IP. This is useful for example when
trying to get the cloak of a user from /WHOWAS and they were not
using their cloak when they quit.">

<helpop key="umodes" value="User Modes
----------

 c            Blocks private messages and notices from users who do
              not share a common channel with you (requires the
              commonchans module).
 d            Deaf mode. User will not receive any messages or notices
              from channels they are in (requires the deaf module).
 g            In combination with /ACCEPT, provides for server-side
              ignore (requires the callerid module).
 h            Marks as 'available for help' in WHOIS (IRCop only,
              requires the helpop module).
 i            Makes invisible to /WHO if the user using /WHO is not in
              a common channel.
 k            Prevents the user from being kicked from channels, or
              having op modes removed from them (services only,
              requires the servprotect module).
 o            Marks as a IRC operator.
 s <mask>     Receives server notices specified by <mask>
              (IRCop only).
 r            Marks as a having a registered nickname
              (requires the services account module).
 w            Receives wallops messages.
 x            Gives a cloaked hostname (requires the cloaking module).
 z            Only allow private messages from SSL users (requires the
              sslmode module).
 B            Marks as a bot (requires the botmode module).
 D            Privdeaf mode. User will not receive any private messages
              or notices from users (requires the deaf module).
 G            Censors messages sent to the user based on filters
              configured for the network (requires the censor module).
 H            Hides an oper's oper status from WHOIS (requires the
              hideoper module).
 I            Hides a user's entire channel list in WHOIS from
              non-IRCops (requires the hidechans module).
 L            Stops redirections done by the redirect module (requires
              the redirect module).
 R            Blocks private messages from unregistered users
              (requires the services account module).
 S            Strips formatting codes out of private messages
              to the user (requires the stripcolor module).
 W            Receives notification when a user uses WHOIS on them
              (IRCop only, requires the showwhois module).">

<helpop key="chmodes" value="Channel Modes
-------------

 v <nickname>       Gives voice to <nickname>, allowing them to speak
                    while the channel is +m.
 h <nickname>       Gives halfop status to <nickname> (requires the
                    customprefix module).
 o <nickname>       Gives op status to <nickname>.
 a <nickname>       Gives protected status to <nickname>, preventing
                    them from being kicked (+q only, requires the
                    customprefix module).
 q <nickname>       Gives owner status to <nickname>, preventing them
                    from being kicked (Services or +q only, requires
                    the customprefix module).

 b <hostmask>       Bans <hostmask> from the channel.
 e <hostmask>       Excepts <hostmask> from bans (requires the
                    banexception module).
 I <hostmask>       Excepts <hostmask> from +i, allowing matching
                    users to join while the channel is invite-only
                    (requires the inviteexception module).

 c                  Blocks messages that contain formatting codes
                    (requires the blockcolor module).
 d <time>           Blocks messages to a channel from new users
                    until they have been in the channel for <time>
                    seconds (requires the delaymsg module).
 f [*]<lines>:<sec> Kicks on text flood equal to or above the
                    specified rate. With *, the user is banned
                    (requires the messageflood module).
 g <mask>           Blocks messages matching the given glob mask
                    (requires the chanfilter module).
 i                  Makes the channel invite-only.
                    Users can only join if an operator
                    uses /INVITE to invite them.
 j <joins>:<sec>    Limits joins to the specified rate (requires
                    the joinflood module).
 k <key>            Set the channel key (password) to <key>.
 l <limit>          Set the maximum allowed users to <limit>.
 m                  Enable moderation. Only users with +v, +h, or +o
                    can speak.
 n                  Blocks users who are not members of the channel
                    from messaging it.
 p                  Make channel private, hiding it in users' whoises
                    and replacing it with * in /LIST.
 r                  Marks the channel as registered with Services
                    (requires the services account module).
 s                  Make channel secret, hiding it in users' whoises
                    and /LIST.
 t                  Prevents users without +h or +o from changing the
                    topic.
 u                  Makes the channel an auditorium; normal users only
                    see themselves or themselves and the operators,
                    while operators see all the users (requires the
                    auditorium module).
 w <flag>:<banmask> Adds basic channel access controls of <flag> to
                    <banmask>, via the +w listmode.
                    For example, +w o:R:Brain will op anyone identified
                    to the account 'Brain' on join.
                    (requires the autoop module)
 z                  Blocks non-SSL clients from joining the channel
                    (requires the sslmodes module).

 A                  Allows anyone to invite users to the channel
                    (normally only chanops can invite, requires
                    the allowinvite module).
 B                  Blocks messages with too many capital letters,
                    as determined by the network configuration
                    (requires the blockcaps module).
 C                  Blocks any CTCPs to the channel (requires the
                    noctcp module).
 D                  Delays join messages from users until they message
                    the channel (requires the delayjoin module).
 E [~|*]<lines>:<sec>[:<difference>][:<backlog>]    Allows blocking of
                    similar messages (requires the repeat module).
                    Kicks as default, blocks with ~ and bans with *
                    The last two parameters are optional.
 F <changes>:<sec>  Blocks nick changes when they equal or exceed the
                    specified rate (requires the nickflood module).
 G                  Censors messages to the channel based on the
                    network configuration (requires the censor module).
 H <num>:<duration> Displays the last <num> lines of chat to joining
                    users. <duration> is the maximum time to keep
                    lines in the history buffer (requires the
                    chanhistory module).
 J <seconds>        Prevents rejoin after kick for the specified
                    number of seconds. This prevents auto-rejoin
                    (requires the kicknorejoin module).
 K                  Blocks /KNOCK on the channel (requires the
                    knock module).
 L <channel>        If the channel reaches its limit set by +l,
                    redirect users to <channel> (requires the
                    redirect module).
 M                  Blocks unregistered users from speaking (requires
                    the services account module).
 N                  Prevents users on the channel from changing nick
                    (requires the nonicks module).
 O                  Channel is IRCops only (can only be set by IRCops,
                    requires the operchans module).
 P                  Makes the channel permanent; Bans, invites, the
                    topic, modes, and such will not be lost when it
                    empties (can only be set by IRCops, requires
                    the permchannels module).
 Q                  Only U-lined servers and their users can kick
                    (requires the nokicks module).
 R                  Blocks unregistered users from joining (requires
                    the services account module).
 S                  Strips formatting codes from messages to the
                    channel (requires the stripcolor module).
 T                  Blocks /NOTICEs to the channel from users who are
                    not at least halfop (requires the nonotice module).
 X <type>:<status>  Makes users of <status> or higher exempt to the
                    specified restriction <type>. For example: flood:h
                    (requires the exemptchanops module).
 Possible restriction types to exempt with +X are:

 auditorium-see      Permission required to see the full user list of
                     a +u channel (requires the auditorium module).
 auditorium-vis      Permission required to be visible in a +u channel
                     (requires the auditorium module).
 blockcaps           Channel mode +B
 blockcolor          Channel mode +c
 censor              Channel mode +G
 filter              Channel mode +g
 flood               Channel mode +f
 nickflood           Channel mode +F
 noctcp              Channel mode +C
 nonick              Channel mode +N
 nonotice            Channel mode +T
 regmoderated        Channel mode +M
 stripcolor          Channel mode +S
 topiclock           Channel mode +t

-------------
NOTE: A large number of these modes are dependent upon server-side modules
being loaded by a server/network administrator. The actual modes available
on your network may be very different to this list. Please consult your
help channel if you have any questions.">

<helpop key="stats" value="/STATS <symbol> [<servername>]

Shows various server statistics. Depending on configuration, some
symbols may be only available to opers.

Valid symbols are:

e  Show E-lines (global user@host ban exceptions)
g  Show G-lines (global user@host bans)
k  Show K-lines (local user@host bans)
q  Show Q-lines (global nick bans)
R  Show R-lines (global regular expression bans)
Z  Show Z-lines (global IP mask bans)

s  Show filters (global)
C  Show channel bans (global)
H  Show shuns (global)

c  Show link blocks
d  Show configured DNSBLs and related statistics
m  Show command statistics, number of times commands have been used
o  Show a list of all valid oper usernames and hostmasks
p  Show open client ports, and the port type (ssl, plaintext, etc)
u  Show server uptime
z  Show memory usage statistics
i  Show connect class permissions
l  Show all client connections with information (sendq, commands, bytes, time connected)
L  Show all client connections with information and IP address
P  Show online opers and their idle times
T  Show bandwidth/socket statistics
U  Show U-lined servers
Y  Show connection classes
O  Show opertypes and the allowed user and channel modes it can set
E  Show socket engine events
S  Show currently held registered nicknames
G  Show how many local users are connected from each country according to GeoIP

Note that all /STATS use is broadcast to online IRC operators.">

<helpop key="snomasks" value="Server Notice Masks

 a      Allows receipt of local announcement messages.
 A      Allows receipt of remote announcement messages.
 c      Allows receipt of local connect messages.
 C      Allows receipt of remote connect messages.
 d      Allows receipt of local DNSBL messages (requires the dnsbl module).
 D      Allows receipt of remote DNSBL messages (requires the dnsbl module).
 f      Allows receipt of local filter messages (requires the filter module).
 F      Allows receipt of remote filter messages (requires the filter module).
 g      Allows receipt of globops (requires the globops module).
 j      Allows receipt of channel creation notices (requires the chancreate module).
 J      Allows receipt of remote channel creation notices (requires the chancreate module).
 k      Allows receipt of local kill messages.
 K      Allows receipt of remote kill messages.
 l      Allows receipt of local linking related messages.
 L      Allows receipt of remote linking related messages.
 n      Allows receipt of local nickname changes (requires the seenicks module).
 N      Allows receipt of remote nickname changes (requires the seenicks modules).
 o      Allows receipt of oper-up, oper-down, and oper-failure messages.
 O      Allows receipt of remote oper-up, oper-down, and oper-failure messages.
 q      Allows receipt of local quit messages.
 Q      Allows receipt of remote quit messages.
 r      Allows receipt of local oper commands (requires the operlog module).
 R      Allows receipt of remote oper commands (requires the operlog module).
 t      Allows receipt of attempts to use /STATS (local and remote).
 v      Allows receipt of oper-override notices (requires the override module).
 x      Allows receipt of local X-line notices (G/Z/Q/K/E/R/SHUN/CBan).
 X      Allows receipt of remote X-line notices (G/Z/Q/K/E/R/SHUN/CBan).">

<helpop key="extbans" value="Extended Bans
----------

Extbans are split into two types; matching extbans, which match on
users in additional ways, and acting extbans, which restrict users
in different ways to a standard ban.

To use an extban, simply set +b <ban> or +e <ban> with it as the ban,
instead of a normal nick!user@host mask, to ban or exempt matching
users. Ban exceptions on acting extbans exempt that user from matching
an extban of that type, and from any channel mode corresponding to the
restriction. Matching extbans may also be used for invite exceptions by
setting +I <extban>.

Matching extbans:

 a:<mask>      Matches user with both a matching banmask and realname,
               where <mask> is in the format nick!user@host+realname
               (requires gecosban module).
 j:<channel>   Matches anyone in the given channel. Does not support
               wildcards (requires the channelban module).
 n:<class>     Matches users in a matching connect class (requires
               the classban module).
 r:<realname>  Matches users with a matching real name (requires the
               gecosban module).
 s:<server>    Matches users on a matching server (requires the
               serverban module).
 z:<certfp>    Matches users having the given SSL certificate
               fingerprint (requires the sslmodes module).
 O:<opertype>  Matches IRCops of a matching type, mostly useful as an
               an invite exception (requires the operchans module).
 R:<account>   Matches users logged into a matching account (requires
               the services account module).
 U:<banmask>   Matches unregistered users matching the given banmask.
               (requires the services account module).

Acting extbans:

 c:<banmask>   Blocks any messages that contain formatting codes from
               matching users (requires the blockcolor module).
 m:<banmask>   Blocks messages from matching users (requires the muteban
               module). Users with +v or above are not affected.
 p:<banmask>   Blocks part messages from matching users (requires
               the nopartmsg module).
 A:<banmask>   Blocks invites by matching users even when +A is set
               (requires the allowinvite module).
 B:<banmask>   Blocks all capital or nearly all capital messages from
               matching users (requires the blockcaps module).
 C:<banmask>   Blocks CTCPs from matching users (requires the noctcp
               module).
 N:<banmask>   Blocks nick changes from matching users (requires
               the nonicks module).
 Q:<banmask>   Blocks kicks by matching users (requires the nokicks
               module).
 S:<banmask>   Strips formatting codes from messages from matching
               users (requires the stripcolor module).
 T:<banmask>   Blocks notices from matching users (requires the
               nonotice module).

A ban given to an Acting extban may either be a nick!user@host mask
(unless stated otherwise), matched against users as for a normal ban,
or a Matching extban.

There is an additional special type of extended ban, a redirect ban:

 Redirect      n!u@h#channel will redirect the banned user to #channel
               when they try to join (requires the banredirect module).">
