]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/chanserv.help
Fix for crash bug during burst where X3 sends a B (BURST) message with a channel...
[irc/evilnet/x3.git] / src / chanserv.help
index 45f9e1de5432f309137b8987ccb1840abca41cbe..548cbbdc4d53d9d249955e0b3ce31c2765c22f7a 100644 (file)
-"<INDEX>" ("$b$C Help$b",
-        "$b$C$b is a channel service bot, intended primarily to prevent and defend against channel takeovers. It also includes convenience features aimed at making it easier to maintain control over all aspects of your channel.",
-        "$b$C$b command categories:",
-        "  USER            User management.",
-        "  CHANNEL         Channel management.",
-        "  BAN MANAGEMENT  Ban management.",
-        "  INFORMATION     Informative commands.",
-        "  OPER            Helper/IRC Operator commands."
+"<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:          ",
+           "   $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 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.",
+           " CHANNEL  - Other channel related info",
+           "            like setting permanent modes",
+           "            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" ("$bUser Management Commands:$b",
-        "  ACCESS      Check someone's access in a channel.",
-        "  MYACCESS    Show all channels where you have access.",
-        "  ADDCOOWNER  Give another person coowner status in a channel.",
-        "  ADDMASTER                       master status in a channel.",
-        "  ADDOP                           op status in a channel.",
-        "  ADDPEON                         peon status in a channel.",
-        "  GIVEOWNERSHIP    Give ownership to another user in the channel.",
-        "  CLVL        Change a person's access level in a channel.",
-        "  ADDUSER     Give another person access in a channel.",
-        "  DELUSER     Remove a person's access from a channel.",
-        "  DELETEME    Remove your own access from a channel.",
-        "  MDELCOOWNER Remove coowners with accounts matching a mask.",
-        "  MDELMASTER         masters with accounts matching a mask.",
-        "  MDELOP             ops with accounts matching a mask.",
-        "  MDELPEON           peons with accounts matching a mask.",
-       "  TRIM        Remove users inactive for a certain period.",
-        "  UP          Give you ops in a channel you have access to.",
-        "  DOWN        Remove your ops in a channel.",
-        "  UPALL       Give you ops in all channels you have access to.",
-        "  DOWNALL     Remove your ops in all channels.",
-        "  OP          Give ops to the specified user.",
-        "  DEOP        Remove ops from the specified user.",
-        "  VOICE       Give voice to the specified user.",
-        "  DEVOICE     Remove voice from the specified user.",
-        "  USET        Set channel user options.",
-        "  SUSPEND     Suspend a user's access to a channel.",
-        "  UNSUSPEND   Restore a user's access to a channel.",
-        "  WIPEINFO    Remove a lower-ranked user's infoline."
+"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 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",
+            " $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.",
+            " $bADDCOOWNER$b  Add a user as COOWNER in a channel.",
+            " $bADDUSER$b     A more advanced way to add users.",
+            " $bADDLAMER$b    Add a lamer to the lamers (keep out) list.",
+            " $bADDTIMEDLAMER$b Add a lamer to the lamers list that expires in the specified time.",
+            "$b$b",
+            " $bDELUSER$b     Delete a user from the userlist.",
+            " $bMDELCOOWNER$b Mass-delete coowners with accounts matching a mask.",
+            " $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.",
+            " $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.",
+            " $bSUSPEND$b     Suspend a user's access to a channel.",
+            " $bUNSUSPEND$b   Restore a user's access to a channel.",
+            "$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."
 );
-"BAN MANAGEMENT" ("$bBan Management Commands:$b",
-        "  KICK        Kick a user from a channel.",
-        "  BAN         Ban a user from a channel.",
-        "  KICKBAN     Kick and ban a user from a channel.",
-        "  BANS        List lasting bans in a channel.",
-        "  ADDBAN      Add a permanent ban for a user.",
-        "  ADDTIMEDBAN Add a ban that expires in the specified time.",
-        "  UNBAN       Remove the specified ban from the channel.",
-        "  DELBAN      Remove the specified permanent ban from memory.",
-       "  TRIM        Remove bans inactive for a certain period.",
-        "  UNBANME     Remove a ban matching your hostmask from specified channel.",
-        "  UNBANALL    Remove all bans from a channel."
+
+"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.",
+            " $bOPEN$b        Remove +ilk channel modes and any bans on you from a channel.",
+            "*$bNOTE$b        Set a note on a channel.",
+            "*$bDELNOTE$b     Remove a note from a channel.",
+            "$b$b",
+            " $bUP$b          Give you ops in a channel.",
+            " $bDOWN$b        Remove your ops in a channel.",
+            " $bUPALL$b       Give you ops in all channels you have access to.",
+            " $bDOWNALL$b     Remove your ops in all channels.",
+            " $bOP$b          Give ops to the specified user.",
+            " $bDEOP$b        Remove ops from the specified user.",
+            " $bHOP$b         Give halfops to the specified user.",
+            " $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 (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.",
+            " $bUNBAN$b       Remove the specified ban from the channel.",
+            " $bKICKBAN$b     Kick and ban a user from a channel.",
+            " $bUNBANME$b     Remove a ban matching your hostmask from specified 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 information about a channel.",
+            " $bEVENTS$b      View a list of events relevant to a channel."
 );
-"CHANNEL" ("$bChannel Management Commands:$b",
-        "  OPEN        Remove +ilk channel modes and any bans on you from a channel.",
-        "  USERS       List all users of a channel.",
-        "  CLIST                coowners of a channel.",
-        "  MLIST                masters of a channel.",
-        "  OLIST                ops of a channel.",
-        "  PLIST                peons of a channel.",    
-        "  BANS        List all the bans for a channel.",
-        "  TOPIC       Set the current topic, or reset it to the default topic.",
-        "  MODE        Change a channel mode.",
-        "  INVITE      Invite new users to your channel.",
-        "  INFO        Show numerical information about the users in a channel.",
-        "  SET         Change various channel settings.",
-        "  EVENTS      View a list of events relevant to a channel.",
-        "  NOTE        Set a note on a channel.",
-        "  DELNOTE     Remove a note from a channel.",
-        "  RESYNC      Synchronize ops and voice with the channel userlist."
+"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.",
+            " $bIRCOPS$b      Get a list of all the current IRC operators.",
+            " $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.",
+            " $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.",
 );
-"INFORMATION" ("$bInformative Commands:$b",
-        "  VERSION     Check the current running version of $C.",
-        "  NETINFO     Check current network-wide information.",
-        "  STAFF       Get a list of all the current staff.",
-        "  IRCOPS                                    IRC operators.",
-        "  HELPERS                                   support helpers.",
-        "  PEEK        Reveal information on a channel's modes, topic and ops.",
-        "  SEEN        Find out the last time a user was in a channel.",
-        "  COMMAND     Display some information about a command."
+"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",
+            " $bSEARCH$b      Find registered channel matching criteria.",
+            " $bREGISTER$b    Register a new channel with $C.",
+            " $bNOREGISTER$b  Add a channel to the do-not-register list.",
+            " $bALLOWREGISTER$b Remove a channel from the do-not-register list.",
+            " $bDNRSEARCH$b   Search the do-not-register list.",
+            " $bUNREGISTER$b  Remove $C from a registered channel.",
+            " $bMOVE$b        Transition one channel's registration to a new channel name.",
+            " $bMERGE$b       Merges a source and target channels' registration, ",
+            "                 users, bans, and other data into the target channel.",
+            " $bUNVISITED$b   List all channels that have not been visited in specified duration.",
+            " $bEXPIRE$b      Automatically unregister old channels.",
+            "$b$b",
+            " $bADDOWNER$b    Add a new owner to a channel.",
+            " $bDELOWNER$b    Remove a current owner from a channel.",
+            " $bMDELOWNER$b   Remove multiple owners by account mask from a channel.",
+            " $bCSUSPEND$b    Remove $C from a channel (preserving user data).",
+            " $bCUNSUSPEND$b  Restore $C to a channel that was suspended.",
+            "$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."
 );
-"OPER" ("$bHelper/IRC Operator commands:$b",
-        "  SAY         Have $C say a message in a channel.",
-        "  EMOTE       Equivalent to $C doing a /me in a channel.",
-        "  GOD         Turn security override on/off.",
-        "  EXPIRE      Automatically unregister old channels.",
-        "  CSUSPEND    Remove $C from a channel (preserving user data).",
-        "  CUNSUSPEND  Restore $C to a channel that was suspended.",
-        "  UNVISITED   List all channels that have not been visited in specified duration.",
-       "  MERGE       Merges a source and target channels' registration, users, bans, and other data into the target channel.",
-        "  MOVE        Transition one channel's registration to a new channel name.",
-        "  OPCHAN      Force $C to op itself in a channel.",
-        "  REGISTER    Register a new channel with $C.",
-        "  NOREGISTER  Add a channel to the do-not-register list.",
-        "  ALLOWREGISTER Remove a channel from the do-not-register list.",
-        "  UNREGISTER  Remove $C from a registered channel.",
-        "  SEARCH      Find registered channel matching criteria.",
-        "  ADDOWNER    Add a new owner to a channel.",
-        "  DELOWNER    Remove a current owner from a channel.",
-        "  MDELOWNER   Remove multiple owners by account mask from a channel.",
-        "  CREATENOTE  Create a new note type.",
-        "  REMOVENOTE  Remove an existing note type."
+
+"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$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$b",
+            " Some commands, such as $bNETINFO$b     ",
+            " don't require a channel. If one is      ",
+            " supplied it will be ignored.",
+            "$b$b",
+            " If a command takes additional parameters",
+            " asside from channel, they will be       ",
+            " expected as well.                       ",
+            " See $b/msg $C HELP <COMMAND>$b for the  ",
+            " exact syntax of each command.           ",
+            "=---------- For more info see: ---------=",
+            "     http://www.afternet.org/support     ",
+            "     http://evilnet.sf.net/x3/x3help.php "
 );
+
+"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.",
         "Network staff may specify a nickname or *account to view the list for another user.",
         "  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");
-"ADDBAN" ("/msg $C ADDBAN <#channel> <mask|nick> [Reason]",
-        "Adds a ban to the channels permanent ban list, remaining in effect until removed with the DELBAN command. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended into a permanent ban.",
-        "$uSee Also:$u bans, delban, mdelban");
-"ADDUSER" ("/msg $C ADDUSER <#channel> <nick|*account> <level>",
+        "$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 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, $bmaster$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");
-"ADDTIMEDBAN" ("/msg $C ADDTIMEDBAN <#channel> <mask|nick> <Duration> [Reason]",
-        "Adds an automatically expiring ban to the channel ban list. This command behaves in the exact same fashion as ADDBAN with the exception that the bans are automatically removed after the user-supplied duration. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended. Timed bans can be removed with the DELBAN command, as with permanent bans.",
-        "$uSee Also:$u addban, bans, delban, durations");
+        "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.)",
+        "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.)",
+        "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 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>",
         "Removes the named channel (or channel mask) from the do-not-register list.",
-        "$uSee Also:$u register, noregister, unregister");
+        "$uSee Also:$u register, noregister, dnrsearch, unregister");
 "BAN" ("/msg $C BAN <#channel> <mask|nick>",
         "This command will temporarily add a ban for the user specified as the parameter. Masks are to be supplied in the format <Nick>!<Ident>@<Host> and usually contain wildcards. If a nick is specified, a mask is automatically generated (though not completely foolproof). This ban is removed either by removing it from the channel ban list using any irc client, or sending the UNBAN or UNBANALL commands. If you are banned with this method, the UNBANME command can be used.",
-        "$uFor assistance, please join to #support$u",
-        "Example: *!*serv@*.gamesurge.net would ban anyone with ident 'serv' and a gamesurge.net hostname from joining the channel.",
+        "$uFor assistance, please join #Help$u",
+        "Example: *!*serv@*.afternet.org would ban anyone with ident 'serv' and an afternet.org hostname from joining the channel.",
         "$uSee Also:$u unban, unbanall, unbanme");
-"BANS" ("/msg $C BANS <#channel>",
-        "This command lists all permanent and timed bans in the channel.",
-        "$uSee Also:$u addban, delban, mdelban");
+"LAMERS" ("/msg $C LAMERS <#channel> [mask]",
+        "This command lists all permanent and timed lamers in the channel matching an optional mask.",
+        "Lamers are nick!user@host masks which $C watches for, and keeps out of your channel.",
+        "If a nickname is specified, lists any bans that visibly match that user.",
+        "If a hostmask with no wildcards is specified, lists any bans that match that hostmask.",
+        "If a hostmask with wildcards is specified, lists any bans included in that mask.",
+        "$uSee Also:$u addlamer, dellamer, addtimedlamer");
+"CALC" ("/msg $C CALC <expression>",
+        "CALC calculates a mathematical expression, and returns the answer.  It",
+        "supports +, -, *, /, ^, and () and many other math operations, such as",
+        "sqrt[], tan[], etc.",
+        "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.",
+        "$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",
 "CUNSUSPEND" ("/msg $C CUNSUSPEND <#channel>",
         "Restores a channel's $b$C$b registration.",
         "$uSee Also:$u csuspend, unregister");
-"DELBAN" ("/msg $C DELBAN <#channel> <mask|nick>",
-        "Deletes a ban from the channel ban list. This command works for both permanent and timed bans alike.",
-        "$uSee Also:$u addban, addtimedban, bans");
+"DELLAMER" ("/msg $C DELLAMER <#channel> <mask|nick>",
+        "Deletes a lamer from the channel lamer list. This command works for both permanent and timed lamers alike.",
+        "$uSee Also:$u addlamer, addtimedlamer, lamers");
 "DELNOTE" ("/msg $C DELNOTE <#channel> <note-name>",
         "Deletes a note from the channel.  To do this, you must be able to set the note.",
         "$uSee Also:$u note, note types");
 "DEOP" ("/msg $C DEOP <#channel> <nick> [nick]...",
         "Deops the specified user[s].",
         "$uSee Also:$u down, op");
+"DEHOP" ("/msg $C DEHOP <#channel> <nick> [nick]...",
+        "Dehalfops the specified user[s].",
+        "$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");
+"DNRSEARCH" ("/msg $C DNRSEARCH <action> <criteria> <value> [<criteria> <value> ...]",
+        "Searches through the current do-not-register list for those matching the specified criteria, and applies the specified action to them.  A list of actions can be found in $bhelp dnrsearch action$b and a list of criteria in $bhelp dnrsearch criteria$b.",
+        "$uSee Also:$u allowregister, dnrsearch action, dnrsearch criteria, noregister");
+"DNRSEARCH ACTION" ("$bDNRSEARCH ACTION$b",
+       "Options for the action in $bdnrsearch$b are:",
+        "$bPRINT: $b      Display the do-not-register entry.",
+        "$bREMOVE:$b      Remove the do-not-register entry.",
+        "$bCOUNT: $b      Count the number of matching do-not-register entries.",
+        "$uSee Also:$u dnrsearch, dnrsearch criteria");
+"DNRSEARCH CRITERIA" ("$bDNRSEARCH CRITERIA$b",
+        "Options for the criteria in $bdnrsearch$b are:",
+        "$bCHANNEL:$b     Channel name, channel mask, or \*account (note the backslash).",
+        "$bSETTER: $b     Staff member who issued the do-not-register.",
+        "$bREASON: $b     Mask for the do-not-register reason or note.",
+        "$bLIMIT:  $b     Maximum entries to operate upon (default 50).",
+        "$bSET:    $b     Age limit for entry (defaults to minimum age).",
+        "$bEXPIRES:$b     Expiration limit for entry (defaults to minimum time).",
+        "Note: If you use the $blimit$b criteria, the full count of matching do-not-register entries will be shown at the end of the $bdnrsearch$b output, but only the first $blimit$b entries will be affected by the action.",
+        "$uSee Also:$u dnrsearch, dnrsearch action");
 "DOWN" ("/msg $C DOWN <#channel>",
-        "This command will devoice/deop you in the selected 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.");
-"EMOTE" ("/msg $C EMOTE <#channel> <text>",
-        "Makes $b$C$b send a CTCP ACTION message to the specified channel.",
+"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|nick|*account> <text>",
+        "Makes $b$C$b send a CTCP ACTION message to the specified channel/nick or all users on the account.",
         "$uSee Also:$u say");
 "EVENTS" ("/msg $C EVENTS <#channel> [limit [pattern]]",
         "Allows channel coowners to view a list of events related to their channel. If a pattern is provided, only events with a matching description will be displayed.",
-       "$bNote:$b You must specify a limit if you want to use a pattern to match against.",
-        "$uSee Also:$u last");
+       "$bNote:$b You must specify a limit if you want to use a pattern to match against.");
 "EXPIRE" ("/msg $C EXPIRE",
         "Expires any channels that have not been visited within the configured duration. Channel registrations are automatically expired, so you only need to use this command if the duration has been changed.",
         "$uSee Also:$u unvisited");
 "HELPERS" ("/msg $C HELPERS",
         "Lists all the helpers currently online. Nicknames enclosed in parentheses are away, and likely unavailable.",
         "$uSee Also:$u staff");
+"HLIST" ("/msg $C HLIST <#channel> [mask]",
+        "This command lists all users of level $bHalfop$b on a channel's userlist. If a mask is supplied, only halfops matching the mask will be shown.",
+        "$uSee Also:$u addhop, delhop, mdelhop, users");
+"HOP" ("/msg $C HOP <#channel> <nick> [nick]...",
+        "This command makes $C halfop the specified user.",
+        "$uSee Also:$u addhop, delhop, dehop");
 "INFO" ("/msg $C INFO <#channel>",
         "This command responds with various pieces of information about a channel's users, status, and registration.");
 "INVITE" ("/msg $C INVITE <#channel> [nick [reason]]",
-        "Invites a user into the channel, sending them a reason if one is provided. However, unless you have at least $bmaster$b access, you can only invite yourself with this command. If no nick is provided, the user issuing the command will be invited.");
+        "Invites a user into the channel, sending them a reason if one is provided. However, unless you have at least $bmanager$b access, you can only invite yourself with this command. If no nick is provided, the user issuing the command will be invited.");
 "INVITEME" ("/msg $S INVITEME <#channel>",
         "Invites you into the channel.");
 "IRCOPS" ("/msg $C IRCOPS",
 "MDELCOOWNER" ("/msg $C MDELCOOWNER <#channel> <pattern>",
         "Deletes all coowners with accounts matching the given pattern from the channel user list.",
         "$uSee Also:$u clist, delcoowner");
-"MDELMASTER" ("/msg $C MDELMASTER <#channel> <pattern>",
-        "Deletes all masters with accounts matching the given pattern from the channel user list.",
-        "$uSee Also:$u mdelban, mdelcoowner, mdelop, mdelowner, mdelpeon");
+"MDELHOP" ("/msg $C MDELHOP <#channel> <pattern>",
+        "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, 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, mdelmaster, 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, mdelmaster, 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.",
+        "$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> <nodelete>",
+        "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. If nodelete is added then the #channel wont be deleted after the merge.",
         "$uSee Also:$u register, move, unregister");
 "MLIST" ("/msg $C MLIST <#channel> [mask]",
-        "This command lists all users of level $bMaster$b on a channel's userlist. If a mask is supplied, only masters matching the mask will be shown.",
-        "$uSee Also:$u addmaster, delmaster, mdelmaster, users");
+        "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 addmanager, delmanager, mdelmanager, users");
 "MODE" ("/msg $C MODE <#channel>",
         "Resets the modes in the channel to their default.",
         "$uSee Also:$u open, set");
 "NETINFO" ("/msg $C NETINFO",
         "Displays some assorted pieces of information about network-wide $b$C$b statistics.",
         "$uSee Also:$u info, staff");
-"NOREGISTER" ("/msg $C NOREGISTER <#channel|*Account> <reason>",
+"NOREGISTER" ("/msg $C NOREGISTER <#channel|*Account> <duration> <reason>",
         "With no arguments, lists the current do-not-register channels.",
         "With arguments, adds a do-not-register channel (or account) with the specified reason.  In this case, the channel name may include * or ? wildcards.",
-        "$uSee Also:$u allowregister, register, unregister");
+        "The duration may be \"0\" to make it never expire; otherwise, the do-not-register entry will be automatically removed after $uduration$u.",
+        "$uSee Also:$u allowregister, register, dnrsearch, unregister");
 "NOTE" ("/msg $C NOTE <#channel> [<type> [new-note-text]]",
         "With no arguments, lists all visible notes on the specified channel.",
         "With one argument, lists the note type you name (if it is visible to you).",
         "$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.");
-"SAY" ("/msg $C SAY <#channel> <text>",
-        "Makes $b$C$b send a message to the specified channel.",
+        "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|nick|*account> <text>",
+        "Makes $b$C$b send a message to the specified channel/nick or all users on the account.",
         "$uSee Also:$u emote");
 "SEARCH CRITERIA" ("$bSEARCH CRITERIA$b",
         "The following criteria may be used:",
         "  REGISTERED  Channels that have been registered for less than the given duration",
         "  FLAGS       Matches channels with the specified flag set",
         "  LIMIT       Limit the number of channels returned by the search",
-        "Flags that can be matched against are: nodelete and suspended.",
+        "Flags that can be matched against are: nodelete, suspended and unreviewed.",
         "$uSee Also:$u search, search actions");
 "SEARCH ACTIONS" ("$bSEARCH ACTIONS$b",
        "The following are valid $bsearch$b actions:",
         "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.",
-        "GIVEVOICE:    The users that $b$C$b will autovoice.",
-        "GIVEOPS:      The users that $b$C$b will autoop.",
-        "ENFOPS:       Restrictions for opping users.",
-        "ENFMODES:     Restrictions to change the default modes.",
-        "ENFTOPIC:     Restrictions on changing the topic.",
-        "TOPICSNARF:   Topics set manually (by /TOPIC #channel ...) by users this level and above change the default $b$C$b topic.",
+        "ENFOPS:       Who can op users.",
+        "ENFHALFOPS:   Who can half-op users.",
+        "ENFMODES:     Who can change the channel modes.",
+        "ENFTOPIC:     Who can change 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.",
+        "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.",
+        "UNREVIEWED:   Indicates channels that have not been manually reviewed.",
         "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 giveops, set enfops, 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 allows for the topic.  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.  A user may set a topic if either $btopicmask$b or $benftopic$b allow it.",
-        "For example, $b!set topicmask Hello *$b allows anyone to set the topic to be $bHello world$b, but they must be able to override the topic (according to the $bEnfTopic$b setting) to set the topic to $bGoodbye world$b.",
+        "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.",
         "You may \"escape\" those characters by putting a \\ before them in the topic mask; for example, $b!set topicmask Whassup\\?$b would only allow the topic to be $bWhassup?$b, while leaving out the \\ would allow the topic to be $bWhassup!$b (among other things).",
-        "For ease of use, if the TopicMask has only one * and no ?, then using $b!topic something$b will (if $bsomething$b does not match the TopicMask and you cannot override the topic lock) replace the * with the text $bsomething$b.  If there is more than one * or any ? at all, $b!topic something$b will not work like that.",
+        "If the TopicMask has only one * and no ?, then using:",
+        " $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:",
+       "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 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.",
+
+"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 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 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.  If your access in the channel is less than the GiveVoice setting, this does nothing.  Otherwise, if your access is less than the GiveOps setting, $b$C$b will give you voice.  If your access is at least GiveOps, $b$C$b will give you ops.");
+        "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");
          "The $buset$b command allows you to toggle various channel user settings. With no arguments, it will print the current values of all channel user options.",
          "$bOptions:$b",
          "INFO:       Sets the infoline that $C sends when you join the channel.",
-         "NOAUTOOP:   Enable or disable $C automatically opping you upon joining or authenticating.",
+         "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.",
-         "NOTE: The NoAutoOp setting is equivalent to the !togop command in previous versions of srvx.",
+        "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. By setting the message to '*', you will clear your message.",
+        "This command will set a user defined information message to be displayed when you join the channel. Set to '*' to clear the message.",
+        "Note: to keep from being annoying, your info message only shows when you have been offline for more than a few minutes.",
         "$uSee Also:$u access");
 "USERS" ("/msg $C USERS <#channel> [mask]",
         "Displays the userlist for the specified channel. If a mask is supplied, only users matching the mask will be shown.",
         "This command lists all users of level $bOwner$b on a channel's userlist. If a mask is supplied, only owners matching the mask will be shown.",
         "$uSee Also:$u addcoowner, delcoowner, mdelcoowner, users");
 
-"I'VE FALLEN AND I CAN'T GET UP" ("$bHelp, I've fallen and I can't get up$b!",
-        "If you drank your milk, you might not feel so vulnerable right now.",
-        "So next time you're sitting in front of a tall frosty glass of milk, just think how much it will help build up your bone structure.");
-"ME"   "Help you? You're beyond help.";
-"Zoot" "Crash it again, please?";
-"Entrope" "C Code.  C Code Run.  Run, Code, Run!!    (please?)";
-"emacs" ("A novice of the temple once approached the Chief Priest with a question.",
-        "The novice asked, \"Master, does Emacs have the Buddha nature?\"",
-        "The Chief Priest had been in the temple for many years and could be relied upon to know these things.  He thought for several minutes before replying.",
-        "\"I don't see why not.  It's got bloody well everything else.\"",
-        "With that, the Chief Priest went to lunch.  The novice suddenly achieved enlightenment, several years later.");
-"thanks" ("The srvx developers would like to thank the following people for their help in making srvx as polished as it is today:",
-        "$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.",
-        "$bMeeko, eraser, hock(ey), KilledInAction, MadEwokHerd, Milon and Shoat$b - Hardcore beta testing and bug finding on the testnet.",
-        "$bCrips and feigling$b - Reading through all the boring messages and finding ways to make them clearer.");
+"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.",
+        "     $bMeeko, eraser, hock(ey), KilledInAction, MadEwokHerd, Milon and Shoat$b - Hardcore beta testing and bug finding on the testnet.",
+        "     $bCrips and feigling$b - Reading through all the boring messages and finding ways to make them clearer.",
+        "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."
+        );