]> 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 ada39c61de2eaa892929f425bc7ff960759ff48e..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.
 # 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
 #
 
 # 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-">
 
 <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.
 <helpop key="start" value="InspIRCd Help System
 
 This system provides help for commands and modes.
@@ -24,51 +28,803 @@ parameter for this command.
 /HELPOP SNOMASKS -      To see a list of oper snotice masks
 /HELPOP EXTBANS  -      To see a list of extended bans">
 
 /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
 -------------
 
 <helpop key="cuser" value="User Commands
 -------------
 
-PRIVMSG   NOTICE   NICK      JOIN      PART
-CYCLE     KNOCK    MODE      OPER      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>]+
 
 
-WHOIS     WHOWAS   ISON      USERHOST  WATCH
-LIST      NAMES    WHO       MOTD
-ADMIN     MAP      LINKS     LUSERS    TIME
-STATS     VERSION  INFO      MODULES   COMMANDS
-SSLINFO
+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.">
 
 
-USER      PASS     PING     PONG       QUIT">
 
 <helpop key="coper" value="Oper Commands
 -------------
 
 
 <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>
 
 
-SETHOST   SETIDENT  CHGHOST     CHGIDENT CHGNAME
-SETIDLE   SWHOIS
+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).">
 
 
-SANICK    NICKLOCK  NICKUNLOCK
+<helpop key="lockserv" value="/LOCKSERV [:<message>]
 
 
-SAJOIN    SAPART    SAMODE      SATOPIC  SAKICK
+Locks out all new connections notifying connecting users that the
+service is temporarily closed and to try again later.">
 
 
-KILL      SAQUIT    GLINE       ZLINE    QLINE
-KLINE     RLINE     ELINE       CBAN     SHUN
-FILTER    CLEARCHAN
+<helpop key="unlockserv" value="/UNLOCKSERV
 
 
-CONNECT   SQUIT     RCONNECT    RSQUIT
+Opens the server up again for new connections.">
 
 
-DIE            RESTART      REHASH
-               LOADMODULE   UNLOADMODULE
-RELOADMODULE   GLOADMODULE  GUNLOADMODULE
-GRELOADMODULE  CLOSE        JUMPSERVER
-LOCKSERV       UNLOCKSERV">
+<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
 ----------
 
 <helpop key="umodes" value="User Modes
 ----------
@@ -78,7 +834,7 @@ LOCKSERV       UNLOCKSERV">
               commonchans module).
  d            Deaf mode. User will not receive any messages or notices
               from channels they are in (requires the deaf module).
               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
+ 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).
               ignore (requires the callerid module).
  h            Marks as 'available for help' in WHOIS (IRCop only,
               requires the helpop module).
@@ -97,14 +853,16 @@ LOCKSERV       UNLOCKSERV">
  z            Only allow private messages from SSL users (requires the
               sslmode module).
  B            Marks as a bot (requires the botmode 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).
  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 m_redirect (mode must be
-              enabled in the config).
+ 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
  R            Blocks private messages from unregistered users
               (requires the services account module).
  S            Strips formatting codes out of private messages
@@ -172,7 +930,8 @@ LOCKSERV       UNLOCKSERV">
                     For example, +w o:R:Brain will op anyone identified
                     to the account 'Brain' on join.
                     (requires the autoop module)
                     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.
+ 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
 
  A                  Allows anyone to invite users to the channel
                     (normally only chanops can invite, requires
@@ -184,10 +943,10 @@ LOCKSERV       UNLOCKSERV">
                     noctcp module).
  D                  Delays join messages from users until they message
                     the channel (requires the delayjoin module).
                     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.
+ 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.
                     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
  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
@@ -199,7 +958,8 @@ LOCKSERV       UNLOCKSERV">
  J <seconds>        Prevents rejoin after kick for the specified
                     number of seconds. This prevents auto-rejoin
                     (requires the kicknorejoin 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.
+ 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).
  L <channel>        If the channel reaches its limit set by +l,
                     redirect users to <channel> (requires the
                     redirect module).
@@ -213,8 +973,8 @@ LOCKSERV       UNLOCKSERV">
                     topic, modes, and such will not be lost when it
                     empties (can only be set by IRCops, requires
                     the permchannels module).
                     topic, modes, and such will not be lost when it
                     empties (can only be set by IRCops, requires
                     the permchannels module).
- Q                  Only ulined servers and their users can kick
-                    (requires the nokicks 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
  R                  Blocks unregistered users from joining (requires
                     the services account module).
  S                  Strips formatting codes from messages to the
@@ -224,6 +984,24 @@ LOCKSERV       UNLOCKSERV">
  X <type>:<status>  Makes users of <status> or higher exempt to the
                     specified restriction <type>. For example: flood:h
                     (requires the exemptchanops 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
 
 -------------
 NOTE: A large number of these modes are dependent upon server-side modules
@@ -231,13 +1009,55 @@ 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.">
 
 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.
 <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.
- f      Allows receipt of flooding notices.
+ 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).
  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).
@@ -245,8 +1065,8 @@ help channel if you have any questions.">
  K      Allows receipt of remote kill messages.
  l      Allows receipt of local linking related messages.
  L      Allows receipt of remote linking related 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 the seenicks module).
- N      See remote nickname changes (requires the seenicks modules).
+ 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.
  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.
@@ -255,8 +1075,8 @@ help channel if you have any questions.">
  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).
  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 Xline notices (g/Z/q/k/e/R/shuns).
- X      Allows receipt of remote Xline notices (g/Z/q/k/e/R/shuns).">
+ 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
 ----------
 
 <helpop key="extbans" value="Extended Bans
 ----------
@@ -274,6 +1094,9 @@ setting +I <extban>.
 
 Matching extbans:
 
 
 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
  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