]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/conf/helpop.conf.example
Merge extras/m_privdeaf into m_deaf and update documentation.
[user/henk/code/inspircd.git] / docs / conf / helpop.conf.example
index fb3f7b29995a96321924bce085ab5dcdd029d4e3..4f3008c0746b5992783958b5f368e13b738dfcc8 100644 (file)
@@ -3,14 +3,18 @@
 # 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">.
+#   <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.
@@ -24,129 +28,885 @@ parameter for this command.
 /HELPOP SNOMASKS -      To see a list of oper snotice masks
 /HELPOP EXTBANS  -      To see a list of extended bans">
 
-<helpop key="nohelp" value="There is no help for the topic
-you searched for. Please try again.">
-
 <helpop key="cuser" value="User Commands
 -------------
 
-PRIVMSG   NOTICE   NICK      JOIN      PART
-CYCLE     KNOCK    MODE      DEVOICE   TOPIC
-KICK      FPART    REMOVE    TBAN      INVITE
-UNINVITE  AWAY     DCCALLOW  SILENCE   ACCEPT
-MKPASSWD  VHOST    TITLE     SETNAME
+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.">
 
-WHOIS     WHOWAS   ISON      USERHOST  WATCH
-LIST      NAMES    WHO       MOTD
-ADMIN     MAP      LINKS     LUSERS    TIME
-STATS     VERSION  INFO      MODULES   COMMANDS
-SSLINFO
+<helpop key="part" value="/PART <channel>[,<channel>]+ [:<reason>]
 
-USER      PASS     PING     PONG       QUIT
+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.">
 
-OPER">
 
 <helpop key="coper" value="Oper Commands
 -------------
 
-OPERMOTD  CHECK     CLONES      USERIP   TLINE
-ALLTIME   WALLOPS   GLOBOPS     MODENOTICE
-CLOAK
+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.">
 
-SETHOST   SETIDENT  CHGHOST     CHGIDENT CHGNAME
-SETIDLE   SWHOIS
+<helpop key="unlockserv" value="/UNLOCKSERV
 
-SANICK    NICKLOCK  NICKUNLOCK
+Opens the server up again for new connections.">
 
-SAJOIN    SAPART    SAMODE      SATOPIC  SAKICK
+<helpop key="filter" value="/FILTER <pattern> [<action> <flags> [<duration>] :<reason>]
 
-KILL      SAQUIT    GLINE       ZLINE    QLINE
-KLINE     RLINE     ELINE       CBAN     SHUN
-FILTER    CLEARCHAN
+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.
 
-CONNECT   SQUIT     RCONNECT    RSQUIT
+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.
 
-DIE            RESTART      REHASH
-CLEARCACHE     LOADMODULE   UNLOADMODULE
-RELOADMODULE   GLOADMODULE  GUNLOADMODULE
-GRELOADMODULE  CLOSE        JUMPSERVER
-LOCKSERV       UNLOCKSERV">
+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
+              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 deaf module).
- g            In combination with /ACCEPT, provides for server side
-              ignore (requires callerid module).
+              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 helpop module).
+              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 servprotect module).
+              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 services account module).
+              (requires the services account module).
  w            Receives wallops messages.
- x            Gives a cloaked hostname (requires cloaking module).
- B            Marks as a bot (requires botmode module).
+ 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 censor module).
- H            Hides an oper's oper status from WHOIS (requires
+              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 hidechans module).
- L            Stops redirections done by m_redirect (mode must be
-              enabled in the config).
+              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 services account module).
- S            Strips mIRC color/bold/underline codes out of private
-              messages to the user (requires stripcolor module).
+              (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 showwhois module).">
+              (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
+ 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 them from being kicked (+q only,
-                    requires customprefix module).
- q <nickname>       Gives owner status to <nickname>, preventing them
-                    from being kicked (Services or only, requires
+                    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
+ 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 inviteexception module).
+                    (requires the inviteexception module).
 
- c                  Blocks messages containing mIRC color codes
-                    (requires blockcolor 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 delaymsg module).
+                    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 messageflood module).
+                    (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
-                    joinflood module).
+                    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
@@ -156,73 +916,92 @@ LOCKSERV       UNLOCKSERV">
  p                  Make channel private, hiding it in users' whoises
                     and replacing it with * in /LIST.
  r                  Marks the channel as registered with Services
-                    (requires services account module).
+                    (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
+                    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 autoop module)
- z                  Blocks non-SSL clients from joining the channel.
+                    (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
-                    allowinvite module).
+                    the allowinvite module).
  B                  Blocks messages with too many capital letters,
                     as determined by the network configuration
-                    (requires blockcaps module).
- C                  Blocks any CTCPs to the channel (requires noctcp
-                    module).
- D                  Delays join messages from users until they
-                    message the channel (requires delayjoin module).
- E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages.
+                    (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 nickflood module).
+                    specified rate (requires the nickflood module).
  G                  Censors messages to the channel based on the
-                    network configuration (requires censor module).
+                    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 chanhistory
-                    module).
+                    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 kicknorejoin module).
- K                  Blocks /KNOCK on the channel.
+                    (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 redirect
-                    module).
+                    redirect users to <channel> (requires the
+                    redirect module).
  M                  Blocks unregistered users from speaking (requires
-                    services account module).
+                    the services account module).
  N                  Prevents users on the channel from changing nick
-                    (requires nonicks module).
+                    (requires the nonicks module).
  O                  Channel is IRCops only (can only be set by IRCops,
-                    requires operchans module).
+                    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
-                    permchannels module).
- Q                  Only ulined servers and their users can kick
-                    (requires nokicks module)
+                    the permchannels module).
+ Q                  Only U-lined servers and their users can kick
+                    (requires the nokicks module).
  R                  Blocks unregistered users from joining (requires
-                    services account module).
- S                  Strips mIRC color codes from messages to the
-                    channel (requires stripcolor module).
+                    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 nonotice module).
+                    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:
 
- g <mask>           Blocks messages matching the given glob mask
-                    (requires chanfilter module).
- X <mode>           Makes channel operators immune to the specified
-                    restrictive mode (requires exemptchanops module).
+ 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
@@ -230,38 +1009,74 @@ 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 general (and sometimes random) debug
-        messages.
- f      Allows receipt of flooding notices.
- g      Allows receipt of globops (requires globops module).
- j      Allows receipt of channel creation notices (requires
-        chancreate module).
- J      Allows receipt of remote channel creation notices (requires
-        chancreate module).
+ 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      See local nickname changes (requires seenicks module).
- N      See remote nickname changes (requires 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.
+ 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 override module).
- x      Allows receipt of local Xline notices (g/Z/q/k/e/R/shuns).
- X      Allows receipt of remote Xline notices (g/Z/q/k/e/R/shuns).">
+ 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
 ----------
@@ -279,45 +1094,48 @@ 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 channelban module).
+               wildcards (requires the channelban module).
  n:<class>     Matches users in a matching connect class (requires
-               classban module).
- r:<realname>  Matches users with a matching realname (requires gecosban
-               module).
- s:<server>    Matches users on a matching server (requires serverban
-               module).
+               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 sslmodes module).
+               fingerprint (requires the sslmodes module).
  O:<opertype>  Matches IRCops of a matching type, mostly useful as an
-               an invite exception (requires operchans module).
+               an invite exception (requires the operchans module).
  R:<account>   Matches users logged into a matching account (requires
-               services account module).
+               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 color codes from
-               matching users (requires blockcolor module).
- m:<banmask>   Blocks messages from matching users (requires muteban
+ 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
-               nopartmsg module).
+               the nopartmsg module).
  A:<banmask>   Blocks invites by matching users even when +A is set
-               (requires allowinvite module).
+               (requires the allowinvite module).
  B:<banmask>   Blocks all capital or nearly all capital messages from
-               matching users (requires blockcaps module).
- C:<banmask>   Blocks CTCPs from matching users (requires noctcp
+               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
-               nonicks module).
- Q:<banmask>   Blocks kicks by matching users (requires nokicks
-               module).
- S:<banmask>   Strips color/bold/underline from messages from matching
-               users (requires stripcolor module).
- T:<banmask>   Blocks notices from matching users (requires nonotice
+               the nonicks module).
+ Q:<banmask>   Blocks kicks by matching users (requires the nokicks
                module).
- U:<banmask>   Blocks unregistered users matching the given banmask.
-               (requires services account).
+ 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,
@@ -326,4 +1144,4 @@ 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 banredirect module).">
+               when they try to join (requires the banredirect module).">