-"bind" ("/msg $S BIND <service> <bindname> <command> [additional args..]",
- "Binds (adds) a command to an existing service. $bbindname$b is the name of the new command for the service. $bcommand$b may be one of:",
- " CommandName To refer to a command on the same service.",
- " ServiceNick.CommandName To refer to a command bound on a different service such as $O, $C, $N, etc.",
- " *ModuleName.CommandName To bind a command directly from a module (note the asterisk before the module name).",
- " *ModuleName.* To bind all commands from the named module, where ModuleName is one of OpServ, NickServ, ChanServ, modcmd, or others.",
- "For simplicity, you cannot bind to a command that is itself an alias. Certain commands will not bound with the last form; you must bind them by name.",
- "(A command binding is very similar to an alias, but only pays the speed penalty for alias expansion when there are additional arguments in the binding.)",
- "If you want to be able to bind $bfoo bar$b as a command, you need to bind $bfoo$b to modcmd.joiner first.",
- "$uSee also:$u unbind, joiner");
-
-"commands" "${index}";
+"bind" ("/msg $S BIND <ServiceNick> <BindName> [Nick|*Module.]<Command> [Arg [Arg[..]]]",
+ "Bind creates a command. ",
+ " $bServiceNick$b is which service the new command will work on.",
+ " $bBindName$b is the name of the new command you are making.",
+ " $bCommand$b To refer to a command on the same service.",
+ " $bNick$b To refer to a command on a different ",
+ " service such as $O, $C, $N, etc.",
+ " $b*Module$b To bind a command directly from a module such as",
+ " ChanServ, OpServ, NickServ, modcmd, etc",
+ " (note the asterisk before the module name).",
+ " $barg(s)$b Can be anything, or you can use $$1 $$2 $$3 etc",
+ " which will be replaced with the arguments passed",
+ " to the command. Use a - after ($$2-) to indicate",
+ " that argument and all arguments after it.",
+ "$b$b",
+ "There is a special case to load ALL commands from a module:",
+ "/msg $S bind <serviceNick> * *<Module>.* ",
+ " You may need to run this after installing previously",
+ " missing modules, or making changes such as enabling",
+ " the email features, so all the commands are bound.",
+ " Note: Certain(alias) commands will not bind this way; ",
+ " you must bind them by name. ",
+ " See $bREBINDALL$b to rebind everything.",
+ "$b$b",
+ "For simplicity, you cannot bind to a command that is an alias.",
+ "$b$b",
+ "If you want to bind $bfoo bar$b as a command, bind $bfoo$b to $b*modcmd.joiner$b first, unless foo is a builtin command such as uset, in which case use '\\' to escape the space (example: $bbind x3 uset\ autoop x3.uset\ autoop$b)",
+ "$b$b",
+ "$uExamples$u",
+ " bind X3 autoop *chanserv.uset\\ autoop",
+ " bind O3 murder o3.trace gline nick $$1 duration 1m reason $$2-",
+ " bind X3 * *chanserv.*",
+ "$b$b",
+ "$uSee also:$u unbind, joiner, modcmd, rebindall");
+
+"commands" ("The following commands are available:",
+ "${index}",
+ "$uSee Also$u: modcmd, command");
+
+"rebindall" ("/msg $S REBINDALL",
+ "Rebinds all available delault commands and aliases for each service and module currently loaded.",
+ "Note: this does NOT remove any additional aliases or bindings you may have made, but will replace any you have deleted.",
+ "Good to use after upgrades or after enabling 'email' support to ensure you have all commands bound to a service bot.",
+ "$uSee also:$u bind (esp 'bind nick * *mod.*'), unbind, modcmd");
"god" ("/msg $C GOD [on|off]",
"Toggles security override, which grants you complete access to all channels. Please use carefully.");
"Reports how long it takes to run the specified command.");
"command" ("/msg $S COMMAND <command>",
- "Shows the restrictions on who can use the named command (and how).");
+ "Shows the restrictions on who can use the named command (and how).",
+ "$uSee Also:$u modcmd, bind");
"modcmd" ("/msg $S MODCMD <command> [<option> <newval> ...]",
- "Displays options for the specified command, or changes the options and values listed. The command name may be prefixed with $bServiceNick.$b to specify another service's command (for example, $N.AUTH to refer to the auth command).",
+ "Displays and optionally changes options for the specified command. The command name may be prefixed with $bServiceNick.$b to specify another service's command (for example, $N.AUTH to refer to the auth command).",
+ "Note: For multi-word commands, escape the space with a '\'. Example: trace\ gline",
"Supported options are:",
" FLAGS Comma-separated, +/- prefixed list of flags to add or remove.",
" CHANNEL_ACCESS Minimum ChanServ access.",
" OPER_ACCESS Minimum OpServ access.",
" ACCOUNT_FLAGS Account flags to require or deny (for example, +R-S)",
- "See the $bmodcmd flags$b help entry for a list of supported flags.");
+ "See the $bmodcmd flags$b help entry for a list of supported flags.",
+ "$uSee Also:$u modcmd flags, command, bind");
"modcmd flags" ("The following flags are supported for commands:",
" ACCEPTCHAN Treat a normal channel name (if specified) as the context for the command",
"helpfiles" ("/msg $S HELPFILES <service> [module list]",
"With only a service nick, shows the helpfiles used by that service.",
- "With a list of modules, sets the order that the service will look up non-command help entries.",
+ "Give a list of modules (seperated by spaces), to set the order that the service will look up non-command help entries.",
"$uSee Also:$u bind, unbind");
"service add" ("/msg $S SERVICE ADD <nick> <hostname> <description>",
"$uSee Also:$u service add, service rename, service remove");
"service remove" ("/msg $S SERVICE REMOVE <nick> [<quit reason>]",
- "Destroys a service. If a default service is named, it will be recreated when srvx restarts.",
+ "Destroys a service. If a default service is named, it will be recreated when X3 restarts.",
"$uSee Also:$u service add, service rename, service trigger");
"version" ("/msg $S version",