summaryrefslogtreecommitdiff
path: root/docs/conf
diff options
context:
space:
mode:
Diffstat (limited to 'docs/conf')
-rw-r--r--docs/conf/helpop-full.conf.example1150
-rw-r--r--docs/conf/helpop.conf.example810
-rw-r--r--docs/conf/modules.conf.example2
3 files changed, 808 insertions, 1154 deletions
diff --git a/docs/conf/helpop-full.conf.example b/docs/conf/helpop-full.conf.example
deleted file mode 100644
index 060fefca9..000000000
--- a/docs/conf/helpop-full.conf.example
+++ /dev/null
@@ -1,1150 +0,0 @@
-#####################
-# Helpop Standard #
-#####################
-
-<config format="xml">
-
-<alias text="HELP" replace="HELPOP $2-">
-
-<helpmsg nohelp="There is no help for the topic you searched for. Please try again.">
-
-<helpop key="start" value="InspIRCd Help System
-
-This system provides help for commands and modes.
-Specify your question or a command name as the
-parameter for this command.
-
-/HELPOP CUSER - To see a list of user commands
-/HELPOP COPER - To see a list of oper commands
-/HELPOP UMODES - To see a list of user modes
-/HELPOP CHMODES - To see a list of channel modes
-/HELPOP SNOMASKS - To see a list of oper snotice masks
-/HELPOP EXTBANS - To see a list of extended bans">
-
-#####################
-# 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
-
-WHOIS WHOWAS ISON USERHOST WATCH
-LIST NAMES WHO MOTD
-ADMIN MAP LINKS LUSERS TIME
-STATS VERSION INFO MODULES COMMANDS
-SSLINFO SQUERY
-
-USER PASS PING PONG QUIT">
-
-<helpop key="squery" value="/SQUERY <target> <text>
-
-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
-following format: 1w2d3h4m6s which indicates a ban of one week, two
-days, three hours, four minutes and six seconds. 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 - 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 1m2h3d4w5y.">
-
-<helpop key="accept" value="/ACCEPT * - List accepted nicks
-/ACCEPT +<nick> - Add a nick
-/ACCEPT -<nick> - Remove a nick
-This command accepts multiple nicks like so:
-/ACCEPT +<nick1>,+<nick2>,-<nick3>
-
-Manages your accept list. This list is used to determine who can
-private message you when you have usermode +g set.">
-
-<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 <name> <password>
-
-Authenticate for a WHOIS title line and optionally a vhost using the
-specified username and password.">
-
-<helpop key="watch" value="/WATCH - 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 +<nick1> +<nick2> -<nick3>">
-
-<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] [modeletter] {[pattern]}
-
-Removes listmodes from a channel.
-E.g. /RMODE #Chan b m:* will remove all mute extbans.">
-
-<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 - Shows a list of silenced masks
-/SILENCE +<mask> [<flags>] - Add a mask
-/SILENCE -<mask> - Remove a mask
-
-A serverside ignore of the given n!u@h mask. The letter(s) at the end
-specify what is to be ignored from this hostmask.
-
-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 letters 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
-
-/SILENCE without a parameter will list the masks that you have silenced.">
-
-<helpop key="knock" value="/KNOCK <channel>
-
-Sends a notice to a channel indicating you wish to join.">
-
-<helpop key="user" value="/USER <ident> <local host> <remote host> :<real name>
-
-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 <new nick>
-
-Change your nickname to <new nick>.">
-
-<helpop key="quit" value="/QUIT [<reason>]
-
-Quit from IRC and end your current session.">
-
-<helpop key="version" value="/VERSION
-
-Returns the server's version information.">
-
-<helpop key="ping" value="/PING <server>
-
-Ping a server. The server will answer with a PONG.">
-
-<helpop key="pong" value="/PONG <server>
-
-Your client should send this to answer server PINGs. You
-should not issue this command manually.">
-
-<helpop key="admin" value="/ADMIN [<server>]
-
-Shows the administrative information for the given server.">
-
-<helpop key="privmsg" value="/PRIVMSG <target> <text>
-
-Sends a message to a user or channel specified in <target>.">
-
-<helpop key="notice" value="/NOTICE <target> <text>
-
-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 channels 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 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 [<server>]
-
-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 <login> <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.">
-
-<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 servers linked to this one.">
-
-<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 <nick> [<server>]
-
-Returns the WHOIS information of a user, their channels, hostname,
-etc. If a second nickname or server 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 [<server>]
-
-Returns the local time of the server, or remote time of another
-server.">
-
-<helpop key="info" value="/INFO [<server>]
-
-Returns information on the developers and supporters who made this
-IRC server possible.">
-
-<helpop key="setname" value="/SETNAME <name>
-
-Sets your name to the specified name.">
-
-
-#####################
-# Oper Commands #
-#####################
-
-<helpop key="coper" value="Oper Commands
--------------
-
-OPERMOTD CHECK CLONES USERIP TLINE
-ALLTIME WALLOPS GLOBOPS MODENOTICE
-CLOAK
-
-SETHOST SETIDENT CHGHOST CHGIDENT CHGNAME
-SETIDLE SWHOIS
-
-SANICK NICKLOCK NICKUNLOCK
-
-SAJOIN SAPART SAMODE SATOPIC SAKICK
-
-KILL SAQUIT GLINE ZLINE QLINE
-KLINE RLINE ELINE CBAN SHUN
-FILTER OJOIN CLEARCHAN
-
-CONNECT SQUIT RCONNECT RSQUIT
-
-DIE RESTART REHASH
- LOADMODULE UNLOADMODULE
-RELOADMODULE GLOADMODULE GUNLOADMODULE
-GRELOADMODULE CLOSE JUMPSERVER
-LOCKSERV UNLOCKSERV">
-
-<helpop key="userip" value="/USERIP <nick> [<nick>]
-
-Returns the ip and nickname of the given users.">
-
-<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 acceptable).">
-
-<helpop key="lockserv" value="/LOCKSERV :[<message>]
-
-Locks out all new connections notifying connecting users that the
-service is temporarily closed and to try again later.">
-
-<helpop key="unlockserv" value="/UNLOCKSERV
-
-Opens the server up again for new connections.">
-
-<helpop key="jumpserver" value="/JUMPSERVER [<newserver> <newport> <(+|-)[flags]> :[<reason>]]
-
-Sets or cancels jumpserver mode. If no parameters are given,
-jumpserver mode is cancelled, if it is currently set. If parameters
-are given, a server address must be given for <newserver> and a
-server port must be given for <newport>. Zero or more status flags
-should be given for 'flags', from the list below (if you do not
-wish to specify any flags just place a '+' in this field):
-
-1. +a: Redirect all users immediately (except for opers) and cause
-them to quit with the given reason
-
-2. +n: Redirect any new users who connect and cause them to quit
-during registration
-
-You may use + and - to set or unset these flags in the command, the
-default flags are -a+n, which will just redirect new users. The
-reason parameter is optional, and if not provided defaults to
-'Please use this server/port instead' (the default given in various
-numeric lists)">
-
-<helpop key="filter" value="/FILTER <filter-definition> [<action> <flags> [<duration>] :<reason>]
-
-This command will add a filter when more than one parameter is given,
-for messages of the types specified by the flags, with the given
-filter definition, 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 definition 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|ip|hostmask|channel> [<server>]
-
-Allows opers to look up advanced information on channels, hostmasks
-or IP addresses, in a similar way to WHO but in more detail, displaying
-most information the IRCD has stored on the target, including all
-metadata.
-
-With the second parameter given, runs the command remotely on the
-specified server.">
-
-<helpop key="alltime" value="/ALLTIME
-
-Shows the time on all servers on the network.">
-
-<helpop key="rconnect" value="/RCONNECT <source mask> <target mask>
-
-The server matching <source mask> will try to connect to the first
-server in the config file matching <target mask>.">
-
-<helpop key="rsquit" value="/RSQUIT <target mask> [<reason>]
-
-Causes a remote server matching <target 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 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, 4 hours,
-5 minutes and 6 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>]
-
-Forces the user to part the channel(s).">
-
-<helpop key="samode" value="/SAMODE <target> (+|-)<modes> [<parameters for modes>]
-
-Applies the given mode change to the channel or nick specified.">
-
-<helpop key="sanick" value="/SANICK <nick> <new nick>
-
-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.">
-
-<helpop key="satopic" value="/SATOPIC <channel> <new 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 <idle time>
-
-Sets your idle time (in seconds) to the specified value.">
-
-<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.">
-
-<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
-
-Displays the Oper MOTD.">
-
-<helpop key="nicklock" value="/NICKLOCK <nick> <new nick>
-
-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 <nickname> <new hostname>
-
-Changes the hostname of the user to the new hostname.">
-
-<helpop key="chgname" value="/CHGNAME <nickname> <new name>
-
-Changes the name of the user to the new name.">
-
-<helpop key="chgident" value="/CHGIDENT <nickname> <new ident>
-
-Changes the ident of the user to the new ident.">
-
-<helpop key="shun" value="/SHUN <nick!user@host> [[<duration>] :<reason>]
-
-Sets or removes a shun (server side ignore) on a host and ident mask.
-You must specify all three parameters to add a shun, and one parameter
-to remove a shun (just the nick!user@host section).
-
-The 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.">
-
-<helpop key="die" value="/DIE <server>
-
-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 <server>
-
-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 <user> <reason>
-
-This command will disconnect a user from IRC with the given reason.">
-
-<helpop key="rehash" value="/REHASH <mask>
-
-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
-
-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 <modname>
-
-Loads the specified module into the local server.">
-
-<helpop key="unloadmodule" value="/UNLOADMODULE <modname>
-
-Unloads a module from the local server.">
-
-<helpop key="reloadmodule" value="/RELOADMODULE <modname>
-
-Unloads and reloads a module on the local server.">
-
-<helpop key="gloadmodule" value="/GLOADMODULE <modname>
-
-Loads the specified module on all linked servers.">
-
-<helpop key="gunloadmodule" value="/GUNLOADMODULE <modname>
-
-Unloads a module from all linked servers.">
-
-<helpop key="greloadmodule" value="/GRELOADMODULE <modname>
-
-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 host based ban) on a host and ident mask.
-You must specify all three parameters to add a ban, and one parameter
-to remove a ban (just the user@host section).
-
-The 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.">
-
-<helpop key="zline" value="/ZLINE <ipmask> [<duration> :<reason>]
-
-Sets or removes a Z-line (ip based ban) on an ip range 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, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
-
-<helpop key="qline" value="/QLINE <nickmask> [<duration> :<reason>]
-
-Sets or removes a Q-line (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, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
-
-<helpop key="gline" value="/GLINE <user@host> [<duration> :<reason>]
-
-Sets or removes a G-line (host based ban) on host mask.
-You must specify all three parameters to add a ban, and one
-parameter to remove a ban (just the user@host section).
-
-The 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.">
-
-<helpop key="eline" value="/ELINE <user@host> [<duration> :<reason>]
-
-Sets or removes a E-line (global ban exception) on host mask.
-You must specify at least 3 parameters to add an exception, and one
-parameter to remove an exception (just the user@host section).
-
-The 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.
-
-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 (regex line) 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, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
-
-<helpop key="close" value="/CLOSE
-
-Closes all unregistered connections to the local server.">
-
-<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.">
-
-######################
-# User/Channel Modes #
-######################
-
-<helpop key="umodes" value="User Modes
-----------
-
- c Blocks private messages and notices from users who do
- not share a common channel with you (requires the
- commonchans module).
- d Deaf mode. User will not receive any messages or notices
- from channels they are in (requires the deaf module).
- g In combination with /ACCEPT, provides for server side
- ignore (requires the callerid module).
- h Marks as 'available for help' in WHOIS (IRCop only,
- requires the helpop module).
- i Makes invisible to /WHO if the user using /WHO is not in
- a common channel.
- k Prevents the user from being kicked from channels, or
- having op modes removed from them (services only,
- requires the servprotect module).
- o Marks as a IRC operator.
- s <mask> Receives server notices specified by <mask>
- (IRCop only).
- r Marks as a having a registered nickname
- (requires the services account module).
- w Receives wallops messages.
- x Gives a cloaked hostname (requires the cloaking module).
- z Only allow private messages from SSL users (requires the
- sslmode module).
- B Marks as a bot (requires the botmode module).
- 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).
- R Blocks private messages from unregistered users
- (requires the services account module).
- S Strips formatting codes out of private messages
- to the user (requires the stripcolor module).
- W Receives notification when a user uses WHOIS on them
- (IRCop only, requires the showwhois module).">
-
-<helpop key="chmodes" value="Channel Modes
--------------
-
- v <nickname> Gives voice to <nickname>, allowing them to speak
- while the channel is +m.
- h <nickname> Gives halfop status to <nickname> (requires the
- customprefix module).
- o <nickname> Gives op status to <nickname>.
- a <nickname> Gives protected status to <nickname>, preventing
- them from being kicked (+q only, requires the
- customprefix module).
- q <nickname> Gives owner status to <nickname>, preventing them
- from being kicked (Services or +q only, requires
- the customprefix module).
-
- b <hostmask> Bans <hostmask> from the channel.
- e <hostmask> Excepts <hostmask> from bans (requires the
- banexception module).
- I <hostmask> Excepts <hostmask> from +i, allowing matching
- users to join while the channel is invite-only
- (requires the inviteexception module).
-
- c Blocks messages that contain formatting codes
- (requires the blockcolor module).
- d <time> Blocks messages to a channel from new users
- until they have been in the channel for <time>
- seconds (requires the delaymsg module).
- f [*]<lines>:<sec> Kicks on text flood equal to or above the
- specified rate. With *, the user is banned
- (requires the messageflood module).
- g <mask> Blocks messages matching the given glob mask
- (requires the chanfilter module).
- i Makes the channel invite-only.
- Users can only join if an operator
- uses /INVITE to invite them.
- j <joins>:<sec> Limits joins to the specified rate (requires
- the joinflood module).
- k <key> Set the channel key (password) to <key>.
- l <limit> Set the maximum allowed users to <limit>.
- m Enable moderation. Only users with +v, +h, or +o
- can speak.
- n Blocks users who are not members of the channel
- from messaging it.
- p Make channel private, hiding it in users' whoises
- and replacing it with * in /LIST.
- r Marks the channel as registered with Services
- (requires the services account module).
- s Make channel secret, hiding it in users' whoises
- and /LIST.
- t Prevents users without +h or +o from changing the
- topic.
- u Makes the channel an auditorium; normal users only
- see themselves or themselves and the operators,
- while operators see all the users (requires the
- auditorium module).
- w <flag>:<banmask> Adds basic channel access controls of <flag> to
- <banmask>, via the +w listmode.
- For example, +w o:R:Brain will op anyone identified
- to the account 'Brain' on join.
- (requires the autoop module)
- z Blocks non-SSL clients from joining the channel.
-
- A Allows anyone to invite users to the channel
- (normally only chanops can invite, requires
- the allowinvite module).
- B Blocks messages with too many capital letters,
- as determined by the network configuration
- (requires the blockcaps module).
- C Blocks any CTCPs to the channel (requires the
- noctcp module).
- D Delays join messages from users until they message
- the channel (requires the delayjoin module).
- E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages.
- Kicks as default, blocks with ~ and bans with *
- The last two parameters are optional.
- F <changes>:<sec> Blocks nick changes when they equal or exceed the
- specified rate (requires the nickflood module).
- G Censors messages to the channel based on the
- network configuration (requires the censor module).
- H <num>:<duration> Displays the last <num> lines of chat to joining
- users. <duration> is the maximum time to keep
- lines in the history buffer (requires the
- chanhistory module).
- J <seconds> Prevents rejoin after kick for the specified
- number of seconds. This prevents auto-rejoin
- (requires the kicknorejoin module).
- K Blocks /KNOCK on the channel.
- L <channel> If the channel reaches its limit set by +l,
- redirect users to <channel> (requires the
- redirect module).
- M Blocks unregistered users from speaking (requires
- the services account module).
- N Prevents users on the channel from changing nick
- (requires the nonicks module).
- O Channel is IRCops only (can only be set by IRCops,
- requires the operchans module).
- P Makes the channel permanent; Bans, invites, the
- topic, modes, and such will not be lost when it
- empties (can only be set by IRCops, requires
- the permchannels module).
- Q Only ulined servers and their users can kick
- (requires the nokicks module)
- R Blocks unregistered users from joining (requires
- the services account module).
- S Strips formatting codes from messages to the
- channel (requires the stripcolor module).
- T Blocks /NOTICEs to the channel from users who are
- not at least halfop (requires the nonotice module).
- X <type>:<status> Makes users of <status> or higher exempt to the
- specified restriction <type>. For example: flood:h
- (requires the exemptchanops module).
- Possible restriction types to exempt with +X are:
-
- auditorium-see Permission required to see the full user list of
- a +u channel (requires the auditorium module).
- auditorium-vis Permission required to be visible in a +u channel
- (requires the auditorium module).
- blockcaps Channel mode +B
- blockcolor Channel mode +c
- censor Channel mode +G
- filter Channel mode +g
- flood Channel mode +f
- nickflood Channel mode +F
- noctcp Channel mode +C
- nonick Channel mode +N
- nonotice Channel mode +T
- regmoderated Channel mode +M
- stripcolor Channel mode +S
- topiclock Channel mode +t
-
--------------
-NOTE: A large number of these modes are dependent upon server-side modules
-being loaded by a server/network administrator. The actual modes available
-on your network may be very different to this list. Please consult your
-help channel if you have any questions.">
-
-######################
-# Stats Symbols #
-######################
-
-<helpop key="stats" value="/STATS <symbol>
-
-Shows various server statistics. Depending on configuration, some
-symbols may be only available to opers.
-
-Valid symbols are:
-
-e Show E-lines (local ban exemptions)
-g Show G-lines (host bans)
-k Show K-lines (local host bans)
-q Show Q-lines (nick mask bans)
-R Show R-lines (regular expression bans)
-Z Show Z-lines (IP mask bans)
-
-s Show filters
-C Show channel bans
-H Show shuns
-
-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.">
-
-######################
-# SNOMASKS #
-######################
-
-<helpop key="snomasks" value="Server Notice Masks
-
- a Allows receipt of local announcement messages.
- A Allows receipt of remote announcement messages.
- c Allows receipt of local connect messages.
- C Allows receipt of remote connect messages.
- d Allows receipt of local DNSBL messages (requires the dnsbl module).
- D Allows receipt of remote DNSBL messages (requires the dnsbl module).
- f Allows receipt of local filter messages (requires the filter module).
- F Allows receipt of remote filter messages (requires the filter module).
- g Allows receipt of globops (requires the globops module).
- j Allows receipt of channel creation notices (requires the chancreate module).
- J Allows receipt of remote channel creation notices (requires the chancreate module).
- k Allows receipt of local kill messages.
- K Allows receipt of remote kill messages.
- l Allows receipt of local linking related messages.
- L Allows receipt of remote linking related messages.
- n See local nickname changes (requires the seenicks module).
- N See remote nickname changes (requires the seenicks modules).
- o Allows receipt of oper-up, oper-down, and oper-failure messages.
- O Allows receipt of remote oper-up, oper-down, and oper-failure messages.
- q Allows receipt of local quit messages.
- Q Allows receipt of remote quit messages.
- r Allows receipt of local oper commands (requires the operlog module).
- R Allows receipt of remote oper commands (requires the operlog module).
- t Allows receipt of attempts to use /STATS (local and remote).
- v Allows receipt of oper-override notices (requires the override module).
- x Allows receipt of local X-line notices (G/Z/Q/K/E/R/SHUN/CBan).
- X Allows receipt of remote X-line notices (G/Z/Q/K/E/R/SHUN/CBan).">
-
-######################
-# EXTBANS #
-######################
-
-<helpop key="extbans" value="Extended Bans
-----------
-
-Extbans are split into two types; matching extbans, which match on
-users in additional ways, and acting extbans, which restrict users
-in different ways to a standard ban.
-
-To use an extban, simply set +b <ban> or +e <ban> with it as the ban,
-instead of a normal nick!user@host mask, to ban or exempt matching
-users. Ban exceptions on acting extbans exempt that user from matching
-an extban of that type, and from any channel mode corresponding to the
-restriction. Matching extbans may also be used for invite exceptions by
-setting +I <extban>.
-
-Matching extbans:
-
- a:<mask> Matches user with both a matching banmask and realname,
- where <mask> is in the format nick!user@host+realname
- (requires gecosban module).
- j:<channel> Matches anyone in the given channel. Does not support
- wildcards (requires the channelban module).
- n:<class> Matches users in a matching connect class (requires the
- classban module).
- r:<realname> Matches users with a matching real name (requires the
- gecosban module).
- s:<server> Matches users on a matching server (requires the
- serverban module).
- z:<certfp> Matches users having the given SSL certificate
- fingerprint (requires the sslmodes module).
- O:<opertype> Matches IRCops of a matching type, mostly useful as an
- an invite exception (requires the operchans module).
- R:<account> Matches users logged into a matching account (requires
- the services account module).
- U:<banmask> Matches unregistered users matching the given banmask.
- (requires the services account module).
-
-Acting extbans:
-
- c:<banmask> Blocks any messages that contain formatting codes from
- matching users (requires the blockcolor module).
- m:<banmask> Blocks messages from matching users (requires the muteban
- module). Users with +v or above are not affected.
- p:<banmask> Blocks part messages from matching users (requires
- the nopartmsg module).
- A:<banmask> Blocks invites by matching users even when +A is set
- (requires the allowinvite module).
- B:<banmask> Blocks all capital or nearly all capital messages from
- matching users (requires the blockcaps module).
- C:<banmask> Blocks CTCPs from matching users (requires the noctcp
- module).
- N:<banmask> Blocks nick changes from matching users (requires
- the nonicks module).
- Q:<banmask> Blocks kicks by matching users (requires the nokicks
- module).
- S:<banmask> Strips formatting codes from messages from matching
- users (requires the stripcolor module).
- T:<banmask> Blocks notices from matching users (requires the
- nonotice module).
-
-A ban given to an Acting extban may either be a nick!user@host mask
-(unless stated otherwise), matched against users as for a normal ban,
-or a Matching extban.
-
-There is an additional special type of extended ban, a redirect ban:
-
- Redirect n!u@h#channel will redirect the banned user to #channel
- when they try to join (requires the banredirect module).">
diff --git a/docs/conf/helpop.conf.example b/docs/conf/helpop.conf.example
index a4bfc751b..f2b1b37a2 100644
--- a/docs/conf/helpop.conf.example
+++ b/docs/conf/helpop.conf.example
@@ -9,6 +9,8 @@
# -- 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.">
@@ -39,10 +41,372 @@ WHOIS WHOWAS ISON USERHOST WATCH
LIST NAMES WHO MOTD
ADMIN MAP LINKS LUSERS TIME
STATS VERSION INFO MODULES COMMANDS
-SSLINFO
+SSLINFO SQUERY
USER PASS PING PONG QUIT">
+<helpop key="squery" value="/SQUERY <target> <text>
+
+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
+following format: 1w2d3h4m6s which indicates a ban of one week, two
+days, three hours, four minutes and six seconds. 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 - 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 1m2h3d4w5y.">
+
+<helpop key="accept" value="/ACCEPT * - List accepted nicks
+/ACCEPT +<nick> - Add a nick
+/ACCEPT -<nick> - Remove a nick
+This command accepts multiple nicks like so:
+/ACCEPT +<nick1>,+<nick2>,-<nick3>
+
+Manages your accept list. This list is used to determine who can
+private message you when you have usermode +g set.">
+
+<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 <name> <password>
+
+Authenticate for a WHOIS title line and optionally a vhost using the
+specified username and password.">
+
+<helpop key="watch" value="/WATCH - 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 +<nick1> +<nick2> -<nick3>">
+
+<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] [modeletter] {[pattern]}
+
+Removes listmodes from a channel.
+E.g. /RMODE #Chan b m:* will remove all mute extbans.">
+
+<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 - Shows a list of silenced masks
+/SILENCE +<mask> [<flags>] - Add a mask
+/SILENCE -<mask> - Remove a mask
+
+A serverside ignore of the given n!u@h mask. The letter(s) at the end
+specify what is to be ignored from this hostmask.
+
+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 letters 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
+
+/SILENCE without a parameter will list the masks that you have silenced.">
+
+<helpop key="knock" value="/KNOCK <channel>
+
+Sends a notice to a channel indicating you wish to join.">
+
+<helpop key="user" value="/USER <ident> <local host> <remote host> :<real name>
+
+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 <new nick>
+
+Change your nickname to <new nick>.">
+
+<helpop key="quit" value="/QUIT [<reason>]
+
+Quit from IRC and end your current session.">
+
+<helpop key="version" value="/VERSION
+
+Returns the server's version information.">
+
+<helpop key="ping" value="/PING <server>
+
+Ping a server. The server will answer with a PONG.">
+
+<helpop key="pong" value="/PONG <server>
+
+Your client should send this to answer server PINGs. You
+should not issue this command manually.">
+
+<helpop key="admin" value="/ADMIN [<server>]
+
+Shows the administrative information for the given server.">
+
+<helpop key="privmsg" value="/PRIVMSG <target> <text>
+
+Sends a message to a user or channel specified in <target>.">
+
+<helpop key="notice" value="/NOTICE <target> <text>
+
+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 channels 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 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 [<server>]
+
+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 <login> <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.">
+
+<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 servers linked to this one.">
+
+<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 <nick> [<server>]
+
+Returns the WHOIS information of a user, their channels, hostname,
+etc. If a second nickname or server 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 [<server>]
+
+Returns the local time of the server, or remote time of another
+server.">
+
+<helpop key="info" value="/INFO [<server>]
+
+Returns information on the developers and supporters who made this
+IRC server possible.">
+
+<helpop key="setname" value="/SETNAME <name>
+
+Sets your name to the specified name.">
+
+
<helpop key="coper" value="Oper Commands
-------------
@@ -59,7 +423,7 @@ SAJOIN SAPART SAMODE SATOPIC SAKICK
KILL SAQUIT GLINE ZLINE QLINE
KLINE RLINE ELINE CBAN SHUN
-FILTER CLEARCHAN
+FILTER OJOIN CLEARCHAN
CONNECT SQUIT RCONNECT RSQUIT
@@ -69,6 +433,390 @@ RELOADMODULE GLOADMODULE GUNLOADMODULE
GRELOADMODULE CLOSE JUMPSERVER
LOCKSERV UNLOCKSERV">
+<helpop key="userip" value="/USERIP <nick> [<nick>]
+
+Returns the ip and nickname of the given users.">
+
+<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 acceptable).">
+
+<helpop key="lockserv" value="/LOCKSERV :[<message>]
+
+Locks out all new connections notifying connecting users that the
+service is temporarily closed and to try again later.">
+
+<helpop key="unlockserv" value="/UNLOCKSERV
+
+Opens the server up again for new connections.">
+
+<helpop key="jumpserver" value="/JUMPSERVER [<newserver> <newport> <(+|-)[flags]> :[<reason>]]
+
+Sets or cancels jumpserver mode. If no parameters are given,
+jumpserver mode is cancelled, if it is currently set. If parameters
+are given, a server address must be given for <newserver> and a
+server port must be given for <newport>. Zero or more status flags
+should be given for 'flags', from the list below (if you do not
+wish to specify any flags just place a '+' in this field):
+
+1. +a: Redirect all users immediately (except for opers) and cause
+them to quit with the given reason
+
+2. +n: Redirect any new users who connect and cause them to quit
+during registration
+
+You may use + and - to set or unset these flags in the command, the
+default flags are -a+n, which will just redirect new users. The
+reason parameter is optional, and if not provided defaults to
+'Please use this server/port instead' (the default given in various
+numeric lists)">
+
+<helpop key="filter" value="/FILTER <filter-definition> [<action> <flags> [<duration>] :<reason>]
+
+This command will add a filter when more than one parameter is given,
+for messages of the types specified by the flags, with the given
+filter definition, 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 definition 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|ip|hostmask|channel> [<server>]
+
+Allows opers to look up advanced information on channels, hostmasks
+or IP addresses, in a similar way to WHO but in more detail, displaying
+most information the IRCD has stored on the target, including all
+metadata.
+
+With the second parameter given, runs the command remotely on the
+specified server.">
+
+<helpop key="alltime" value="/ALLTIME
+
+Shows the time on all servers on the network.">
+
+<helpop key="rconnect" value="/RCONNECT <source mask> <target mask>
+
+The server matching <source mask> will try to connect to the first
+server in the config file matching <target mask>.">
+
+<helpop key="rsquit" value="/RSQUIT <target mask> [<reason>]
+
+Causes a remote server matching <target 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 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, 4 hours,
+5 minutes and 6 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>]
+
+Forces the user to part the channel(s).">
+
+<helpop key="samode" value="/SAMODE <target> (+|-)<modes> [<parameters for modes>]
+
+Applies the given mode change to the channel or nick specified.">
+
+<helpop key="sanick" value="/SANICK <nick> <new nick>
+
+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.">
+
+<helpop key="satopic" value="/SATOPIC <channel> <new 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 <idle time>
+
+Sets your idle time (in seconds) to the specified value.">
+
+<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.">
+
+<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
+
+Displays the Oper MOTD.">
+
+<helpop key="nicklock" value="/NICKLOCK <nick> <new nick>
+
+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 <nickname> <new hostname>
+
+Changes the hostname of the user to the new hostname.">
+
+<helpop key="chgname" value="/CHGNAME <nickname> <new name>
+
+Changes the name of the user to the new name.">
+
+<helpop key="chgident" value="/CHGIDENT <nickname> <new ident>
+
+Changes the ident of the user to the new ident.">
+
+<helpop key="shun" value="/SHUN <nick!user@host> [[<duration>] :<reason>]
+
+Sets or removes a shun (server side ignore) on a host and ident mask.
+You must specify all three parameters to add a shun, and one parameter
+to remove a shun (just the nick!user@host section).
+
+The 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.">
+
+<helpop key="die" value="/DIE <server>
+
+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 <server>
+
+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 <user> <reason>
+
+This command will disconnect a user from IRC with the given reason.">
+
+<helpop key="rehash" value="/REHASH <mask>
+
+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
+
+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 <modname>
+
+Loads the specified module into the local server.">
+
+<helpop key="unloadmodule" value="/UNLOADMODULE <modname>
+
+Unloads a module from the local server.">
+
+<helpop key="reloadmodule" value="/RELOADMODULE <modname>
+
+Unloads and reloads a module on the local server.">
+
+<helpop key="gloadmodule" value="/GLOADMODULE <modname>
+
+Loads the specified module on all linked servers.">
+
+<helpop key="gunloadmodule" value="/GUNLOADMODULE <modname>
+
+Unloads a module from all linked servers.">
+
+<helpop key="greloadmodule" value="/GRELOADMODULE <modname>
+
+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 host based ban) on a host and ident mask.
+You must specify all three parameters to add a ban, and one parameter
+to remove a ban (just the user@host section).
+
+The 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.">
+
+<helpop key="zline" value="/ZLINE <ipmask> [<duration> :<reason>]
+
+Sets or removes a Z-line (ip based ban) on an ip range 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, 4 hours,
+5 minutes and 6 seconds. All fields in this format are optional.">
+
+<helpop key="qline" value="/QLINE <nickmask> [<duration> :<reason>]
+
+Sets or removes a Q-line (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, 4 hours,
+5 minutes and 6 seconds. All fields in this format are optional.">
+
+<helpop key="gline" value="/GLINE <user@host> [<duration> :<reason>]
+
+Sets or removes a G-line (host based ban) on host mask.
+You must specify all three parameters to add a ban, and one
+parameter to remove a ban (just the user@host section).
+
+The 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.">
+
+<helpop key="eline" value="/ELINE <user@host> [<duration> :<reason>]
+
+Sets or removes a E-line (global ban exception) on host mask.
+You must specify at least 3 parameters to add an exception, and one
+parameter to remove an exception (just the user@host section).
+
+The 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.
+
+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 (regex line) 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, 4 hours,
+5 minutes and 6 seconds. All fields in this format are optional.">
+
+<helpop key="close" value="/CLOSE
+
+Closes all unregistered connections to the local server.">
+
+<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
----------
@@ -186,7 +934,6 @@ LOCKSERV UNLOCKSERV">
E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages.
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
@@ -223,6 +970,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).
+ 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
@@ -230,6 +995,45 @@ 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>
+
+Shows various server statistics. Depending on configuration, some
+symbols may be only available to opers.
+
+Valid symbols are:
+
+e Show E-lines (local ban exemptions)
+g Show G-lines (host bans)
+k Show K-lines (local host bans)
+q Show Q-lines (nick mask bans)
+R Show R-lines (regular expression bans)
+Z Show Z-lines (IP mask bans)
+
+s Show filters
+C Show channel bans
+H Show shuns
+
+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.
diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example
index 27068cbdb..fded47e2f 100644
--- a/docs/conf/modules.conf.example
+++ b/docs/conf/modules.conf.example
@@ -931,7 +931,7 @@
# If you specify to use the helpop module, then specify below the #
# path to the helpop.conf file. #
# #
-#<include file="examples/helpop-full.conf.example">
+#<include file="examples/helpop.conf.example">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Hide chans module: Allows users to hide their channels list from non-