]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/chanserv.help
SGLINE and SSHUN support for some stuff coming soon in Nefarious
[irc/evilnet/x3.git] / src / chanserv.help
index 61ef5f05f4343e9216b73b825522850bcf189647..672c99881f2dea90e2a5a5cbd369e29469ab4edb 100644 (file)
@@ -1,13 +1,17 @@
-"<INDEX>" ("=--------------- $b$C Help$b --------------=",
+"<INDEX>" (
            " Hello there!                           ",
+           " I'm $C, your handy channel services bot.",
+           " $b$b",
            " Please select the area you would like  ",
            " help with from the list below. The     ",
-           " help system  uses the format:          ",
+           " help system uses the format:          ",
            "   $b/MSG $C HELP <$bsubject$b>$b       ",
+           " (In help, words in <> represent required",
+           " parameters. Words in [] are optional.)",
            " For example: $b/msg $C HELP UBM$b      ",
-           " shows help with the UnBanMe command.   ",
-           "=--------------------------------------=",
-           " GENERAL  - How to use $C  ",
+           " shows help with the Un-Ban Me command.   ",
+           "=---------------------------------------=",
+           " GENERAL  - How to get and communicate with $C  ",
            " USER     - Commands to add and remove",
            "            bans, ops and managers from ",
            "            your channel.",
            "            and topic.",
            " INFORMATION - Informative commands.",
            " OPER     - Commands for IRC Operators.",
-           "=--------------------------------------=",
+           "$b$b",
+           "Also see $b/MSG $N HELP$b for getting",
+           "and maintaining your user account."
 );
-"USER"     ("=-- $bUserlist Management Commands:$b ---=",
+"USER"     ("$bUserlist Management Commands:$b",
             " $bUSERS$b       Show the channels userlist.",
             " $bCLIST$b       Show all COOWNERs of a channel.",
             " $bMLIST$b       Show all MANAGERs of a channel.",
             " $bOLIST$b       Show all OPs of a channel.",
             " $bHLIST$b       Show all HALFOPs of a channel.",
-            " $bPLIST$b       Show all PEONs of a channel.",    
-            " $bBANS$b        Show all  $ulasting$u bans in a channel.",
+            " $bPLIST$b       Show all PALs of a channel.",    
+            " $bLAMERS$b      Show all  LAMERs of a channel.",
             " $bACCESS$b      Check someone's access level in a channel.",
             " $bCLVL$b        Change a person's access level in a channel.",
             " $bUSET$b        Set a channel user's options (autos, info).",
             " $bSEEN$b        Find out the last time a user was in a channel.",
             "$b$b",
-            " $bADDPEON$b     Add a user as a PEON in a channel.",
+            " $bADDPAL$b     Add a user as a PAL in a channel.",
             " $bADDHOP$b      Add a user as an HALFOP in a channel.",
             " $bADDOP$b       Add a user as an OP in a channel.",
             " $bADDMANAGER$b  Add a user as a MANAGER in a channel.",
@@ -45,7 +51,7 @@
             " $bMDELMANAGER$b Mass-delete managers with accounts matching a mask.",
             " $bMDELOP$b      Mass-delete ops with accounts matching a mask.",
             " $bMDELHOP$b     Mass-delete halfops with accounts matching a mask.",
-            " $bMDELPEON$b    Mass-delete peons with accounts matching a mask.",
+            " $bMDELPAL$b     Mass-delete pals with accounts matching a mask.",
             " $bDELLAMER$b    Remove the specified lamer from the lamer list.",
             " $bWIPEINFO$b    Remove a lower-ranked user's infoline.",
             " $bTRIM$b        Delete users who are inactive.",
             "$b$b",
             " $bMYACCESS$b    Show all channels where you have access.",
             " $bDELETEME$b    Delete YOURSELF from the userlist.",
-            " $bGIVEOWNERSHIP$b Give away ownership to another user.",
-            "=------------- End of Help ------------="
+            " $bGIVEOWNERSHIP$b Give away ownership to another user."
 );
 
-"CHANNEL"  ("=-------- $bChannel Commands:$b ---------=",
+"CHANNEL"  ("$bChannel Commands:$b",
             " $bSET$b         Change various channel settings.",
             " $bTOPIC$b       Set the current topic, or reset it to the default topic.",
             " $bMODE$b        Change a channel mode.",
@@ -76,7 +81,7 @@
             " $bDEHOP$b       Remove halfops from the specified user.",
             " $bVOICE$b       Give voice to the specified user.",
             " $bDEVOICE$b     Remove voice from the specified user.",
-            " $bRESYNC$b      Synchronize ops and voice with the channel userlist.",
+            " $bRESYNC$b      Synchronize (half)ops and voice with the channel userlist.",
             "$b$b",
             " $bKICK$b        Kick a user from a channel.",
             " $bBAN$b         Ban a user from a channel.",
             " $bUNBANALL$b    Remove all bans from a channel.",
             " $bINVITE$b      Admit a user to pass through +ib modes in your channel.",
             "$b$b",
-            " $bINFO$b        Show numerical information about the users in a channel.",
-            " $bEVENTS$b      View a list of events relevant to a channel.",
-            "=------------- End of Help ------------="
+            " $bINFO$b        Show information about a channel.",
+            " $bEVENTS$b      View a list of events relevant to a channel."
 );
-"INFORMATION"     ("=------- $bInformative Commands:$b ------=",
+"INFORMATION"     ("$bInformative Commands:$b",
+            " $bMYACCESS$b    Show all the channels you have access to.",
             " $bVERSION$b     Check the current running version of $C.",
             " $bNETINFO$b     Check current network-wide information.",
             " $bSTAFF$b       Get a list of all the current staff.",
             " $bHELPERS$b     Get a list of all the current support helpers.",
             " $bPEEK$b        Reveal information on a channel's modes, topic and ops.",
             " $bCOMMAND$b     Display some information about a command.",
-            "=------------- End of Help ------------="
+            " $bINFO$b        Gets channel information about a channel.",
+            " $bEVENTS$b      View a list of events relevant to a channel.",
+            " $b$b ",
+            " $bUSERS$b       Show the channels userlist.",
+            " $bCLIST$b       Show all COOWNERs of a channel.",
+            " $bMLIST$b       Show all MANAGERs of a channel.",
+            " $bOLIST$b       Show all OPs of a channel.",
+            " $bHLIST$b       Show all HALFOPs of a channel.",
+            " $bPLIST$b       Show all PALs of a channel.",    
+            " $bLAMERS$b      Show all  LAMERs of a channel.",
+            " $bACCESS$b      Check someone's access level in a channel.",
 );
-"OPER"     ("=-- $bHelper/IRC Operator commands:$b ---=",
+"OPER"     ("$bHelper/IRC Operator commands:$b",
             " $bGOD$b         Turn security override on/off.",
             " $bOPCHAN$b      Force $C to op itself in a channel.",
             "$b$b",
             " $bCREATENOTE$b  Create a new note type.",
             " $bREMOVENOTE$b  Remove an existing note type.",
             "*$bSAY$b         Have $C say a message in a channel.",
-            "*$bEMOTE$b       Equivalent to $C doing a /me in a channel.",
-            "=------------- End of Help ------------="
+            "*$bEMOTE$b       Equivalent to $C doing a /me in a channel."
 );
 
-"GENERAL"  ("=----------- General Help -------------=",
-            " NOTE: Before using $C or being added   ",
-            " to channel userlists, users must       ",
-            " register  an account with $b$N$b.      ",
-            "  $b/MSG $N help$b for more information ",
+"GENERAL"  (
+           "$b-$N Accounts$b-",
+            " Before using $C or being added to      ",
+            " channel userlists, you and your users  ",
+           " must register an account with $b$N$b.  ",
+            "  $b/MSG $N help$b to learn how. ",
             "$b$b",
+           "$b-Talking to $C-$b",
             " $C uses a standard interface for each  ",
             " command in its command list. Commands  ",
             " can be issued either in /MSG format or ",
             " in a channel which $C is in. These two ",
             " ways are demonstrated below:",
             "  $b/MSG $C OP #chatzone Locke$b",
-            "  $b.OP #chatzone locke$b",
+            "  $b$!OP #chatzone locke$b",
             "$b$b",
             " If a command is given in a channel, and ",
             " the channel parameter is not given, the ",
             " channel that the command was issued in  ",
             " will be used:",
-            " $b.OP locke$b",
+            " $b$!OP locke$b",
             "$b$b",
-            " Some commands, such as $bNETSTATS$b     ",
+            " Some commands, such as $bNETINFO$b     ",
             " don't require a channel. If one is      ",
             " supplied it will be ignored.",
             "$b$b",
             " expected as well.                       ",
             " See $b/msg $C HELP <COMMAND>$b for the  ",
             " exact syntax of each command.           ",
-            "=---------- For more info see ----------=",
+            "=---------- For more info see---------=",
             "     http://www.afternet.org/support     ",
-            "=---------------------------------------="
+            "     http://evilnet.sf.net/x3/x3help.php "
 );
 
-"LOGIN" ("=-- Logging In --=",
+"LOGIN" (
          " Please login using:",
          "   /MSG $N AUTH <account> <password>",
          " or the shortcut:",
          "   /AUTH <account> <password>"
          );
+"LEVELS" ("/msg $S LEVELS",
+        "Lists the numerical level equivelents for channel access levels.",
+        "$b$b",
+        "$S can use either the names (OWNER, COOWNER, MANAGER, OP, HALFOP, and PAL) or numerical values from 1 to 500 to indicate channel access levels. The LEVELS command prints out all the levels and their numerical ranges.",
+        "Advanced users can change their style with $N's set style command to view the numerical version in commands like USERS, and may use numbers instead of names for fine-tuning access.",
+        "$uSee Also:$u ($N) set style, access, myaccess, adduser");
 
 "MYACCESS" ("/msg $S MYACCESS [<nick|*account>]",
         "Lists channels where you have access and infolines in each.",
         "  o     AutoOp is active.",
         "  v     AutoVoice is active.",
         "  i     AutoInvite is active.",
-        "$uSee Also:$u access, users");
+        "  j     AutoJoin is active.",
+        "$uSee Also:$u access, users, levels");
+
 "ACCESS" ("/msg $S ACCESS <#channel> [<nick|*account>]",
         "Reports various pieces of information about a channel user, including channel and network access level, and the user's info line. If no nick or account is provided, $S returns your own information.",
-        "$uSee Also:$u myaccess, users");
+        "$uSee Also:$u myaccess, users, levels");
+
 "ADDLAMER" ("/msg $C ADDLAMER <#channel> <mask|nick> [Reason]",
         "Adds a lamer to the channels lamer list, remaining in effect until removed with the DELLAMER command. ",
         "Lamers are nick!user@host masks which $C watches for, and keeps out of your channel.",
         "If it exactly matches an existing lamer already in the list, the reason will be updated. If the existing lamer was a timed lamer, it will be extended into a permanent lamer.",
-        "$uSee Also:$u bans, dellamer, mdellamer");
-"ADDUSER" ("/msg $C ADDUSER <#channel> <nick|*account> <level>",
+        "$uSee Also:$u llist, dellamer, mdellamer");
+
+"ADDUSER" ("/msg $C ADDUSER <#channel> <nick|*account> <level> [duration]",
         "This command adds someone to the channel user list with the specified access level.  (You may only add users to levels less than your own.)",
-        "The level may be one of $bpeon$b, $bop$b, $bmanager$b, $bcoowner$b, $bowner$b, or a number between 1 and 500.  Only network staff may add level 500 users (owners).",
-        "$uSee Also:$u deluser, users");
-"ADDOP" ("/msg $C ADDOP <#channel> <nick|*account>",
+        "The level may be one of $bpal$b, $bop$b, $bmanager$b, $bcoowner$b, $bowner$b, or a number between 1 and 500.  Only network staff may add level 500 users (owners).",
+        "An optional duration can be specified, if specified then the after the given duration has expired the person will be automatically removed from the channel.",
+        "$uSee Also:$u deluser, users, levels, durations");
+
+"ADDPAL" ("/msg $C ADDPAL <#channel> <nick|*account> [duration]",
+        "This command adds someone to the channel user list with hPAL access level. (You may only add users to levels less than your own.)",
+        "An optional duration can be specified, if specified then the after the given duration has expired the person will be automatically removed from the channel.",
+        "$uSee Also:$u adduser, deluser, users, durations");
+
+"ADDOP" ("/msg $C ADDOP <#channel> <nick|*account> [duration]",
         "This command adds someone to the channel user list with OP access level. (You may only add users to levels less than your own.)",
-        "$uSee Also:$u adduser, deluser, users");
-"ADDHOP" ("/msg $C ADDHOP <#channel> <nick|*account>",
+        "An optional duration can be specified, if specified then the after the given duration has expired the person will be automatically removed from the channel.",
+        "$uSee Also:$u adduser, deluser, users, durations");
+
+"ADDHOP" ("/msg $C ADDHOP <#channel> <nick|*account> [duration]",
         "This command adds someone to the channel user list with HALFOP access level. (You may only add users to levels less than your own.)",
-        "$uSee Also:$u adduser, deluser, users");
+        "An optional duration can be specified, if specified then the after the given duration has expired the person will be automatically removed from the channel.",
+        "$uSee Also:$u adduser, deluser, users, durations");
+
+"ADDMANAGER" ("/msg $C ADDMANAGER <#channel> <nick|*account> [duration]",
+        "This command adds someone to the channel user list with MANAGER access level. (You may only add users to levels less than your own.)",
+        "An optional duration can be specified, if specified then the after the given duration has expired the person will be automatically removed from the channel.",
+        "$uSee Also:$u adduser, deluser, users, durations");
+
+"ADDCOOWNER" ("/msg $C ADDCOOWNER <#channel> <nick|*account> [duration]",
+        "This command adds someone to the channel user list with COOWNER access level. (You may only add users to levels less than your own.)",
+        "An optional duration can be specified, if specified then the after the given duration has expired the person will be automatically removed from the channel.",
+        "$uSee Also:$u adduser, deluser, users, durations");
+
 "ADDTIMEDLAMER" ("/msg $C ADDTIMEDLAMER <#channel> <mask|nick> <Duration> [Reason]",
         "Adds an automatically expiring lamer to the channel lamer list.",
-        "This command behaves in the exact same fashion as $bADDLAMER$b with the exception that the bans are automatically removed after the user-supplied duration. ",
+        "This command behaves in the exact same fashion as $bADDLAMER$b with the exception that the lamers are automatically removed after the user-supplied duration. ",
         "If it exactly matches an existing lamer already in the list, the reason will be updated. If the existing lamer was a timed lamer, it will be extended. Timed lamers can be removed with the $bDELLAMER$b command, as with permanent lamers.",
         "$uSee Also:$u addlamer, lamers, dellamer, durations");
 "ALLOWREGISTER" ("/msg $C ALLOWREGISTER <#channel|*Account>",
         "For example: CALC sqrt [5 + .43 * (tan[75])] / 2",
         "If you do not have access in the channel, the answer may be reported",
         "to you privately (via MSG or NOTICE) instead of in the channel.",
-        "CALC can be used by all users.",
         "$uSee Also:$u dice, 8ball");
+"8BALL" ("/msg $C 8BALL [yes no question|what color is..|how many..|where is..]?",
+       "8BALL answers yes or no questions, color queistions, numerical questions, and location questions.",
+       "If you do not have access in the channel, the answer may be reported to you privately instead of in the channel.",
+       "$uSee Also:$u dice, calc");
+"ROULETTE" ("/msg $C ROULETTE",
+        "ROULETTE loads the gun for a game of russion roulette. Use FIRE to shoot it",
+        "$uSee Also:$u fire, spin");
+"FIRE"  ("/msg $C FIRE",
+        "FIRE the gun (after you load it with ROULETTE). WARNING: this may kill you.",
+        "$uSee Also:$u roulette, spin");
+"SPIN"  ("/msg $C SPIN",
+        "This plas a game of Wheel-Of-Misfortune. WARNING: this will result in serious injury or death. Do not play this game if you are faint of heart!",
+        "$uSee Also:$u roulette");
 "CLIST" ("/msg $C CLIST <#channel> [mask]",
         "This command lists all users of level $bCoowner$b on a channel's userlist. If a mask is supplied, only coowners matching the mask will be shown.",
         "$uSee Also:$u addcoowner, delcoowner, mdelcoowner, users");
-"CLVL" ("/msg $C CLVL <#channel> <nick|*account> <level>",
+"CLVL" ("/msg $C CLVL <#channel> <nick|*account> <level> [duration]",
         "Modifies a channel user's access level. You cannot give users access greater than or equal to your own.",
        "You may use *Account instead of Nick as the name argument; the * makes $C use the name of a account directly (useful if the user is not online).",
-        "$uSee Also:$u access, users, giveownership");
+        "An optional duration can be specified, if specified then the after the given duration has expired the person will be automatically reverted back to their previous access level.",
+        "$uSee Also:$u access, users, giveownership, durations");
 "CREATENOTE" ("/msg $S CREATENOTE <typename> <set-access> [access-arg] <view-access> <max-length>",
         "Defines a new note type.  $btypename$b is the name of the note type.  $bset-access$b is one of:",
         "  $bPRIVILEGED$b with required $baccess-arg$b being the minimum OpServ level to set",
         "$uSee Also:$u down, hop");
 "DEVOICE" ("/msg $C DEVOICE <#channel> <nick> [nick]...",
         "This command will make $C devoice the selected user[s].",
-        "$uSee Also:$u addpeon, delpeon, deop, voice");
+        "$uSee Also:$u addpal, delpal, deop, voice");
 "DOWN" ("/msg $C DOWN <#channel>",
         "This command will devoice/dehalfop/deop you in the selected channel.",
         "$uSee Also:$u downall, up, upall");
 "DOWNALL" ("/msg $C DOWNALL",
         "Executes the $bdown$b command for each channel you have access to.",
         "$uSee Also:$u down, up, upall");
-"DURATIONS" ("[<n>y][<n>M][<n>w][<n>d][<n>h][<n>m][<n>[s]]",
-        "There is a standard syntax for durations that let you easily specify longer periods of time.  A duration consists of one or more \"duration parts\", which are sequences of digits, separated by duration letters.",
-        "The valid duration letters are $by$b (for year, or 365 days), $bM$b (for month, or 31 days), $bw$b (for week, or 7 days), $bd$b (for day, or 24 hours), $bh$b (for hour, or 60 minutes), $bm$b (for minute, or 60 seconds), and $bs$b (for second).  We know not all years are 365 days and not all months are 31 days, but we pretend they are for parsing durations.",
-        "If the last duration part does not have any letter to indicate the units, seconds are assumed.",
-        "$uExamples$u: 1y1M is 365 days plus 31 days; 1y1m is 365 days plus 1 minute; 1h30m45 is ninety minutes and forty-five seconds; and so forth.");
+"DURATIONS" (
+        "This is the syntax used for commands that require time durations. A time duration is made up of numbers and units. Multiple units may be used in a row.",
+        "The valid unit letters are:",
+        "$by$b - years (365 days)",
+        "$bM$b - months (30 days)",
+        "$bw$b - weeks (7 days)",
+        "$bd$b - days (24 hours)",
+        "$bh$b - hours (60 minutes)",
+        "$bm$b - minutes (60 seconds)",
+        "$bs$b - seconds",
+        "If the unit letter is not givin, seconds are assumed.",
+        "$b$b",
+        "$uExamples$u:",
+        "$b5d$b is 5 days.",
+        "$b1y2M$b is 1 year and 2 months (425 days.)",
+        "$b1d1h$b is 1 day and 1 hour (25 hours.)",
+        "$b1h25m30s$b is 1 hour, 25 minutes and 30 seconds."
+        );
 "EMOTE" ("/msg $C EMOTE <#channel> <text>",
         "Makes $b$C$b send a CTCP ACTION message to the specified channel.",
         "$uSee Also:$u say");
         "Deletes all halfops with accounts matching the given pattern from the channel user list.");
 "MDELMANAGER" ("/msg $C MDELMANAGER <#channel> <pattern>",
         "Deletes all managers with accounts matching the given pattern from the channel user list.",
-        "$uSee Also:$u mdelban, mdelcoowner, mdelop, mdelowner, mdelpeon");
+        "$uSee Also:$u mdelban, mdelcoowner, mdelop, mdelowner, mdelpal");
 "MDELOP" ("/msg $C MDELOP <#channel> <pattern>",
-        "Deletes all ops with accounts matching the given pattern from the channel user list.");
+        "Deletes all ops with accounts matching the given pattern from the channel user list.",
+        "$uSee Also:$u addop, mdelowner, mdelcoowner, mdelmanager");
 "MDELOWNER" ("/msg $C MDELOWNER <#channel> <pattern>",
         "Deletes all owners with accounts matching the given pattern from the channel user list.",
-        "$uSee Also:$u addowner, mdelcoowner, mdelmanager, mdelop, mdelpeon");
-"MDELPEON" ("/msg $C MDELPEON <#channel> <pattern>",
-        "Deletes all peons with accounts matching the given pattern from the channel user list.",
-        "$uSee Also:$u addpeon, mdelcoowner, mdelmanager, mdelop");
+        "$uSee Also:$u addowner, mdelcoowner, mdelmanager, mdelop, mdelpal");
+"MDELPAL" ("/msg $C MDELPAL <#channel> <pattern>",
+        "Deletes all pals with accounts matching the given pattern from the channel user list.",
+        "$uSee Also:$u addpal, mdelcoowner, mdelmanager, mdelop");
 "MERGE" ("/msg $C MERGE <#channel> <destination>",
-        "Merges the source channel's registration, users, bans, and other data into the target channel. Users with access to both the source and target channels will retain the higher access level; if the access levels are the same, the more recent seen time is kept. Bans are also merged, with bans expiring later taking precedence.",
+        "Merges the source channel's registration, users, lamers, and other data into the target channel. Users with access to both the source and target channels will retain the higher access level; if the access levels are the same, the more recent seen time is kept. Lamers are also merged, with lamers expiring later taking precedence.",
         "$uSee Also:$u register, move, unregister");
 "MLIST" ("/msg $C MLIST <#channel> [mask]",
         "This command lists all users of level $bManager$b on a channel's userlist. If a mask is supplied, only managers matching the mask will be shown.",
         "$uSee Also:$u note, delnote");
 "OLIST" ("/msg $C OLIST <#channel> [mask]",
         "This command lists all users of level $bOp$b on a channel's userlist.  If a mask is supplied, only ops matching the mask will be shown.",
-        "$uSee Also:$u addop, delop, mdelop, users");
+        "$uSee Also:$u addop, deluser, mdelop, users");
 "OP" ("/msg $C OP <#channel> <nick> [nick]...",
         "This command makes $C op the specified user.",
-        "$uSee Also:$u addop, delop, deop");
+        "$uSee Also:$u addop, deluser, deop");
 "OPCHAN" ("/msg $C OPCHAN <#channel>",
         "This command makes $C op itself in the specified channel.");
 "OPEN" ("/msg $C OPEN <#channel>",
         "Displays the current topic, modes, and ops of the specified channel. Unlike $binfo$b, $bpeek$b displays channel information unrelated to $b$C$b.",
         "$uSee Also:$u info");
 "PLIST" ("/msg $C PLIST <#channel>",
-        "This command lists all users of level $bPeon$b on a channel's userlist. If a mask is supplied, only peons matching the mask will be shown.",
-        "$uSee Also:$u addpeon, delpeon, mdelpeon, users");
-"REGISTER" ("/msg $C REGISTER <#channel> [user|*account] [force]",
-        "Registers a channel with $b$C$b, automatically granting owner access to the specified user. If no user is provided, $b$C$b gives owner access to the user executing the command.",
-        "If the registrar is on the network staff and provides the third argument, $bforce$b, it will allow a do-not-register channel to be registered anyway.",
-        "In addition, $bregister$b will only allow one user to own a certain number of channels without the $bforce$b argument.",
-        "$uSee Also:$u addowner, noregister, unregister");
+        "This command lists all users of level $bpal$b on a channel's userlist. If a mask is supplied, only pals matching the mask will be shown.",
+        "$uSee Also:$u addpal, delpal, mdelpal, users");
+
+"REGISTER" (
+        "/msg $C REGISTER <#channel>",
+        "Registers a channel to you with $b$C$b.  X3 will protect your channel, preserve your ownership of the channel, and provide handy features such as userlists and stats.",
+        "If the channel exists, you must have ops (+o) and there is a limit to the number of channels you may have at once.",
+        "Network staff see /MSG $C HELP STAFF REGISTER",
+        "$uSee Also:$u unregister, giveownership");
+
+"STAFF REGISTER" (
+        "/msg $C REGISTER <#channel> [user|*account] [force]",
+        "Registers a channel to the givin user with $b$C$b.",
+        "If staff provides the third argument, $bforce$b, it will allow the registration even if it is a do-not-register channel or ther register limit will be exceded.",
+        "$uSee Also:$u addowner, noregister, register, unregister");
+
 "REMOVENOTE" ("/msg $S REMOVENOTE <typename> [FORCE]",
         "Permanently deletes a note type.  Without the argument $bFORCE$b, it will only delete an unused note type.  With the argument $bFORCE$b, it will delete the note from all channels and then delete the note type.",
         "$uSee Also:$u createnote");
+
 "RESYNC" ("/msg $S RESYNC <#channel>",
-        "Synchronizes users in the channel with the userlist.  This means that if the user can normally get ops, $S makes sure the user has ops.  Otherwise, if the user normally gets voice, $S makes sure the user has voice but not ops.  Otherwise, $S makes sure the user has neither voice nor ops.");
+        "Synchronizes users in the channel with the userlist, according to the SET AUTOMODE setting.",
+        "It will give and take ops, halfops, and voice modes to users to make the channel match the userlist and automode setting.",
+        "$uSee Also:$u set automode, up, op, hop, voice");
+
 "SAY" ("/msg $C SAY <#channel> <text>",
         "Makes $b$C$b send a message to the specified channel.",
         "$uSee Also:$u emote");
         "USERGREETING: A greeting message for users on the channel's userlist.",
         "MODES:        The channel's default modes.",
        "PUBCMD:       Restrictions to use commands in public.",
-        "INVITEME:     Minimum level for users to use INVITEME or AUTOINVITE.",
+        "INVITEME:     Minimum level for users to use INVITEME, AUTOINVITE or AUTOJOIN.",
         "USERINFO:     Minimum level for users to show an infoline on join.",
-        "ENFOPS:       Restrictions for opping users.",
-        "ENFHALFOPS:   Restrictions for halfopping users.",
-        "ENFMODES:     Restrictions to change the default modes.",
-        "ENFTOPIC:     Restrictions on changing the topic.",
+        "ENFOPS:       Who can op users.",
+        "ENFHALFOPS:   Who can half-op users.",
+        "ENFMODES:     Who can change the channel modes.",
+        "ENFTOPIC:     Who can chang the topic.",
         "TOPICSNARF:   Manual topics changes (by /TOPIC) from users this level and above will change the default $b$C$b topic.",
         "SETTERS:      Who may change channel settings (using $bSET$b).",
-        "CTCPUSERS:    Who is allowed to send CTCPs to the channel.",
-        "CTCPREACTION: What happens when a disallowed CTCP is sent to the channel.",
-        "VOICE:        Who should be auto-voiced in the channel.",
+        "CTCPREACTION: What happens when a CTCP is sent to the channel.",
+        "AUTOMODE:     Who should be auto-voice/hop/oped in the channel.",
+        "BANTIMEOUT:   Removes old bans.",
         "PROTECT:      The protection level $b$C$b provides.",
        "TOYS:         Toggles how $b$C$b will respond to toy commands (!8ball etc).",
         "TOPICREFRESH: Controls if (and how often) $b$C$b will reset the topic.",
+        "RESYNC:       Controls if (and how often) $b$C$b will reset the userlist.",
         "DYNLIMIT:     Adjusts user limit (+l channel mode) to prevent join floods.",
+       "MAXSETINFO:   Maximum amount of characters in a SETINFO line.",
         "$bIRCOP ONLY$b:",
         "NODELETE:  Prevents channel deletion.",
         "If you wish to reset your channel to the default settings, you can use the $bSET DEFAULTS$b command.",
-        "$uSee Also:$u set pubcmd, set enfops, set enfhalfops, set enfmodes, set enftopic, set protect, set toys, set setters, set topicrefresh, set ctcpusers, set ctcpreaction, set defaults");
+        "$uSee Also:$u set pubcmd, set enfops, set enfhalfops, set enfmodes, set enftopic, set protect, set toys, set setters, set topicrefresh, set resync, set ctcpreaction, set maxsetinfo, set defaults");
+
 "SET DEFAULTTOPIC" ("/msg $C SET <#channel> DEFAULTTOPIC <New default topic>",
         "This changes the default topic for the channel.  $C will set the IRC topic to this value when the $btopic$b command is used with no arguments, when the topic refresh happens (if you have $bset topicrefresh$b), or when an unauthorized user changes the topic to something else.",
         "$uSee Also:$u set, set topicrefresh, set enftopic, set topicmask");
+
 "SET TOPICMASK" ("/msg $C SET <#channel> TOPICMASK <Topic mask with * and ?>",
         "This sets a pattern that $C forces all topics to match. A $b*$b will match any number of characters (including 0); a $b?$b will match any single character -- the same as with IRC hostmasks.",
         "For example, $b!set topicmask Hello *$b allows the topic to be set to $bHello world$b, but not $bGoodbye world$b.",
         " $btopic something$b",
         "will replace the * with the text $bsomething$b.",
         "$uSee Also:$u set, set topic, set enftopic");
+
 "SET TOYS" ("/msg $C SET <#channel> TOYS <value>",
        "This setting changes how $C will respond to commands like 8ball, or whether it responds at all.  Valid settings are:",
        "$b0$b  Toys are completely disabled.",
        "$b1$b  Toys will only reply privately.",
        "$b2$b  Toys will reply publicly.",
        "$uSee Also:$u set");
+
 "SET PUBCMD" ("/msg $C SET <#channel> PUBCMD <value>",
         "This setting restricts the access necessary to use in-channel commands.  It is a numeric user level, or 501 to mean no one may use public commands.",
         "$uSee Also:$u set");
+
 "SET ENFOPS" ("/msg $C SET <#channel> ENFOPS <value>",
-        "This setting restricts who may op users who are not at least ops on the userlist.  If $C sees someone with access below the specified access op someone not on the userlist (or who is a peon), it will deop the second user.  It is a numeric user level, or 501 to mean no one may op unrecognized users.",
+        "This setting restricts who may op users who are not at least ops on the userlist.  If $C sees someone with access below the specified access op someone not on the userlist (or who is a pal), it will deop the second user.  It is a numeric user level, or 501 to mean no one may op unrecognized users.",
         "$uSee Also:$u set");
+
 "SET ENFHALFOPS" ("/msg $C SET <#channel> ENFHALFOPS <value>",
-        "This setting restricts who may halfop users who are not at least halfops on the userlist.  If $C sees someone with access below the specified access halfop someone not on the userlist (or who is a peon), it will dehalfop the second user.  It is a numeric user level, or 501 to mean no one may op unrecognized users.",
-        "$uSee Also:$u set");
-"SET GIVEOPS" ("/msg $C SET <#channel> GIVEOPS <value>",
-        "This setting restricts the minimum access someone must be to be automatically op'ed by $C.  It is a numeric user level.",
-        "$uSee Also:$u set");
-"SET GIVEHOPS" ("/msg $C SET <#channel> GIVEHOPS <value>",
-        "This setting restricts the minimum access someone must be to be automatically halfop'ed by $C.  It is a numeric user level.",
+        "This setting restricts who may halfop users who are not at least halfops on the userlist.  If $C sees someone with access below the specified access halfop someone not on the userlist (or who is a pal), it will dehalfop the second user.  It is a numeric user level, or 501 to mean no one may op unrecognized users.",
         "$uSee Also:$u set");
+
 "SET ENFMODES" ("/msg $C SET <#channel> ENFMODES <value>",
         "This setting restricts the minimum access someone must have to change the channel modes from what is specified in the channel settings.  It is a numeric user level, or 501 to mean no one may override the default modes.",
         "$uSee Also:$u set");
+
 "SET ENFTOPIC" ("/msg $C SET <#channel> ENFTOPIC <value>",
         "This setting restricts the minimum access someone must have to change the channel topic.  It is a numeric user level, or 501 to mean no one may override the default topic.",
         "If a topic mask is set, then a person may change the topic as long as it matches that mask $bor$b they have the above access.",
         "If no topic mask is set, then a person must have the above access to change the topic from the default.",
         "$uSee Also:$u set, set topic, set topicmask");
-"SET VOICE" ("/msg $C SET <#channel> VOICE <value>",
-        "This setting configures who $C auto-voices.  Valid settings are:",
-        "$b0$b  Noone will get voice",
-        "$b1$b  PEONs will get voice (default).",
-        "$b2$b  Everyone will get voice.",
-        "$uSee Also:$u set, uset autoop");
+
+"SET MAXSETINFO" ("/msg $C SET <$channel> MAXSETINFO <value>",
+       "This setting restricts the length of user info lines.",
+        "$uSee Also:$u set");
+
+"SET AUTOMODE" ("/msg $C SET <#channel> AUTOMODE <value>",
+        "This setting configures who $C gives different channel modes to on join or RESYNC.  ",
+        "Valid settings are:",
+        "  $b0$b  Noone will be automatically oped, half-oped, or voiced.",
+        "  $b1$b  Give voice to pals, half-op to halfops, and op to ops.",
+        "  $b2$b  #1 Plus Give voice to everyone.",
+        "  $b3$b  #1 Plus give halfops to everyone.",
+        "  $b4$b  #1 Plus give ops to everyone (not advised.)",
+        "  $b5$b  Give half-op to halfops, and op to ops only, but pals do not get voice. ",
+        "$uSee Also:$u set, up, uset autoop, resync");
+
+"SET BANTIMEOUT" ("/msg $C SET <#channel> BANTIMEOUT <value>",
+        "This setting configures $C to automatically remove bans older than the set age. It is useful for avoiding buildup of old bans, eventually running out of ban slots.",
+        "Valid settings are:",
+        "  $b0$b  Does not remove bans",
+        "  $b1$b  Bans will be removed after 10 minutes",
+        "  $b2$b  Bans will be removed after 2 hours",
+        "  $b3$b  Bans will be removed after 4 hours",
+        "  $b4$b  Bans will be removed after 24 hours",
+        "  $b5$b  Bans will be removed after 1 week",
+        "It should be noted that this setting expires channel bans (mode +b) NOT perminantly banned \"LAMERs\", although it will expire the individual host-bans $C sets on those who match LAMER entries.",
+        "$uSee Also:$u unban, addlamer, addtimedlamer");
+
 "SET PROTECT" ("/msg $C SET <#channel> PROTECT <value>",
         "This setting restricts the protection that $C enforces.  Valid settings are:",
         "$b0$b  Non-users and users will be protected from those of equal or lower access",
         "$b2$b  Users will be protected from those of lower access.",
         "$b3$b  No users will be protected.",
         "$uSee Also:$u set");
+
 "SET SETTERS" ("/msg $C SET <#channel> SETTERS <value>",
         "Users with at least this user level can use the $bset$b command for $C.",
         "$uSee Also:$u set");
+
 "SET TOPICREFRESH" ("/msg $C SET <#channel> TOPICREFRESH <value>",
         "This setting controls if (and how often) $C refreshes the topic to the default value.  Valid settings are:",
         "$b0$b  Never refresh topic.",
         "$b3$b  Refresh every 12 hours.",
         "$b4$b  Refresh every 24 hours.",
         "$uSee Also:$u set, set topic");
-"SET CTCPUSERS" ("/msg $C SET <#channel> CTCPUSERS <value>",
-        "This setting controls who is allowed to send CTCPs to the channel.  CTCP ACTION, the way that /me is implemented, are always allowed.  For any other CTCP, the user must have this access level.  501 indicates no users may use CTCPs in the channel.",
-        "If a user below the specified level sends a CTCP (besides ACTION) to the channel, the enforcement is specified by the $bCTCPReaction$b setting.",
-        "$uSee Also:$u set, set ctcpreaction");
+
+"SET RESYNC" ("/msg $C SET <#channel> RESYNC <value>",
+        "This setting controls if (and how often) $C refreshes the userlist to the current list.  Valid settings are:",
+        "$b0$b  Never refresh userlist.",
+        "$b1$b  Refresh every 3 hours.",
+        "$b2$b  Refresh every 6 hours.",
+        "$b3$b  Refresh every 12 hours.",
+        "$b4$b  Refresh every 24 hours.",
+        "$uSee Also:$u set");
+
 "SET CTCPREACTION" ("/msg $C SET <#channel> CTCPREACTION <value>",
         "This setting controls what happens to those who send disallowed CTCPs to the channel:",
-        "$b0$b  Kick on disallowed CTCPs.",
-        "$b1$b  Kickban on disallowed CTCPs.",
-        "$b2$b  Short timed ban (defaults to 3 minutes) on disallowed CTCPs.",
-        "$b3$b  Long timed ban (defaults to 1 hour) on disallowed CTCPs.",
-        "$uSee Also:$u set, set ctcpusers");
+        "$b0$b  CTCPs are allowed. Do nothing.",
+        "$b1$b  Kick on disallowed CTCPs.",
+        "$b2$b  Kickban on disallowed CTCPs.",
+        "$b3$b  Short timed ban (defaults to 3 minutes) on disallowed CTCPs.",
+        "$b4$b  Long timed ban (defaults to 1 hour) on disallowed CTCPs.",
+        "$uSee Also:$u set");
+
 "SET DEFAULTS" ("/msg $C SET <#channel> DEFAULTS [<confirmation>]",
         "With the proper confirmation string, resets all the options for the channel to their default values.",
         "With no confirmation string, displays the appropriate confirmation string.",
         "$uSee Also:$u set");
+
+"SET GREETING" ("/msg $C SET <#channel> GREETING <message>",
+        "Sets a message X3 will send to everyone who joins your channel, unless they are on your userlist.",
+        "This feature should be used sparingly, as many people find it annoying.",
+        "Another set command, SET USERGREETING, is shown to people who ARE on your userlist.",
+        "$uSee Also:$u set usergreeting");
+
+"SET USERGREETING" ("/msg $C SET <#channel> USERGREETING <message>",
+        "Sets a message X3 will send to your users (PALs, OPs, etc) when they join your channel.",
+        "This feature should be used sparingly, as many people find it annoying.",
+        "Another set command, SET GREETING, is shown to people who are NOT on your userlist.",
+        "$uSee Also:$u set greeting");
+
 "STAFF" ("/msg $C STAFF",
         "Lists all the IRC operators and helpers currently online. Nicknames enclosed in parentheses are away, and likely unavailable.",
         "$uSee Also:$u helpers, ircops, netinfo");
-"SUSPEND" ("/msg $C SUSPEND <#channel> <nick|*account>",
+
+"SUSPEND" ("/msg $C SUSPEND <#channel> <nick|*account> <duration>",
         "This disables the target's access to the channel.  That access can be restored using the unsuspend command.",
-        "$uSee Also:$u unsuspend, deluser");
+        "The duration may be \"0\" to make it never expire; otherwise, $C will automatically unsuspend the user after the duration",
+        "$uSee Also:$u durations, unsuspend, deluser");
+
 "TOPIC" ("/msg $C TOPIC <#channel> [topic]",
         "Sets the current topic for the specified channel.  If no topic is specified, then set the current topic to the default topic.");
-"TRIM" ("/msg $C TRIM <#channel> <target> <duration>",
-       "The trim command removes target objects inactive for more than a certain duration from a channel. The target must be a channel access level, a range of access levels (for example, \"300-399\"), \"users\" or \"bans\". The duration argument specifies the amount of time the target has been inactive for to be removed.",
+
+"TRIM" ("/msg $C TRIM <#channel> <target> <duration> [vacation]",
+       "The trim command removes target objects inactive for more than a certain duration from a channel. The target must be a channel access level, a range of access levels (for example, \"300-399\"), \"users\" or \"lamers\". The duration argument specifies the amount of time the target has been inactive for to be removed.",
+        "If the vacation argument is given for the users target, users who are on vacation will be trimmed. By default they are skipped.",
         "$uSee Also:$u durations");
+
 "UNBAN" ("/msg $C UNBAN <#channel> <mask|nick>",
         "Unbans the specified nick or hostmask. If a nick is given, $b$C$b determines what hostmask(s) to unban.",
         "$uSee Also:$u ban, kick, kickban");
+
 "UNBANALL" ("/msg $C UNBANALL <#channel>",
         "Clears the specified channel's banlist. If the channel is omitted, then $bunbanall$b will be done in the channel where the command was given.",
         "$uSee Also:$u ban, unban, unbanme");
         "Displays up to a certain limit, all channels registered with $b$C$b that have not been visited within a certain duration. If a duration is not provided, a default will be used.",
         "$uSee Also:$u expire, search, durations");
 "UP" ("/msg $C UP <#channel>",
-        "Grants you your normal channel privileges.  Ops for OPs, HalfOps for HALFOPs, and Voice for PEONs.");
+        "Grants you your normal channel privileges.  Ops for OPs, HalfOps for HALFOPs, and Voice for PALs.");
 "UPALL" ("/msg $C UPALL",
         "Executes the $bup$b command for each channel you have access in.",
         "$uSee Also:$u up, down, downall");
          "INFO:       Sets the infoline that $C sends when you join the channel.",
          "AUTOOP:     Enable or disable $C automatically opping you upon joining or authenticating.",
         "AUTOINVITE: $C will invite you to this channel if you have access to and are not in when you authenticate if this setting is on.",
+        "AUTOJOIN: $C will forcibly join you into this channel if you have access to and are not in it when you authenticate if this setting is on.",
          "$uSee Also:$u set");
 "USET INFO" ("/msg $C USET <#channel> INFO <info>",
         "This command will set a user defined information message to be displayed when you join the channel. Set to '*' to clear the message.",
         "$uSee Also:$u addcoowner, delcoowner, mdelcoowner, users");
 
 "ME"   "I am at your service. /msg $C help command, or /join #help ";
+
 "thanks" ("AfterNET's own X3 is based on the hard work of the origional srvx developers.  They would like to thank the following people for their help in making the origional srvx:",
         "     $bGameSurge IRC Network$b - All the users and staff there bear with our shortcomings and bugs and let us know what needs to be fixed.",
         "     $bIC5 Networks$b (and JohnM in particular) - Never afraid to critique things, even if we are the 800 pound gorilla.",
         "Futher, the X3 team would like to thank:",
         "     $breed$b - who tirelessly nagged us to upgrade our services",
         "$bAfterNET Users and Opers$b - who faught both for and against the change, for the better of Afternet.");
+
+"MODES" (
+        "/msg $C HELP MODES <option>",
+        "This command will return information for either:",
+        "CHANNEL: Channel mode(s).",
+        "USER:    User mode(s).",
+        "$b$b",
+        "See MODES USER, and MODES CHANNEL for the meaning of modes.",
+        "$uSee also:$u set",
+        );
+
+"MODES USER" (
+        "*a - IRC administrator.",
+        " d - Deaf mode. All #channel messages are ignored.",
+        "*f - Fake host mode. ($bInvisible mode, will not be visibly set. Can only be set by a U:lined service.$b)",
+        " g - Allows you to see desynch wallops.",
+        "*h - Sethost mode. ($bInvisible mode, will not be visibly set.$b)",
+        " i - Invisible. A user will not be able to see you in /names or /who list(s). They $bmust$b know your exact nick.",
+        " k - Network service. You cannot be deopped, kicked or killed.",
+        "*n - Channels will not be shown in a user(s) /whois reply.",
+        " o - Global IRC operator.",
+        " r - Registered user. ($bInvisible mode, will not be visibly set. Can only be set by a U:lined service.$b)",
+        " s - Server notices.",
+        " w - See wallops and wallusers messages.",
+        " x - Real host will be obfuscated if authed to $N. ($bFixed mode, cannot be unset.$b)",
+        "*B - User is a bot.",
+        "*I - Idle time will not be shown in a user(s) /whois reply.",
+        "*O - Local IRC operator. ($bDeprecated and disabled. *ALL* IRC operators are global.$b)",
+        "*R - Only registered user(s) are allowed to message you.",
+        "*W - /whois paranoia. IRC operators are informed of a /whois taking place on them. ($bDisabled.$b)",
+        "*X - Extra oper. Gives extra abilities and privileges to IRC operators.",
+        "$b$b",
+        "$bNote:$b * indicates that the mode is only available on some networks."
+        );
+
+"MODES CHANNEL" (
+        "*a - IRC administrators only. ($bCan only be set by IRC administrators/operators. Can be overriden by /invite.$b)",
+        " b - Bans a user from a channel. ($bCan be overriden by /invite.$b)",
+        "*c - Incoming colour messages to the channel are blocked.",
+        "*e - Excludes a user from being banned from a channel. If they're +b'd and +e'd, they will still be able to join.",
+        "*h - Gives a user hop status. ($b%%$b)",
+        " i - Invite only. A user must be /invite'd to the channel in order to join.",
+        " k - Channel requires a key in order to join. ($bCan be overriden by /invite.$b)",
+        " l - Limit. Only a certain number of user(s) are allowed to join the channel. ($bCan be overriden by /invite.$b)",
+        " m - Moderated. Nobody other than hops ($b%%$b), ops ($b@$b) or voices ($b+$b) can talk.",
+        " n - All external messages will be blocked. ($bMust be in the channel in order to talk.$b)",
+        " o - Gives a user op status. ($b@$b)",
+        " p - Private. The channel will not appear in /list but will appear in /whois replies.",
+        " r - A user must be registered in order to join the channel. ($bCan be overriden by /invite.$b)",
+        " s - Secret. The channel will not appear in /list and /whois replies.",
+        " t - Only op(s) can change the topic.",
+        " v - Gives a user voice status. ($b+$b)",
+        "*z - Persistant channel. Once the last user has left, the channel will not be destroyed. ($bDisabled.$b)",
+        "*C - /ctcp messages to the channel are blocked.",
+        "*L - Mode(s) will not be displayed in /list.",
+        "*M - Only registered user(s) are allowed to talk in a channel. (Excludes hops ($b%%$b), ops ($b@$b) and voices. ($b+$b))",
+        "*N - /notices to the channel are blocked.",
+        "*O - IRC operators only. ($bCan only be set by either $C or IRC adminstrators/operators. Can be overriden by /invite.$b)",
+        "*Q - Part and quit messages will not be displayed in a channel.",
+        "*S - Bold, colour, reverse and underline code(s) are stripped from incoming messages.",
+        "*T - /amsgs to the channel are blocked.",
+        "*Z - SSL user(s) only. ($bCan only be set by either $C or those on an SSL connection.$b)",
+        "$b$b",
+        "$bNote:$b * indicates that the mode is only available on some networks."
+        );