/* UnrealIRCd3.2 Help Configuration
 * Based on the original help text written by hAtbLaDe
 * Revised by CC (07/2002)
 *
 * A worthwhile update for the /HELPOP system.
 * Included with Unreal3.2 Dist. on 8/24/02 (Beta12)
 */

help {
	" Server Commands Help.";
	" Specify your Question after the /HELPOP command.";
	" You will find all of the server commands and options";
	" available for use.";
	" If you need extra assistance please visit the server's";
	" help channel or ask an available IRCop.";
	" -";
	" /HELPOP USERCMDS - To get the list of User Commands";
	" /HELPOP OPERCMDS - To get the list of Oper Commands";
	" /HELPOP SVSCMDS  - Commands sent via U:Lined Server (Services)";
	" /HELPOP UMODES   - To get the list of User Modes";
	" /HELPOP SNOMASKS - To get a list of Snomasks";
	" /HELPOP CHMODES  - To get the list of Channel Modes";
	" /HELPOP OFLAGS   - To see the list of O:line Flags";
	" -";
	" ==-------------------------oOo--------------------------==";
};

help Usercmds {
	" Currently the following User commands are available.";
	" Use /HELPOP <command name> to get more information about";
	" a specific command.";
	" -";
	" ==-----------------oOo-----------------==";
	" ADMIN   KICK    MOTD    QUIT     VERSION";
	" AWAY    KNOCK   NAMES   RULES    VHOST";
	" CREDITS LICENSE NICK    SETNAME  WATCH";
	" CYCLE   LINKS   NOTICE  SILENCE  WHO";
	" DALINFO LIST    PART    STATS    WHOIS";
	" INVITE  LUSERS  PING    TIME     WHOWAS";
	" ISON    MAP     PONG    TOPIC";
	" JOIN    MODE    PRIVMSG USERHOST";
	" ==-----------------oOo-----------------==";
};

help Opercmds {
	" This section gives the IRC Operator only commands.";
	" Use /HELPOP <command name> to get more information about";
	" a specific command.";
	" -";
	" ==----------------oOo---------------==";
	" OPER     WALLOPS GLOBOPS  CHATOPS LOCOPS    DNS";
	" ADCHAT   NACHAT  KILL     KLINE   ZLINE     SPAMFILTER";
	" GLINE    SHUN    GZLINE   HTM     TSCTL     TEMPSHUN";
	" REHASH   RESTART DIE"     DCCALLOW;
	" LAG      SETHOST SETIDENT CHGHOST CHGIDENT";
	" CHGNAME  SQUIT   CONNECT  DCCDENY UNDCCDENY";
	" SAJOIN   SAPART  SAMODE   RPING   TRACE";
	" OPERMOTD SDESC   MKPASSWD CLOSE   MODULE";
	" ==----------------oOo---------------==";
};

help Svscmds {
	" This section gives the commands that can be";
	" sent via a U:Lined Server such as Services.";
	" The command is typically sent as:";
	" /MSG OPERSERV RAW :services <command>";
	" Use /HELPOP <command name> to get more information about";
	" a specific command.";
	" -";
	" ==-----------oOo-----------==";
	" SVSNICK  SVSMODE  SVSKILL   SVSWATCH";
	" SVSNOOP  SVSJOIN  SVSPART   SVSSILENCE";
	" SVSO     SWHOIS   SQLINE    SVSNLINE";
	" UNSQLINE SVS2MODE SVSFLINE  SVSSNO";
	" SVSMOTD  SVS2SNO  SVSLUSERS";
	" ==-----------oOo-----------==";
};

help Umodes {
	" Here is a list of all the usermodes which are available for use.";
	" -";
	" ==---------------------------oOo---------------------------==";
	" o = Global IRC Operator";
	" O = Local IRC Operator";
	" a = Is a Services Administrator";
	" A = Is a Server Administrator";
	" N = Is a Network Administrator";
	" C = Is a Co Administrator";
	" -";
	" d = Makes it so you can not receive channel PRIVMSGs (Deaf)";
	" g = Can read & send to GlobOps, and LocOps";
	" h = Available for Help (Help Operator)";
	" i = Invisible (Not shown in /WHO searches)";
	" p = Hide all channels in /whois and /who";
	" q = Only U:lines can kick you (Services Admins/Net Admins only)";
	" r = Identifies the nick as being Registered (settable by services only)";
	" s = Can listen to Server notices";
	" t = Says that you are using a /VHOST";
	" v = Receive infected DCC send rejection notices";
	" w = Can listen to Wallop messages";
	" x = Gives the user Hidden Hostname (security)";
	" z = Marks the client as being on a Secure Connection (SSL)";
	" B = Marks you as being a Bot";
	" G = Filters out all Bad words in your messages with <censored>";
	" H = Hide IRCop status in /WHO and /WHOIS. (IRC Operators only)";
	" R = Allows you to only receive PRIVMSGs/NOTICEs from registered (+r) users";
	" S = For Services only. (Protects them)";
	" T = Prevents you from receiving CTCPs";
	" V = Marks the client as a WebTV user";
	" W = Lets you see when people do a /WHOIS on you (IRC Operators only)";
	" ==---------------------------oOo---------------------------==";
};

help Snomasks {
	" Snomask stands for 'Service NOtice MASK', it (mainly) controls which";
	" server notices you will receive.";
	" Usage: /MODE nick +s <snomask>";
	"    Ex: /MODE blah +s +cF-j";
	" The parameter specifies which snomasks you want (or don't want)."
	" You can also remove all snomasks by simply doing /MODE nick -s.";
	"-";
	" Below is a list of possible snomasks:";
	" ==-------------------------oOo-----------------------==";
	" c = View connects/disconnects on local server";
	" e = View 'Eyes' server messages (OperOverride, /CHG* and /SET* usage, ..)";
	" f = View flood alerts";
	" F = View connects/disconnects on remote servers (except U-lines)";
	" G = View TKL notices (Gline, GZline, Shun, etc)";
	" j = View Junk notices (not recommended for normal use)";
	" k = View KILL notices";
	" n = View nick changes on local server";
	" N = View nick changes on remote servers";
	" q = View rejected nick changes due to Q:lines";
	" S = View spamfilter matches";
	" v = View usage of /VHOST command";
	" ==-------------------------oOo------------------------==";
};

help Chmodes {
	" This section lists all of the possible channel modes that may be used with /MODE";
	" -";
	" ==------------------------------oOo----------------------------==";
	" v <nickname> = Gives Voice to the user (May talk if chan is +m)";
	" h <nickname> = Gives HalfOp status to the user (Limited op access)";
	" o <nickname> = Gives Operator status to the user";
	" a <nickname> = Gives Channel Admin to the user";
	" q <nickname> = Gives Owner status to the user";
	" -";
	" b <nick!ident@host> = Bans the nick!ident@host from the channel [h]";
	" c = Block messages containing mIRC color codes [o]";
	" e <nick!ident@host> = Overrides a ban for matching users [h]";
	" f [*]<lines>:<seconds> = Flood protection [o]";
	" (Users will be kicked after saying <lines> in <seconds> and banned if * is specified)";
	" i = A user must be invited to join the channel [h]";
	" k <key> = Users must specify <key> to join [h]";
	" l <number of max users> = Channel may hold at most <number> of users [o]";
	" m = Moderated channel (only +vhoaq users may speak) [h]";
	" n = Users outside the channel can not send PRIVMSGs to the channel [h]";
	" p = Private channel [o]";
	" r = The channel is registered (settable by services only)";
	" s = Secret channel [o]";
	" t = Only +hoaq may change the topic [h]";
	" z = Only Clients on a Secure Connection (SSL) can join [o]";
	" A = Server/Net Admin only channel (settable by Admins)";
	" C = No CTCPs allowed in the channel [o]";
	" G = Filters out all Bad words in messages with <censored> [o]";
	" M = Must be using a registered nick (+r) to talk [o]";
	" K = /KNOCK is not allowed [o]";
	" L <chan2> = Channel link (If +l is full, the next user will auto-join <chan2>) [q]";
	" N = No Nickname changes are permitted in the channel [o]";
	" O = IRC Operator only channel (settable by IRCops)";
	" Q = No kicks allowed [o]";
	" R = Only registered (+r) users may join the channel [o]";
	" S = Strips mIRC color codes [o]";
	" T = No NOTICEs allowed in the channel [o]";
	" V = /INVITE is not allowed [o]";
	" u = Auditorium mode (/names and /who #channel only show channel ops) [q]";
	" -";
	" [h] requires at least halfop, [o] requires at least chanop, [q] requires owner";
	" ==------------------------------oOo----------------------------==";
};

help Oflags {
	" Here you will find the flags that can be placed inside of the O:Lines";
	" -";
	" ==----------------------oOo--------------------==";
	" o = Local Operator";
	" O = Global Operator";
	" a = Gets +a on oper up. Is Services Administrator";
	" A = Gets +A on oper up. Is Server Administrator";
	" C = Gets +C on oper up. Is Co Administrator";
	" N = Gets +N on oper up. Is Network Administrator";
	" -";
	" r = Access to /REHASH server";
	" R = Access to /RESTART server";
	" D = Access to /DIE server";
	" h = Oper receives umode +h (helpop)";
	" g = Oper can send /GLOBOPS";
	" w = Oper can send /WALLOPS";
	" n = Oper can send Local Server Notices";
	" G = Oper can send Global Server Notices";
	" c = Access to do local /SQUITs and /CONNECTs";
	" L = Access to do global /SQUITs and /CONNECTs";
	" k = Access to do local /KILLs";
	" K = Access to do global /KILLs";
	" b = Oper can /KLINE users from server";
	" B = Oper can remove Klines";
	" z = Can add Z:Lines";
	" Z = Can add global Z:Lines";
	" t = Can use /GLINE and /SHUN";
	" v = Can use OperOverride";
	" q = Can use +q";
	" H = Gets +x on oper up";
	" W = Gets +W on oper up";
	" ==----------------------oOo--------------------==";
};


help Nick {
	" Changes your \"Online Identity\" on a server.";
	" All those in the channel you are in will be";
	" alerted of your nickname change.";
	" -";
	" Syntax:  NICK <new nickname>";
	" Example: NICK hAtbLaDe";
};

help Whois {
	" Shows information about the user in question,";
	" such as their \"Name\", channels they are";
	" currently in, their hostmask, etc.";
	" -";
	" Syntax:  WHOIS <user>";
	" Example: WHOIS hAtbLaDe";
};

help Who {
	" Retrieves information about users";
	" -";
	" Syntax:";
	" /WHO [+|-][acghmnsuCM] [args]";
	" Flags are specified like channel modes, the flags cgmnsu all have arguments";
	" Flags are set to a positive check by +, a negative check by -";
	" The flags available:";
	" Flag a: user is away";
	" Flag c <channel>: user is on <channel>, no wildcards accepted";
	" Flag g <gcos/realname>: user has string <gcos> in their GCOS,";
	" wildcards accepted, oper only";
	" Flag h <host>: user has string <host> in their hostname, wildcards are accepted";
	" Flag m <usermodes>: user has <usermodes> set on them, only o/A/a for nonopers";
	" Flag n <nick>: user has string <nick> in their nickname, wildcards accepted";
	" Flag s <server>: user is on server <server>, wildcards not accepted";
	" Flag u <user>: user has string <user> in their username, wildcards accepted";
	" Behavior flags:";
	" Flag C: show first visible channel user is in";
	" Flag M: check for user in channels I am a member of";
	" -";
	" For backwards compatibility, /who 0 o still shows +o users";
	" Example: WHO +m o";
};

help Whowas {
	" Retrieves previous WHOIS information for users";
	" no longer connected to the server.";
	" -";
	" Syntax:  WHOWAS <nickname>";
	"  WHOWAS <nickname> <max number of replies>";
	" Example: WHOWAS hAtbLaDe";
};

help Cycle {
	" Cycles the given channel(s). This command is equivilent";
	" to sending a PART then a JOIN command.";
	" -";
	" Syntax:  CYCLE <chan1>,<chan2>,<chan3>";
	" Example: CYCLE #help";
	" Example: CYCLE #main,#chat";
};

help Dns {
	" Returns information about the IRC server's DNS cache.";
	" Note, since most clients have a builtin DNS command,";
	" you will most likely need to use /raw DNS to use this.";
	" There are also 2 other variants:";
	" 'DNS l' will show you the DNS cache entries";
	" 'DNS i' will give you details about the nameserver config";
	" -";
	"Syntax: DNS [option]";
};

help Names {
	" Provides a list of users on the specified channel.";
	" -";
	"Syntax:  NAMES <channel>";
	"Example: NAMES #Support";
};

help Ison { 
	" Used to determine if certain user(s) are";
	" currently online based upon their nickname.";
	" -";
	" Syntax:  ISON <user> <user2> <user3> <user4>";
	" Example: ISON hAtbLaDe Stskeeps OperServ AOLBot";
};

help Join { 
	" Used to enter one or more channels on an IRC server.";
	" All occupants of the channel will be notified of your arrival.";
	" JOIN with 0 as a parameter makes you Part all channels.";
	" If you specify one or more keys, they will be used to join a +k channel";
	" -";
	" Syntax:  JOIN <chan>,<chan2>,<chan3> <key1>,<key2>,<key3>";
	"  JOIN 0 (Parts all channels)";
	" Example: JOIN #Support";
	"          JOIN #Lobby,#IRCd";
	"          JOIN #IRCd,#Support,#main letmein,somepass,anotherpass";
};

help Part {
	" Used to part (or leave) a channel you currently occupy.";
	" All those in the channel will be notified of your departure.";
	" If you specify a reason it will be displayed to the users on the channel";
	" -";
	" Syntax:  PART <chan>,<chan2>,<chan3>,<chan4> <reason>";
	" Example: PART #Support";
	"          PART #Lobby,#IRCd See ya later!";
};

help Motd {
	" Displays the Message Of The Day of the IRC Server you are logged onto.";
	" -";
	" Syntax: MOTD";
	"         MOTD <server>";
};

help Rules {
	" Shows you the Rules of the Network.";
	" -";
	" Syntax: RULES";
	"         RULES <server>";
};

help Lusers {
	" Provides Local and Global user information";
	" (Such as Current and Maximum user count).";
	" -";
	" Syntax: LUSERS [server]";
};

help Map {
	" Provides a graphical \"Network Map\" of the IRC network.";
	" Mainly used for routing purposes.";
	" -";
	" Syntax: MAP";
};

help Quit {
	" Disconnects you from the IRC server. Those in the";
	" channels you occupy will be notified of your departure.";
	" If you do not specify a reason, your nickname becomes the reason.";
	" -";
	" Syntax:  QUIT <reason>";
	" Example: QUIT Leaving!";
};

help Ping {
	" The PING command is used to test the presence of an active client or";
	" server at the other end of the connection.  Servers send a PING";
	" message at regular intervals if no other activity detected coming";
	" from a connection.  If a connection fails to respond to a PING";
	" message within a set amount of time, that connection is closed. A";
	" PING message MAY be sent even if the connection is active.";
	" Note that this is different from a CTCP PING command..";
	" -";
	" Syntax:  PING <server> <server2>";
	" Example: PING irc.fyremoon.net";
	"          PING hAtbLaDe";
	"          PING hAtbLaDe irc2.dynam.ac";
};

help Pong {
	" PONG message is a reply to PING message.  If parameter <server2> is";
	" given, this message will be forwarded to given target.  The <server>";
	" parameter is the name of the entity who has responded to PING message";
	" and generated this message.";
	" -";
	" Syntax:  PONG <server> <server2>";
	" Example: PONG irc.fyremoon.net irc2.dynam.ac";
	"          (PONG message from irc.fyremoon.net to irc2.dynam.ac)";
};

help Version {
	" Provides Version information of the IRCd software in usage.";
	" -";
	" Syntax: VERSION";
	"         VERSION <server>";
};

help Stats {
	" Provides certain Statistical information about the server";
	" -";
	" Syntax:  STATS <flags>";
	" Example: STATS u";
	" -";
	" Type /stats without parameters to get a list of available flags.";
};

help Links {
	" Lists all of the servers currently linked to the network.";
	" Only IRCops can see linked U:lined servers.";
	" -";
	" Syntax: LINKS";
};

help Admin {
	" Provides Administrative information regarding the server.";
	" -";
	" Syntax: ADMIN";
	"         ADMIN <server>";
};

help Userhost {
	" Returns the userhost of the user in question.";
	" Usually used by scripts or bots.";
	" -";
	" Syntax:  USERHOST <nickname>";
	" Example: USERHOST hAtbLaDe";
};

help Topic {
	" Sets/Changes the topic of the channel in question,";
	" or just display the current Topic.";
	" -";
	" Syntax:  TOPIC <channel> (Displays the current topic)";
	"          TOPIC <channel> <topic> (Changes topic)";
	" Example: TOPIC #Operhelp";
	"          TOPIC #Lobby Welcome to #Lobby!!";
};

help Invite {
	" Sends a user an Invitation to join a particular channel.";
	" You must be an Operator on the channel in order to";
	" invite a user into it.";
	" -";
	" Syntax:  INVITE <user> <channel>";
	" Example: INVITE hAtbLaDe #Support";
};

help Kick {
	" Removes a user from a channel. Can only be used by Operators";
	" or Half-Ops. If no reason is specified, your nickname becomes the reason.";
	" -";
	" Syntax:  KICK <channel> <user> [reason]";
	" Example: KICK #Lobby foobar Lamer..";
};

help Away {
	" Sets your online status to \"Away\".";
	" -";
	" Syntax:  AWAY <reason> (Sets you Away with the reason given)";
	"          AWAY (Un-Sets you as Away)";
	" Example: AWAY Lunch time!";
};

help Watch {
	" Watch is a notify-type system on the server which is both faster";
	" and uses less network resources than any old-style notify";
	" system. The server will send you a message when any nickname";
	" in your watch list logs on or off.";
	" The watch list DOES NOT REMAIN BETWEEN SESSIONS - You (or your";
	" script or client) must add the nicknames to your watch list every";
	" time you connect to an IRC server.";
	" -";
	" Syntax: WATCH +nick1 +nick2 +nick3 (Add nicknames)";
	"         WATCH -nick (Delete nicknames)";
	"         WATCH (View the watchlist)";
};

help List {
	" Provides a complete listing of all channels on the network.";
	" If a search string is specified, it will only show those";
	" matching the search string.";
	" -";
	" Syntax:  LIST <search string>";
	" Example: LIST";
	"          LIST *ircd*";
	" -";
	" Some additional flags are also supported.";
	" >number  List channels with more than <number> people";
	" <number  List channels with less than <number> people";
	" !*mask*  List channels that do not match *mask*";
	" -";
	" Any of those may be used instead of a standard mask.";
};

help Privmsg {
	" Send a message to a user, channel or server.";
	" /PRIVMSG <nick> <text>";
	"  Send a private message.";
	"  Ex: /PRIVMSG Blah hi, how are you?";
	" /PRIVMSG <#channel> <text>";
	"  Send a message to a channel.";
	"  Ex: /PRIVMSG #room Hi all";
	" /PRIVMSG <prefix><#channel> <text>";
	"  Send a message to users with <prefix> and higher in <#channel> only";
	"  Ex: /PRIVMSG @#room This goes to +oaq";
	"      /PRIVMSG +#room This goes to +vhoaq";
	"  NOTE: You need at least voice in order to send to +#chan/%#chan/@#chan";
	"        and at least ops to send to &#chan/~#chan.";
	" /PRIVMSG $<mask> <text>";
	"  Send a message to all users on servers matching <mask> [Oper only]";
	"  This is shown in the status window by most clients.";
	"  Ex: /PRIVMSG $*.mynet.net We will be upgrading our net in the next hour";
	"  Note that in most cases services (/OS GLOBAL) is a better alternative.";
	" -";
	" Multiple targets are also supported, like /PRIVMSG <nick1>,<nick2>,<nick3>.";
	" -";
	" NOTE: In case of some old clients (eg: ircII) you cannot use /msg";
	" or /privmsg to use any of the 'advanced features', you'll then have to use:";
	" '/QUOTE PRIVMSG @#channel blah' or something similar.";
};

help Notice {
	" Send a notice to a user, channel or server.";
	" /NOTICE <nick> <text>";
	"  Send a notice to a user.";
	"  Ex: /NOTICE Blah hi, how are you?";
	" /NOTICE <#channel> <text>";
	"  Send a notice to a channel.";
	"  Ex: /NOTICE #room Hi all, this is annoying";
	" /NOTICE <prefix><#channel> <text>";
	"  Send a notice to users with <prefix> and higher in <#channel> only";
	"  Ex: /NOTICE @#room This goes to +oaq";
	"      /NOTICE +#room This goes to +vhoaq";
	"  NOTE: You need at least voice in order to send to +#chan/%#chan/@#chan";
	"        and at least ops to send to &#chan/~#chan.";
	" /NOTICE $<mask> <text>";
	"  Send a notice to all users on servers matching <mask> [Oper only]";
	"  This is shown in the status window by most clients.";
	"  Ex: /NOTICE $*.mynet.net We will be upgrading our net in the next hour";
	"  Note that in most cases services (/OS GLOBAL) is a better alternative.";
	" -";
	" Multiple targets are also supported, like /NOTICE <nick1>,<nick2>,<nick3>.";
	" -";
	" NOTE: In case of some old clients (eg: ircII) you cannot use /notice";
	" to use any of the 'advanced features', you'll then have to use:";
	" '/QUOTE NOTICE @#channel blah' or something similar.";
};

help Knock {
	" For channels which are invite only, you can \"Knock\" on the";
	" channel to request an invite.";
	" -";
	" Syntax:  KNOCK <channel> <message>";
	" Example: KNOCK #secret_chan I'm an op, let me in!";
};

help Setname {
	" Allows users to change their \"Real name\" (GECOS)";
	" directly online at IRC without reconnecting";
	" -";
	" Syntax: SETNAME <New Real Name>";
};

help Vhost {
	" Hides your real hostname with a virtual hostname";
	" provided by the IRC server , using SETHOST.";
	" -";
	" Synatx:  VHOST <login> <password>";
	" Example: VHOST openbsd ilovecypto";
};

help Mode {
	" Sets a mode on a Channel or User.";
	" Use /HELPOP CHMODES or /HELPOP UMODES to see a list of Modes";
	" -";
	" Syntax:  MODE <channel/user> <mode>";
	" Example: MODE #Support +tn";
	"          MODE #Support +ootn hAtbLaDe XYZ";
};

help Credits {
	" This command will list the Credits to all the people who";
	" helped create UnrealIRCd.";
	" -";
	" Syntax: CREDITS";
	"         CREDITS <server>";
};

help Dalinfo {
	" This command will show historical credits (from ircu, etc..)";
	" -";
	" Syntax: DALINFO";
	" Syntax: DALINFO <server>";
};

help License {
	" This command displays information about the license UnrealIRCd is released under.";
	" Syntax: LICENSE";
	"         LICENSE <server>";
};

help Time {
	" Displays the current Server Date and Time.";
	" -";
	" Syntax : TIME";
	"          TIME <server>";
};

help Silence {
	" Ignores messages from a user or list of users at the Server itself.";
	" -";
	" Syntax: SILENCE +nickname (Adds a nickname to SILENCE list)";
	"         SILENCE -nickname (Removes a nickname from the SILENCE list)";
	"         SILENCE           (Lists the current SILENCE list)";
};

help Oper {
	" Attempts to give a user IRC Operator status.";
	" (Lets the IRCop opper up)";
	" -";
	" Syntax:  OPER <uid> <password>";
	" Note: both uid and password are case sensitive";
	" Example: OPER hAtbLaDe foobar234";
};

help Wallops {
	" Sends a \"Message\" to all those with the umode +w.";
	" Only IRCops can send Wallops, while anyone with the mode +w";
	" can view them.";
	" -";
	" Syntax: WALLOPS <message>";
};

help Globops {
	" Sends a global \"Message\" to all IRCops. Only viewable by IRCops";
	" (unlike WALLOPS, which can be viewed by normal users).";
	" -";
	" Syntax:  GLOBOPS <message>";
	" Example: GLOBOPS Lets get em clones ..";
};

help Locops {
	" Sends a message to all IRCops at this server (local).";
	" -";
	" Syntax:  LOCOPS <message>";
	" Example: LOCOPS Gonna k:line that user ...";
};

help Chatops {
	" Sends a message to all ircops (global).";
	" -";
	" Syntax:  CHATOPS <message>";
	" Example: CHATOPS Gonna k:line that user ...";
};

help Adchat {
	" Sends a message to all online Admins";
	" -";
	" Syntax:  ADCHAT <text>";
	" Example: ADCHAT Hey guys! I'm finally here.";
};

help Nachat {
	" Sends a message to all online NetAdmins";
	" -";
	" Syntax:  NACHAT <text>";
	" Example: NACHAT Hey guys! How is everything?";
};

help Kill {
	" Forcefully Disconnects a user from an IRC Server.";
	" IRC Operator only command.";
	" -";
	" Syntax:  KILL <user> <reason>";
	" Example: KILL Jack16 Cloning is not allowed";
};

help Kline {
	" This command provides timed K:Lines. If you match a K:Line you cannot";
	" connect to the server";
	" A time of 0 in the KLINE makes it permanent (Never Expires).";
	" You may also specify the time in the format 1d10h15m30s.";
	" IRC Operator only command.";
	" -";
	" Syntax:  KLINE <hostmask or nick> [time] <reason> (adds a Kline)";
	"          KLINE -<hostmask> (removes a Kline)";
	" Example: KLINE *@*.aol.com Abuse (Adds a permanent K:line)";
	"          KLINE *@*.someisp.com 2d Abuse (Adds a K:line for 2 days)";
	"          KLINE Idiot 1d Please go away";
	"          KLINE -*@*.aol.com";
};

help Zline {
	" This command provides timed Z:Lines. If you match a Z:Line you cannot";
	" connect to the server";
	" A time of 0 in the ZLINE makes it permanent (Never Expires).";
	" You may also specify the time in the format 1d10h15m30s.";
	" IRC Operator only command.";
	" -";
	" Syntax:  ZLINE <*@ipmask> [time] <reason> (adds a Zline)";
	"          ZLINE -<*@ipmask> (removes a Zline)";
	" Example: ZLINE *@127.0.0.1 Abuse (Adds a permanent Z:line)";
	"          ZLINE *@127.0.0.1 2d Abuse (Adds a Z:line for 2 days)";
	"          ZLINE -*@127.0.0.1";
	" NOTE: requires the can_zline oper flag";
};

help Gline {
	" This command provides timed G:Lines. If you match a G:Line you cannot";
	" connect to ANY server on the IRC network";
	" A time of 0 in the GLINE makes it permanent (Never Expires).";
	" You may also specify the time in the format 1d10h15m30s.";
	" IRC Operator only command.";
	" -";
	" Syntax:  GLINE <user@host mask or nick> [time] <reason>";
	"  (Adds a G:line for user@host)";
	"          GLINE -<user@host mask> (Removes a G:line for user@host)";
	" Example: GLINE *@*.idiot.net 900 Spammers (Adds a 15 min G:line)";
	"          GLINE *@*.idiot.net 1d5h Spammers (Adds a 29 hour G:line)";
	"          GLINE Idiot 1d Abuse";
	"          GLINE -*@*.idiot.net";
	" NOTE: requires the can_gkline oper flag";
};

help Shun {
	" Prevents a user from executing ANY command except ADMIN";
	" and respond to Server Pings. Shuns are global (like glines).";
	" A time of 0 in the SHUN makes it permanent (Never Expires).";
	" You may also specify the time in the format 1d10h15m30s.";
	" IRC Operator only command.";
	" -");
	" Syntax:  SHUN <nickname> <time> :<Reason> (Shun the nickname for time in seconds)";
	"          SHUN +<user@host> <time> :<Reason>(Shun the user@host for time in seconds)";
	"          SHUN -<user@host> (Removes the SHUN for user@host)";
	"          SHUN (View the current SHUN list)";
	" -";
	" Example: SHUN +foobar@aol.com 600 :Spamming";
	"  (Shuns foobar@aol.com for 10 mins for Spamming)";
	"          SHUN +foobar@aol.com 1d6h :Spamming (Adds a 30 hour SHUN)";
	" NOTE: requires the can_gkline oper flag";
};

help Gzline {
	" This command provides timed global Z:line. If you match a Global Z:Line you cannot";
	" connect to ANY server on the IRC network";
	" A time of 0 in the GZLINE makes it permanent (Never Expires).";
	" You may also specify the time in the format 1d10h15m30s.";
	" IRC Operator only command.";
	" -";
	" Syntax:  GZLINE <*@ipmask> <seconds to be banned> :<reason>";
	"  (Adds a Global Z:line for *@ipmask)";
	"          GZLINE -<*@ipmask> (Removes a Global Z:line for *@ipmask)";
	" Example: GZLINE *@4.16.200.* 900 Spammers (Adds a 15 min Global Z:line)";
	"          GZLINE *@4.16.200.* 1d5h Spammers (Adds a 29 hour Global Z:line)";
	" NOTE: requires the can_gzline oper flag";
};

help Akill {
	" Adds an Autokill for the specific host mask. This prevents";
	" any user from that hostmask from connecting to the network.";
	" THIS IS A DEPRICATED COMMAND AND ONLY ACCEPTED FROM SERVERS";
	" -";
	" Syntax:  AKILL <user@host> :<Reason>";
	" Example: AKILL foo@aol.com :Spammers!";
};

help Rakill {
	" Removes an AKILL that was previously set.";
	" THIS IS A DEPRICATED COMMAND AND ONLY ACCEPTED FROM SERVERS";
	" -";
	" Syntax: RAKILL <user@host>";
};

help Rehash {
	" Prompts the server to reread the configuration files.";
	" IRC Operator only command.";
	" -";
	" Syntax: REHASH <servername> -<flags>";
	"         REHASH -<flags>";
	" -";
	" If servername and flags are not specified this rehashes the";
	" unrealircd.conf , removing any temporary k:lines.";
	" If servername is specified, this is used to rehash config files on servername.";
	" Only NetAdmins may specify a server name.";
	" -";
	" The flags are used to rehash other config files, valid flags are:";
	"  -motd     - Rehashes all MOTD files and RULES files (including tld{})";
	"  -opermotd - Rehashes the OPERMOTD";
	"  -botmotd  - Rehashes the BOTMOTD";
	"  -garbage  - Force garbage collection";
};

help Restart {
	" Kills and Restarts the IRC daemon, disconnecting all users";
	" currently on that server.";
	" IRC Operator only command.";
	" -";
	" Syntax: RESTART";
	"         RESTART <password>";
	"         RESTART <server> <password>";
};

help Die {
	" Kills the IRC daemon, disconnecting all users currently on that server.";
	" IRC Operator only command.";
	" -";
	" Syntax: DIE";
	"         DIE <password>";
};

help Lag {
	" This command is like a Traceroute for IRC servers";
	" You type in /LAG irc.fyremoon.net and it will";
	" reply from every server it passes with time and so on";
	" Useful for looking where lag is and optional TS future/past travels";
	" -";
	" Syntax: LAG <server>";
};

help Sethost {
	" This command is so you can change your Virtual host (Vhost)";
	" to anything you want, except special characters.";
	" IRC Operator only command.";
	" -";
	" Syntax:  SETHOST <new hostname>";
	" Example: SETHOST i.have.hairy.armpits";
};

help Setident {
	" With this command you can change your Ident (Username).";
	" IRC Operator only command.";
	" -";
	" Syntax:  SETIDENT <new ident>";
	" Example: SETIDENT l33t";
};

help Chghost {
	" Changes the hostname of a user currently on the IRC network.";
	" IRC Operator only command.";
	" -";
	" Syntax:  CHGHOST <nick> <host>";
	" Example: CHGHOST hAtbLaDe root.me.com";
};

help Chgident {
	" Changes the Ident of a user currently on the IRC network.";
	" IRC Operator only command.";
	" -";
	" Syntax:  CHGIDENT <nick> <ident>";
	" Example: CHGIDENT hAtbLaDe sheep";
};

help Chgname {
	" Changes the \"IRC Name\" (or \"Real Name\") of a user currently on the IRC network.";
	" IRC Operator only command.";
	" -";
	" Syntax:  CHGNAME <nick> <name>";
	" Example: CHGNAME hAtbLaDe Gotta new name :)";
};

help Squit {
	" Disconnects an IRC Server from the network.";
	" Usually used in routing of servers.";
	" IRC Operator only command.";
	" -";
	" Syntax:  SQUIT <server>";
	" Example: SQUIT leaf.*";
};

help Connect {
	" Links another IRC server to the one you are currently on.";
	" Remote connections are also possible.";
	" IRC Operator only command.";
	" -";
	" Syntax:  CONNECT <server> [port]";
	"          CONNECT <leaf> <port> <hub>";
	" Example: CONNECT leaf.*";
	"          CONNECT leaf.* 6667 hub.*";
};

help Dccdeny {
	" Adds a DCC Deny for that Filename mask. This means that any";
	" DCC sends of Files matching that Filename mask will be rejected.";
	" IRC Operator only command.";
	" -";
	" Syntax: DCCDENY <filename mask> <reason>";
};

help Undccdeny {
	" If the EXACT file you type is found it is removed, else it uses wildcards to search";
	" IRC Operator only command.";
	" -";
	" Syntax: UNDCCDENY <filename mask>";
};

help Sajoin {
	" Forces a user to join a channel.";
	" Services Admin Command";
	" -";
	" Syntax:  SAJOIN <nick> <channel>,[<channel2>..]";
	" Example: SAJOIN hAtbLaDe #OperHelp";
	"          SAJOIN hAtbLaDe #Support,#IRCHelp";
};

help Sapart {
	" Forces a user to part a channel.";
	" Services Admin Command";
	" -";
	" Syntax:  SAPART <nick> <channel>,[<channel2>..]";
	" Example: SAPART hAtbLaDe #OperHelp";
	"          SAPART hAtbLaDe #Support,#IRCHelp";
};

help Samode {
	" Allows a Services Administrator to change the mode on a channel,";
	" without having Operator status.";
	" Services Admin Command";
	" -";
	" Syntax:  SAMODE <channel> <mode>";
	" Example: SAMODE #Support +m";
};

help Rping {
	" This will calculate the Lag (In milliseconds) between servers";
	" -";
	" Syntax: RPING <servermask>";
};

help Trace {
	" You can use TRACE on servers or users.";
	" When used on a user it will give you class and lag info.";
	" If you use it on a server it gives you class/version/link info.";
	" Sometimes TRACE can be confusing, especially if you are using";
	" it for the first time.";
	" -";
	" Syntax:  TRACE <servername|nickname>";
	" Example: TRACE irc.fyremoon.net";
};

help Opermotd {
	" Shows the IRCd Operator MOTD";
	" IRC Operator only command.";
	" -";
	" Syntax: OPERMOTD";
};

help Sdesc {
	" With this command you can change your Server Info Line";
	" Without having to squit and reconnect.";
	" This is a Server Admin/Co Admin only command";
	" -";
	" Syntax:  SDESC <New description>";
	" Example: SDESC Fly High, Fly Free";
};

help Mkpasswd {
	" This command will Encrypt the string it has been given";
	" So you can add it directly to the unrealircd.conf if you use";
	" Encrypted passwords. Type can be crypt, sha1, or md5. Sha1";
	" and md5 are only available when compiled with SSL support.";
	" -";
	" Syntax:  MKPASSWD <method> <password>";
	" Example: MKPASSWD crypt mpsare";
};

help Module {
	" This will give you a list of all modules loaded.";
	" Depending on whether you are a normal user or an oper";
	" it will give different output.";
	" -- normal user: --";
	" Syntax of command: MODULE";
	" Output of command: *** name - (description) [3RD]";
	" the [3RD] flag is present if it's an 3rd party module.";
	" -- ircop: -- ";
	" Syntax of command: MODULE [server]";
	" Output of command: *** name - version (description) [optional flags]";
	" flags can be:";
	" [PERM]: permanent module (not possible to unload/reload)";
	" [Unloading]: module is in the process of unloading";
	" [3RD] 3rd party module";
	" [OLD?] Lacking Mod_Version, forgot to recompile an old beta* module?";
	" Additionally you'll see a list of which hooks and command";
	" overrides are present (the hook number can be looked up in";
	" include/modules.h).";
};

help Close {
	" This command will disconnect all unknown connections from the";
	" IRC server.";
	" -";
	" Syntax:  CLOSE";
};

help Tsctl {
	" This is a highly advanced command used to Adjust the";
	" Internal IRC clock.";
	" IRC Operator only command.";
	" -";
	" Syntax: TSCTL OFFSET +|- <time> (Adjust internal IRC clock)";
	"         TSCTL TIME (Will give TS report)";
	"         TSCTL ALLTIME (Shows the TS report of all server)";
	"         TSCTL SVSTIME <timestamp> (Sets the Time on all Servers)";
};

help Htm {
	" Switches the server In & Out of High Traffic Mode";
	" HTM is activated when the server is receiving extremely high amounts of information.";
	" IRC Operator only command.";
	" -";
	" Syntax: HTM [option]";
	" -";
	" If no option is specified it just displays the current HTM state";
	" If an option is specified it does a more specific task, valid options are:";
	" -";
	" ON    - Force HTM to activate";
	" OFF   - Force HTM to deactivate";
	" NOISY - Make HTM announce when it is entering/leaving HTM";
	" QUIET - Stop HTM from announcing when it is entering/leaving HTM";
	" TO <value> - Tell HTM at what incoming rate to activate HTM";
};

help Svsnick {
	" Changes the nickname of the user in question.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSNICK <nickname> <new nickname> <timestamp>";
	" Example: SVSNICK hAtbLaDe Foobar 963086432";
};

help Svsmode {
	" Changes the mode of the User in question.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSMODE <nickname> <usermode>";
	" Example: SVSMODE hAtbLaDe +i";
};

help Svskill {
	" Forcefully disconnects a user from the network.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSKILL <user> :<reason>";
	" Example: SVSKILL Lamer21 :Goodbye";
};

help Svsnoop {
	" Enables or disables whether Global IRCop functions";
	" exist on the server in question or not.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSNOOP <server> <+/->";
	" Example: SVSNOOP leaf.* -";
};

help Svsjoin {
	" Forces a user to join a channel.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSJOIN <nick> <channel>[,<channel2>..] [key1[,key2[..]]]";
	" Example: SVSJOIN hAtbLaDe #jail";
	"          SVSJOIN hAtbLaDe #jail,#zoo";
};

help Svspart {
	" Forces a user to leave a channel.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSPART <nick> <channel>[,<channel2>..]";
	" Example: SVSPART hAtbLaDe #Hanson";
	"          SVSPART hAtbLaDe #Hanson,#AOL";
};

help Svso {
	" Gives nick Operflags like the ones in O:lines.";
	" Remember to set SVSMODE +o and alike.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSO <nick> <+operflags> (Adds the Operflags)";
	"          SVSO <nick> - (Removes all O:Line flags)";
	" Example: SVSO SomeNick +bBkK";
};

help Swhois {
	" Changes the WHOIS message of the Nickname.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SWHOIS <nick> :<message> (Sets the SWHOIS)";
	"          SWHOIS <nick> :  (Resets the SWHOIS)";
	" Example: SWHOIS SomeNick :is a lamer";
};

help Sqline {
	" Bans a Nickname or a certain Nickname mask from the Server.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SQLINE <nickmask> :<Reason>";
	" Example: SQLINE *Bot* :No bots";
};

help Unsqline {
	" Un-Bans a Nickname or Nickname mask";
	" Must be sent through an U:Lined server.";
	" -";
	" Synax:  UNSQLINE <nickmask>";
	" Example: UNSQLINE *Bot*";
};

help Svs2mode {
	" Changes the Usermode of a nickname and displays";
	" the change to the user.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVS2MODE <nickname> <usermodes>";
	" Example: SVS2MODE hAtbLaDe +h";
};

help Svsfline {
	" Adds the given Filename mask to DCCDENY";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax: :server SVSFLINE + file :reason (Add the filename)";
	"         :server SVSFLINE - file (Deletes the filename)";
	"         :server SVSFLINE *      (Wipes the DCCDENY list)";
};

help Svsmotd {
	"Changes the Services Message Of The Day";
	"Must be sent through an U:Lined server.";
	"Syntax:  SVSMOTD # :<text> (Adds to Services MOTD)";
	"         SVSMOTD !         (Deletes the MOTD)";
	"         SVSMOTD ! :<text> (Deletes and Adds text)";
	"Example: SVSMOTD # :Services MOTD";
};

help Svsnline {
	" Adds a global realname ban.";
	" Must be sent through an U:Lined server.";
	" The reason must be a single parameter therefore";
	" spaces are indicated by _, Unreal will internally";
	" translate these to spaces";
	" -";
	" Syntax:  SVSNLINE +/- <reason_for_ban> :<realname>";
	" Example: SVSNLINE + sub7_drone :*sub7*";
};

help Svslusers {
	" Changes the global and/or local maximum user count";
	" for a server. If -1 is specified for either of the";
	" values, the current value is kept.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSLUSERS <server> <globalmax|-1> <localmax|-1>";
	" Example: SVSLUSERS irc.test.com -1 200";
};

help Svswatch {
	" Changes the WATCH list of a user.";
	" Must be sent trough an U:Lined server.";
	" Syntax: SVSWATCH <nick> :<watch parameters>";
	" Example: SVSWATCH Blah :+Blih!*@* +Bluh!*@* +Bleh!*@*.com";
};

help Svssilence {
	" Changes the SILENCE list of a user.";
	" Must be sent trough an U:Lined server.";
	" In contrast to the SILENCE command, you can add/remove";
	" multiple entries in one line.";
	" Syntax: SVSSILENCE <nick> :<silence parameters>";
	" Example: SILENCE Blah :+*!*@*.com +*!*@*.bla.co.uk";
};

help Svssno {
	" Changes the snomask of the User in question.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVSSNO <nickname> <snomasks>";
	" Example: SVSSNO joe +Gc";
};

help Svs2sno {
	" Changes the snomask of a nickname and displays";
	" the change to the user.";
	" Must be sent through an U:Lined server.";
	" -";
	" Syntax:  SVS2SNO <nickname> <snomasks>";
	" Example: SVSSNO joe +Gc";
};


help Spamfilter {
	" This command adds/removes global spam filters.";
	" Spamfilters can be used to get rid of spam, advertising, bots, etc.";
	" -";
	" Use: /spamfilter [add|del|remove|+|-] [type] [action] [tkltime] [reason] [regex]";
	" [type]    specifies the target type, you can specify multiple targets:";
	"           'c' channel msg, 'p' private msg, 'n' private notice,";
	"           'N' channel notice, 'P' part msg, 'q' quit msg, 'd' dcc";
	" [action]  specifies the action to be taken (only 1 action can be specified):";
	"           'kill', 'tempshun' (only shun current session), 'shun',";
	"           'kline', 'gline', 'zline', 'gzline', 'block' (blocks the msg),";
	"           'dccblock' (unable to send any dccs), 'viruschan' (part all channels";
	"           and join the virus help chan).";
	" [regex]   this is the actual regex where we should block on";
	" [tkltime] the duration of the *LINEs placed by action (use '-' to use the default";
	"           set::spamfilter::ban-time, this value is ignored for block/tempshun');";
	" [reason]  the reason for the *LINE or blockmsg, CANNOT CONTAIN SPACES,";
	"           '_' will be translated to spaces. Again, if you use '-' for this";
	"           the default (set::spamfilter::ban-reason) is used.";
	" - ";
	" A few examples (note they will probably linewrap!):";
	" /spamfilter add p block - - Come watch me on my webcam";
	" /spamfilter add p block - Possible_virus_detected,_join_#help Come watch me on my webcam";
	" /spamfilter add p tempshun - - You_are_infected me\.mpg";
	" /spamfilter add p gline - - Come watch me on my webcam";
	" /spamfilter add p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam";
	" /spamfilter add p kill - Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam";
	" /spamfilter del p block - - Come watch me on my webcam*";
	" /spamfilter add cN gzline 1d No_advertising_please come to irc\..+\..+";
};

help Tempshun {
	" Add/remove 'temporary shuns'.";
	" Temporary shuns are shuns added on a specified target for ";
	" _the current session only_, this means if the user reconnects";
	" the shun will be gone.";
	" -";
	" Syntax:  TEMPSHUN [+|-]<nickname> [reason]";
	" Example: TEMPSHUN evilguy suspected infection";
	"          TEMPSHUN -niceguy";
};

help DccAllow {
	" For help on the DCCALLOW system, type '/DCCALLOW HELP'";
	/* It would be useless and bad to include it here since that
	 * stuff quickly gets out-of-synch.
	 */
};
