fix possible crash on user deletion
[srvx.git] / src / nickserv.help
index 039a8b7bc97ecbb89a39d1885b3ea374007d5519..dcc67cb2dee4e3a586877938faa45aa76421e434 100644 (file)
@@ -2,17 +2,17 @@
         "/services/nickserv/disable_nicks" {
         "/services/nickserv/email_enabled" (
                 "$b$N Help$b",
-                "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. The other component allows for ownership of a nickname, but is not necessarily enabled.",
+                "$b$N$b is an authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid.",
                "$b$N$b command categories:",
                "  ACCOUNT    Account management.",
                 "  NOT NICKSERV   A note on what this service does and does not do.",
-                "  EMAIL      Email maintenance commands",
+                "  EMAIL      Email maintenance commands.",
                "  OTHERS     Other functions.",
                 "  COMMANDS   A list of all available commands."
         );
         "!/services/nickserv/email_enabled" (
                 "$b$N Help$b",
-                "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. The other component allows for ownership of a nickname, but is not necessarily enabled.",
+                "$b$N$b is an authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid.",
                "$b$N$b command categories:",
                "  ACCOUNT    Account management.",
                 "  NOT NICKSERV   A note on what this service does and does not do.",
         "!/services/nickserv/disable_nicks" {
         "/services/nickserv/email_enabled" (
                 "$b$N Help$b",
-                "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. The other component allows for ownership of a nickname, but is not necessarily enabled.",
+                "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid.  It also manages nickname ownership.",
                "$b$N$b command categories:",
                "  ACCOUNT    Account management.",
                 "  NICK       Nick management.",
-                "  EMAIL      Email maintenance commands",
+                "  EMAIL      Email maintenance commands.",
                "  OTHERS     Other functions.",
                 "  COMMANDS   A list of all available commands."
         );
         "!/services/nickserv/email_enabled" (
                 "$b$N Help$b",
-                "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. The other component allows for ownership of a nickname, but is not necessarily enabled.",
+                "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. It also manages nickname ownership.",
                "$b$N$b command categories:",
                "  ACCOUNT    Account management.",
                 "  NICK       Nick management.",
@@ -56,7 +56,6 @@
                 "  DELMASK    Remove a hostmask from your account.",
                 "  SET        Set per-account options.",
                 "  UNREGISTER Unregister an account.",
-                "  RENAME     Renames an account",
                 "  GHOST      Disconnects your old clients",
                 "  ACCOUNT FLAGS Definition for each account flag"
         );
@@ -71,7 +70,6 @@
                 "  SET        Set per-account options.",
                 "  UNREGISTER Unregister an account.",
                 "  RENAME     Renames an account",
-                "  GHOST      Disconnects your old clients",
                 "  ACCOUNT FLAGS Definition for each account flag"
         );
 };
 
 "OUNREGISTER" {
         "/services/nickserv/disable_nicks" (
-        "/msg $N OUNREGISTER <nick|*account>",
+        "/msg $N OUNREGISTER <nick|*account> [FORCE]",
         "Un-registers the specified account.",
         "You may use *Account instead of Nick as the name argument; the * makes $N use the name of an account directly (useful if the user is not online).",
+        "Without FORCE only accounts that are inactive and have no special flags can be unregistered.",
         "$uSee Also:$u oregister"
         );
         "!/services/nickserv/disable_nicks" (
-        "/msg $N OUNREGISTER <nick|*account>",
+        "/msg $N OUNREGISTER <nick|*account> [FORCE]",
         "Un-registers the specified account, and any nicks that have been registered to that account.",
         "You may use *Account instead of Nick as the name argument; the * makes $N use the name of an account directly (useful if the user is not online).",
+        "Without FORCE only accounts that are inactive and have no special flags can be unregistered.",
         "$uSee Also:$u oregister, oregnick, ounregnick"
         );
 };
         );
 };
 
+"ODELCOOKIE" {
+        "/services/nickserv/email_enabled" (
+        "/msg $N ODELCOOKIE <nick|*account>",
+        "Requests that $N cancel a cookie for the specified account."
+        );
+};
+
 "COOKIE" {
         "/services/nickserv/email_enabled" (
         "/msg $N@$s COOKIE <account> <cookie>",
 };
 
 "OTHERS" ("Other commands are:",
-        "  USERINFO    Displays the account a user is authenticated to.",
         "  ACCOUNTINFO Displays information about an account.",
-        "  VERSION     $b$N$b version information.",
-        "  STATUS      $b$N$b status.",
-        "  SEARCH      Search for accounts by various criteria.",
+        "  HELP        Get help on $b$N$b.",
         "  MERGE       Merge one account into another.",
         "  MERGEDB     Load a database into memory.",
-        "  HELP        Get help on $b$N$b.");
+        "  RENAME      Rename an account.",
+        "  STATUS      $b$N$b status.",
+        "  SEARCH      Search for accounts by various criteria.",
+        "  USERINFO    Display the account a user is authenticated to.",
+        "  VERSION     $b$N$b version information."
+        );
 
 "ADDMASK" ("/msg $N ADDMASK [user@host]",
         "Adds the specified user@host to the account you are authenticated to with $b$N$b.  If no mask is given, it uses your current mask.",
 "ACCOUNTINFO" {
         "/services/nickserv/disable_nicks" (
         "/msg $N ACCOUNTINFO <nick|*account>",
-        "Displays infomation on the specified account, including the date the account was registered, the last time that person was seen, the account's $b$N$b info, its flags, its hostmask(s), its channels, and the account's current nickname.",
+        "Displays infomation on the specified account, including the date the account was registered, the last time it was used, its infoline, its flags, its hostmask(s), its channels, and nicknames of users currently using the account.",
         "You may use *Account instead of Nick as the name argument; the * makes $N use the name of an account directly (useful if the user is not online).",
         "$uSee Also:$u userinfo, account flags"
         );
         "! /services/nickserv/disable_nicks" (
         "/msg $N ACCOUNTINFO <nick|*account>",
-        "Displays infomation on the specified account, including the date the account was registered, the last time that person was seen, the account's $b$N$b info, its flags, its hostmask(s), its channels, and the account's current nickname.",
+        "Displays infomation on the specified account, including the date the account was registered, the last time it was used, its infoline, its flags, its hostmask(s), its channels, and nicknames of users currently using the account.",
         "You may use *Account instead of Nick as the name argument; the * makes $N use the name of an account directly (useful if the user is not online).",
         "$uSee Also:$u nickinfo, userinfo, account flags"
         );
         "$bc$b  Use mIRC color codes in responses",
         "$bf$b  Account frozen/on vacation (will not be unregistered for inactivity; cleared when account is authenticated against)",
         "$bn$b  No-delete (will never be unregistered for inactivity)",
+               "$bb$b  Bot",
+               "$bI$b  Invisible (user will not be shown in staff list)",
         "$uSee Also:$u accountinfo, set");
 "OADDMASK" ("/msg $N OADDMASK <nick|*account> <user@host>",
         "Adds a hostmask to the specified account.",
         "You may use *Account instead of Nick as the name argument; the * makes $N use the name of an account directly (useful if the user is not online).",
         "$uSee Also:$u oaddmask");
 "OREGISTER" {
-        "/services/nickserv/disable_nicks" (
-        "/msg $N@$s OREGISTER <account> <password> <user@host|nick>",
-        "Registers an account with $b$N$b using the specified account, password, and user@host. If then nick of an online user is specified, then that user's user@host is used.  If no nickname or hostmask is used, it uses a default hostmask the first time the user authenticates.",
+        "/services/nickserv/email_enabled && /services/nickserv/disable_nicks" (
+        "/msg $N@$s OREGISTER <account> <password> [user@host|nick|*] [email]",
+        "Registers an account with $b$N$b using the specified account, password, and user@host. If the nick of an online user is specified, then that user's user@host is used.  If no nickname or hostmask is used, it uses a default hostmask the first time the user authenticates.",
+        "If an email is specified, the account will only be registered if the email is valid and not blacklisted and after registering, the email will be set on the account.",
         "$uSee Also:$u ounregister"
         );
-        "!/services/nickserv/disable_nicks" (
-        "/msg $N@$s OREGISTER <account> <password> <user@host|nick>",
-        "Registers an account with $b$N$b using the specified account, password, and user@host. If then nick of an online user is specified, then that user's user@host is used.  If no nickname or hostmask is used, it uses a default hostmask the first time the user authenticates.",
+        "/services/nickserv/email_enabled && !/services/nickserv/disable_nicks" (
+        "/msg $N@$s OREGISTER <account> <password> [user@host|nick|*] [email]",
+        "Registers an account with $b$N$b using the specified account, password, and user@host. If the nick of an online user is specified, then that user's user@host is used.  If no nickname or hostmask is used, it uses a default hostmask the first time the user authenticates.",
+        "If an email is specified, the account will only be registered if the email is valid and not blacklisted and after registering, the email will be set on the account.",
+        "$uSee Also:$u oregnick, ounregister, ounregnick"
+        );
+        "!/services/nickserv/email_enabled && /services/nickserv/disable_nicks" (
+        "/msg $N@$s OREGISTER <account> <password> [user@host|nick|*]",
+        "Registers an account with $b$N$b using the specified account, password, and user@host. If the nick of an online user is specified, then that user's user@host is used.  If no nickname or hostmask is used, it uses a default hostmask the first time the user authenticates.",
+        "$uSee Also:$u ounregister"
+        );
+        "!/services/nickserv/email_enabled && !/services/nickserv/disable_nicks" (
+        "/msg $N@$s OREGISTER <account> <password> [user@host|nick|*]",
+        "Registers an account with $b$N$b using the specified account, password, and user@host. If the nick of an online user is specified, then that user's user@host is used.  If no nickname or hostmask is used, it uses a default hostmask the first time the user authenticates.",
         "$uSee Also:$u oregnick, ounregister, ounregnick"
         );
 };
         "$bPASSWORD$b: Sets user's password.",
         "$bFLAGS$b: Changes account flags for user.",
         "$bLEVEL$b: Sets $O access level.",
+        "$bSTAFF_LEVEL$b: Sets staff level.",
         "$bEPITHET$b: The description $C shows for the user's access.",
         "You may use *Account instead of Nick as the name argument; the * makes $N use the name of an account directly (useful if the user is not online).",
         "$uSee Also:$u accountinfo, account flags, set, userinfo"
         "$bPASSWORD$b: Sets user's password.",
         "$bFLAGS$b: Changes account flags for user.",
         "$bLEVEL$b: Sets $O access level.",
+        "$bSTAFF_LEVEL$b: Sets staff level.",
         "$bEPITHET$b: The description $C shows for the user's access.",
         "You may use *Account instead of Nick as the name argument; the * makes $N use the name of an account directly (useful if the user is not online).",
         "$uSee Also:$u accountinfo, account flags, nickinfo, set, userinfo"
 "REGISTER" {
         "0: /services/nickserv/email_required" (
         "/msg $N@$s REGISTER <account> <password> <email>",
-        "Registers a specified account with $b$N$b, adding your current user@host to your new account. You must the password you specify with $bregister$b to use $bauth$b to authenticate to your account.",
+        "Registers a specified account with $b$N$b, adding your current user@host to your new account. You must use the same password with $bauth$b to authenticate to your account.",
         "An email will be sent to the email address you give containing a cookie that will let you activate your account.  Once you have that cookie, you must use the $bcookie$b command to be able to use your account.",
         "$uSee Also:$u auth, unregister"
         );
         "1: /services/nickserv/email_enabled" (
         "/msg $N@$s REGISTER <account> <password> [email]",
-        "Registers a specified account with $b$N$b, adding your current user@host to your new account. You must the password you specify with $bregister$b to use $bauth$b to authenticate to your account.",
+        "Registers a specified account with $b$N$b, adding your current user@host to your new account. You must use the same password with $bauth$b to authenticate to your account.",
         "If you specify an email address, an email will be sent to it containing a cookie that will let you activate your account.  Once you have that cookie, you must use the $bcookie$b command to be able to use your account.",
         "$uSee Also:$u auth, unregister"
         );
         "2: !/services/nickserv/email_enabled" (
         "/msg $N@$s REGISTER <account> <password>",
-        "Registers a specified account with $b$N$b, adding your current user@host to your new account. You must the password you specify with $bregister$b to use $bauth$b to authenticate to your account.",
+        "Registers a specified account with $b$N$b, adding your current user@host to your new account. You must use the same password with $bauth$b to authenticate to your account.",
         "$uSee Also:$u auth, unregister"
         );
 };
         "/services/nickserv/email_enabled && /services/nickserv/disable_nicks" (
         "/msg $N SET [<setting> [value]]",
         "Changes your account settings for srvx. Settings are:",
-        "$bANNOUNCEMENTS$b: Indicates whether you wish to receive community announcements via the $G service.",
         "$bCOLOR$b: If set, $b$N$b and $b$C$b will use $bbold$b and $uunderlines$u in text they send you.",
         "$bEMAIL$b: Sets (or changes) your email address.",
         "$bINFO$b:  Your infoline for $b$N$b (which can be viewed with the $baccountinfo$b command).",
         "/services/nickserv/email_enabled && !/services/nickserv/disable_nicks" (
         "/msg $N SET [<setting> [value]]",
         "Changes your account settings for srvx. Settings are:",
-        "$bANNOUNCEMENTS$b: Indicates whether you wish to receive community announcements via the $G service.",
         "$bCOLOR$b: If set, $b$N$b and $b$C$b will use $bbold$b and $uunderlines$u in text they send you.",
         "$bEMAIL$b: Sets (or changes) your email address.",
         "$bINFO$b:  Your infoline for $b$N$b (which can be viewed with the $baccountinfo$b command).",
         "!/services/nickserv/email_enabled && /services/nickserv/disable_nicks" (
         "/msg $N SET [<setting> [value]]",
         "Changes your account settings for srvx. Settings are:",
-        "$bANNOUNCEMENTS$b: Indicates whether you wish to receive community announcements via the $G service.",
         "$bCOLOR$b: If set, $b$N$b and $b$C$b will use $bbold$b and $uunderlines$u in text they send you.",
         "$bINFO$b:  Your infoline for $b$N$b (which can be viewed with the $baccountinfo$b command).",
         "$bLANGUAGE$b: Your preferred language for private messages from the services.",
         "!/services/nickserv/email_enabled && !/services/nickserv/disable_nicks" (
         "/msg $N SET [<setting> [value]]",
         "Changes your account settings for srvx. Settings are:",
-        "$bANNOUNCEMENTS$b: Indicates whether you wish to receive community announcements via the $G service.",
         "$bCOLOR$b: If set, $b$N$b and $b$C$b will use $bbold$b and $uunderlines$u in text they send you.",
         "$bINFO$b:  Your infoline for $b$N$b (which can be viewed with the $baccountinfo$b command).",
         "$bLANGUAGE$b: Your preferred language for private messages from the services.",
         "$uSee Also:$u accountinfo, nickinfo, userinfo"
         );
 };
+"SET LANGUAGE" ("/msg $S SET LANGUAGE <langname>",
+        "Sets the language that $S and other services will use when sending you messages.",
+        "If a particular message is not available in your language, it will use the closest match it has.",
+        "Supported languages are: ${modcmd:languages}",
+        "$uSee Also:$u set");
 "STATUS" {
         "/services/nickserv/disable_nicks" (
         "/msg $N STATUS",
 "USERINFO" ("/msg $N USERINFO <nick>",
         "Shows what account the nick specified is authenticated to.",
         "$uSee Also:$u auth, accountinfo");
-"VERSION" ("/msg $N VERSION",
-        "Sends you the srvx version and some additional version information that is specific to $b$N$b.");
 "GHOST" ("/msg $N GHOST <nick>",
         "This disconnects an old client that is authed to your account.  This is $bnot$b the same thing as nick ownership; the user $bmust$b be authenticated to the same account you are.",
         "$uSee Also:$u auth");
         "  HOSTMASK SUPERSET - Account matches if someone with this hostmask can auth to the account",
         "  HOSTMASK EXACT - Account matches if this exact hostmask is in list",
         "  HOSTMASK SUBSET - Account matches if this mask \"covers\" one in their userlist",
+       "  HOSTMASK LASTQUIT - Account matches if this mask \"covers\" user was last seen using",
         "  HOSTMASK   - A glob that must match a hostmask for the account (equivalent to HOSTMASK SUPERSET)",
+        "  FAKEHOST   - A glob that must match the account's fakehost",
+        "  KARMA      - Only match accounts with karma like this (<nnn, <=nnn, =nnn, >=nnn or >nnn)",
         "  ACCESS     - An $O access constraint (<nnn, <=nnn, =nnn, >=nnn or >nnn)",
         "$uSee Also:$u search, search action"
         );
         "  HOSTMASK SUPERSET - Account matches if someone with this hostmask can auth to the account",
         "  HOSTMASK EXACT - Account matches if this exact hostmask is in list",
         "  HOSTMASK SUBSET - Account matches if this mask \"covers\" one in their userlist",
+        "  HOSTMASK LASTQUIT - Account matches if this mask \"covers\" user was last seen using",
         "  HOSTMASK   - A glob that must match a hostmask for the account (equivalent to HOSTMASK SUPERSET)",
         "  ACCESS     - An $O access constraint (<nnn, <=nnn, =nnn, >=nnn or >nnn)",
         "$uSee Also:$u search, search action"
         );
 };
-"MERGE" ("/msg $N MERGE <from-nick|*from-account> <to-nick|*to-account>",
-        "Merge access from $bfrom-account$b into $bto-account$b.  This includes hostmasks, registered nicks, authed users, access in channels, and OpServ access (if any).  If $bto-account$b has equal  or greater access than $bfrom-account$b (or more a general hostmask, etc), $bto-account$b keeps that information.",
+"MERGE" {
+        "!/services/nickserv/disable_nicks" (
+        "/msg $N MERGE <from-nick|*from-account> <to-nick|*to-account>",
+        "Merge access from $bfrom-account$b into $bto-account$b.  This includes hostmasks, registered nicks, authed users, access in channels, and $O access (if any).  If $bto-account$b has equal  or greater access than $bfrom-account$b (or more a general hostmask, etc), $bto-account$b keeps that information.",
+        "This command is only accessible to helpers and IRC operators.",
+        "$uSee Also:$u rename"
+        );
+        "/services/nickserv/disable_nicks" ("/msg $N MERGE <from-nick|*from-account> <to-nick|*to-account>",
+        "Merge access from $bfrom-account$b into $bto-account$b.  This includes hostmasks, authed users, access in channels, and $O access (if any).  If $bto-account$b has equal  or greater access than $bfrom-account$b (or more a general hostmask, etc), $bto-account$b keeps that information.",
         "This command is only accessible to helpers and IRC operators.",
-        "$uSee Also:$u rename");
-"MERGEDB" ("/msg $N MERGE <dbfilename>",
+        "$uSee Also:$u rename"
+        );
+};
+"MERGEDB" ("/msg $N MERGEDB <dbfilename>",
         "Merge contents of $bdbfilename$b into in-memory database.  Any accounts in both will be $bOVERWRITTEN$b with the information from $bdbfilename$b, although authed users will be authed to the new account.",
         "This command is only accessible to IRC operators.",
         "$uSee Also:$u write");
+"ADDNOTE" ("/msg $N ADDNOTE <nick|*account> <duration> <text>",
+       "Add a note to an account.",
+        "This command is only accessible to helpers and IRC operators.",
+        "$uSee Also:$u delnote");
+"DELNOTE" ("/msg $N DELNOTE <nick|*account> <noteid>",
+       "Removes a note from an account.",
+        "This command is only accessible to helpers and IRC operators.",
+        "$uSee Also:$u delnote");