#####################
#  Helpop Standard  #
#####################

<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. If you are an oper
you must prefix your query with a ? symbol.
-
/HELPOP COMMANDS      -      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 key="nohelp" value="There is no help for the topic
you searched for. Please try again.">

#####################
#   User Commands   #
#####################

<helpop key="commands" value="User Commands
-------------
USER      NICK     QUIT     VERSION    PING
PONG      ADMIN    PRIVMSG  INFO       TIME
WHOIS     NOTICE   JOIN     NAMES      PART
KICK      MODE     TOPIC    WHO        MOTD
RULES     OPER     LIST     LUSERS     STATS
USERHOST  AWAY     ISON     SUMMON     USERS
INVITE    PASS     WHOWAS   LINKS      MAP
COMMANDS  MODULES  KNOCK    SILENCE    DEVOICE
REMOVE    UNINVITE VHOST    WATCH      USERIP">

<helpop key="watch" value="/WATCH [C|S|+/-[NICK]]
Adds or deletes a user from the watch list. C clears the list
and S queries the status.">

<helpop key="vhost" value="/VHOST [username] [password]
Authenticate for a vhost.">

<helpop key="kick" 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="devoice" value="/DEVOICE [channel]
Devoices yourself from the specified channel.">

<helpop key="silence" value="/SILENCE [+/-]<hostmask> [p|c|i|n|t|a|x]
 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
A serverside /ignore of the given hostmask.
/SILENCE without a parameter will list the hostmasks 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] :[GECOS]
This command is used by your client to register your irc session.
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 number.">

<helpop key="ping" value="/PING [server]
Ping a server. Target 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]
Fetches the administrative information on the given server.">

<helpop key="privmsg" value="/MSG [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] {[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]{[+|-][modes]} {mode parameters}
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.">

<helpop key="topic" value="/TOPIC [channel] {topic}
Sets or retrieves the channel topic. If a channel topic is
given in the command and the channel is either 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 [ [search-pattern] [ohurmaiMplf] ]
Looks up the information of users matching the range you provide.
You may only /WHO nicknames in channels or on servers where you
share a common channel with them, or ones which are not +i (unless
you are an IRC operator). The search-pattern may be a special
sequence of characters determined by the flags given below, or
it may be one of a nickname, a channel, a hostmask, an ip address
mask or a server mask.
-
Valid WHO flags
--------------- 
The following flags after the mask have the following affects:
-
 o      Show online IRC operators matching the mask
 u      Unlimit the results past the maximum /who results value
        (IRC operators only)
 r      Show all users whose realnames match the mask. When this
        flag is set it overrides the meaning of the search-pattern,
        which must contain a glob pattern intended to match GECOS
        (realname) fields.
 h      Show real hostnames rather than masked hostnames (IRC
        operators only)
 m      Search for all users with a given set of user modes. When
        this flag is set it overrides the meaning of the
        search-pattern, which must contain the mode sequence to
        search for, for example to find all users with +i and
        without +s, issue the command WHO +i-s m.
 a      Show all users who have an away message matching the given mask
 p      Show all users who are connected on the given port number
 i      Show all users who have an ident (username) matching the given mask
 M      Show all users who have metadata attached to them with
        the given key name
 l      Show only local users
 f      Show only remote (far) users
-
You may combine multiple flags in one WHO command except where stated in the table above.">

<helpop key="motd" value="/MOTD [server]
Show the message of the day for [server]. Messages of the
day contain important server rules and notice and should be
read before using a server in any way!">

<helpop key="rules" value="/RULES
Show the rules file for the local server. This is similar in
effect to /MOTD except that rules are optional. All users are
sent the MOTD when they connect without having to request it.">

<helpop key="oper" value="/OPER [login] [password]
Attempts to authenticate a user as an IRC operator.
Please be aware that 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 [nickname]
Returns the hostname and nickname of a user, and some other
miscellaneous information.">

<helpop key="userip" value="/USERIP [nickname]
Returns the ip and nickname of a user.">

<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="summon" value="/SUMMON [user]
Summons a user from the shell where the ircd is running onto irc
This command is deprecated in the current protocol.">

<helpop key="users" value="/USERS
Shows users logged into the shell where the ircd is running.
This command is deprecated in the current protocol.">

<helpop key="invite" value="/INVITE [nick] [channel]
Invites a user to a channel. If the channel is NOT +i, any
user, channel op or not, may invite any other user to the
channel, so long as they are a member of that channel.
Otherwise, if +i is set only channel halfoperators
and above may invite users into the channel.">

<helpop key="pass" value="/PASS [password]
This command is used by your irc client when setting up
your irc session, and should not be issued by a fully
connected client.">

<helpop key="whowas" value="/WHOWAS [nick]
Returns a list of times the user was last seen 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. Note that in this
server implementation all links will be flattened as
a tree based layout is not in use.">

<helpop key="map" value="/MAP
Shows a graphical representation of all users and servers
on the network. The tree diagram is inaccurate in this
implementation as a tree based network is not in place.">

#####################
#   Oper Commands   #
#####################

<helpop key="coper" value="Oper Commands
-------------
DIE        RESTART     KILL         REHASH         TRACE
CONNECT    SQUIT       MODULES      MKPASSWD       SHUN
KLINE      QLINE       GLINE        ELINE          ZLINE
SAJOIN     SAPART      SAMODE       SAQUIT         SANICK
SETIDLE    SETHOST     SETNAME      SETIDENT       SWHOIS
OPERMOTD   CHGHOST     CHGNAME      CHGIDENT       CBAN
NICKLOCK   NICKUNLOCK  LOADMODULE   UNLOADMODULE   GLOBOPS
SPYLIST    SPYNAMES    GLOADMODULE  GUNLOADMODULE  MKSHA256
FREEZE     UNFREEZE    OPERPERMS    RCONNECT">

<helpop key="rconnect" value="/RCONNECT [source mask] [target mask]
All servers matching [source mask] will try to connect to
the first server in the config file matching [target mask].">

<helpop key="operperms" value="/OPERPERMS [nick]
List all commands an oper has access to use.">

<helpop key="freeze" value="/FREEZE [nick]
Prevents the user from sending commands until they reconnect.
User is also notified they have been frozen.">

<helpop key="unfreeze" value="/UNFREEZE [nick]
Unfreezes a user frozen by the /FREEZE command.">

<helpop key="spylist" value="/SPYLIST
Operates the same as /LIST but includes +s and +p channels.">

<helpop key="spynames" value="/SPYNAMES [channel]
Operates the same as /name but works on +s and +p channels.">

<helpop key="globops" value="/GLOBOPS [message]
Sends a message to all +g users.">

<helpop key="cban  " value="/CBAN [channel] {[duration] :[reason]}
Sets or removes a channel ban. You must specify at least
3 parameters to add a ban, and one parameter to remove a ban.
The duration may be specified in seconds, or in the following 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]
Forces the user to join the channel.">

<helpop key="sapart" value="/SAPART [nick] [channel]
Forces the user to part the channel.">

<helpop key="samode" value="/SAMODE [#chan/nick] +/-[modes] {[parameters for modes]}
Gives the channel or nick the modes specified.">

<helpop key="sanick" value="/SANICK [nick] [new nick]
Changes the users nick to the new nick.">

<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).">

<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="setname" value="/SETNAME [name]
Sets your name to the specified name.">

<helpop key="swhois" line="/SWHOIS [nick] [swhois]
Sets the users swhois field to the given swhois.">

<helpop key="mkpasswd" value="/MKPASSWD [hashtype] [plaintext]
Encodes the plaintext to an MD5 hash and displays the result.">

<helpop key="opermotd" value="/OPERMOTD
Re-displays the Oper MOTD.">

<helpop key="nicklock" value="/NICKLOCK [nick] [new nick]
Changes 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 the user to change nicks.">

<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 [user@host] {[duration] :[reason]}
Sets or removes a shun (serverside ignore) on a host and ident mask.
You must specify at least 3 parameters to add a shun, and one
parameter to remove a shun (just the user@host section).
The duration may be specified in seconds, or in the following 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 [password]
If the correct password is provided, and you are an operator,
This command will shut down the local server.">

<helpop key="restart" value="/RESTART [password]
If the correct password is provided, and you are an operator,
This command will restart 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
This command will cause the server configuration file to be
re-read and values re-initialized.">

<helpop key="trace" value="/TRACE [nick|user@host|servermask]
This command will provide a list of all users and servers which
must be passed through or over to reach a given object (server or user).">

<helpop key="connect" value="/CONNECT [servermask]
Create a mesh connection to the given servermask. You must have
configured the server for linking in your configuration file,
and provided a password.">

<helpop key="squit" value="/SQUIT
Disconnects the local server from the mesh network, causing every
other server in the network to drop it.">

<helpop key="modules" value="/MODULES
Lists currently loaded modules, their memory offsets and version
numbers and flags. If you are not an operator, you will see reduced
detail.">

<helpop key="loadmodule" value="/LOADMODULE [filename.so]
Loads a module into the IRCd.">

<helpop key="unloadmodule" value="/UNLOADMODULE [filename.so]
Unloads a module from the IRCd. The module cannot have the static
flag set (see the output of /MODULES).">

<helpop key="gloadmodule" value="/GLOADMODULE [filename.so]
Globally loads a module into the network.">

<helpop key="gunloadmodule" value="/GUNLOADMODULE [filename.so]
Globally unloads a module from the network. The module cannot 
have the static flag set (see the output of /MODULES).">

<helpop key="kline" value="/KLINE [user@host] {[duration] :[reason]}
Sets or removes a k-line (host based ban) on a host and ident mask.
You must specify at least 3 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 following 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 at least 3 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 following 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 at least 3 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 following 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 (global host based ban) on host mask.
You must specify at least 3 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 following 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 (local 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 following format
1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
5 minutes and 6 seconds. All fields in this format are optional.">

######################
# User/Channel Modes #
######################

<helpop key="umodes" value="User Modes
----------
o                Is an IRC operator
i                Is invisible to /WHO
w                Can receive wallops messages
s                Can receive server notices
n [mask]         Can receive server notices specified by [mask]
x                Cloaked hostname (requires cloaking module)
g                Can receive globops (requires globops module)
h                Will receive helpops notification (requires helpop module)
r                Nickname is registered
R                Only registered users can PRIVMSG this nickname
B                Is a bot
G                Messages are censored to user
W                Can see when a user uses WHOIS on them
S                mIRC colour codes are stripped to the user
D                User can not receive PRIVMSGs">

<helpop key="chmodes" value="Channel Modes
-------------
v [nickname]       Gives voice to [nickname] (can talk on +m channel)
h [nickname]       Gives halfops to [nickname]
o [nickname]       Gives ops to [nickname]
b [hostmask]       Bans [hostmask] on the channel
a [nickname]       Give protected status to [nickname] (+q only)
q [nickname]       Give founder status to [nickname] (ulines only)
i                  Make the channel invite only, must /INVITE users
k [key]            Set the channel key (password) to [key]
l [limit]          Set the maximum possible users to [limit]
m                  Enable moderation. Only +vo(h) can speak
n                  Only users who are members of the channel may message it
p                  Make channel private (hide from /LIST)
s                  Make channel secret (can't be used at the same time as +p)
O                  Channel is IRCops only (can only be set by IRCops)
t                  Only halfops and above can change the topic
Q                  Only U-Lined servers/nicks can kick
T                  Only halfops/ops can send NOTICEs to the channel
C                  No CTCPs allowed to the channel
c                  mIRC colour codes blocked on the channel
S                  mIRC colour codes are stripped from the channel
e [hostmask]       Ban exception on [hostmask]
K                  No /KNOCK allowed to channel
L [channel]        If the channel is full, redirect users to [channel]
N                  No nick changes while on the channel
G                  Censors channel based on network censor config
g [word]           All messages containing the word are blocked
I [hostmask]       Invite exception allows user to join a channel with +i
j [joins]:[sec]    Prevents join flooding
J [seconds]        Prevents auto-rejoin on kick
f [*][lines]:[sec] Kick on text flood. With * user is banned
V                  No invites allowed
r                  Channel is registered
R                  Only registered users can join
M                  Non-registered users can't chat
z                  SSL clients only
x                  Join exception mask. Avoids +ibkO
-------------
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 this
command may be reserved for oper-only use.
-
Valid symbols are:
-
m  Show command statistics, number of times commands have been used
z  Show memory usage statistics
o  Show a list of all valid oper usernames and hostmasks
l  Show all inbound and outbound server and client connections
u  Show server uptime
k  Show k-lines (local bans)
g  Show g-lines (global bans)
q  Show q-lines (nick mask bans)
Z  Show z-lines (ip mask bans)
Y  Show connection classes
C  Show link blocks
U  Show u-lined servers
P  Show online opers and their idle times
I  Show connect class permissions
e  Show e-lines (local ban exemptions)
C  Show channel bans
s  Show filters
-
Note that all /STATS use is broadcast to online IRC operators.">

