diff options
author | Sadie Powell <sadie@witchery.services> | 2025-04-22 18:14:46 +0100 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2025-04-22 18:56:26 +0100 |
commit | f3743cd37dd1efb2d31f2d8aa3d489df68909c84 (patch) | |
tree | 64066a4b7f4aea205a3f8bf4811e0235646f4870 /modules | |
parent | 0c155e0c056235720e258edc4be8c48244e73033 (diff) |
Remove hardcoded command names from most messages.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/botserv/bs_bot.cpp | 39 | ||||
-rw-r--r-- | modules/chanserv/cs_access.cpp | 74 | ||||
-rw-r--r-- | modules/chanserv/cs_akick.cpp | 29 | ||||
-rw-r--r-- | modules/chanserv/cs_entrymsg.cpp | 46 | ||||
-rw-r--r-- | modules/chanserv/cs_mode.cpp | 10 | ||||
-rw-r--r-- | modules/global/gl_queue.cpp | 27 | ||||
-rw-r--r-- | modules/nickserv/ns_cert.cpp | 41 | ||||
-rw-r--r-- | modules/operserv/os_akill.cpp | 87 | ||||
-rw-r--r-- | modules/operserv/os_session.cpp | 99 |
9 files changed, 253 insertions, 199 deletions
diff --git a/modules/botserv/bs_bot.cpp b/modules/botserv/bs_bot.cpp index cd39f73b0..79092ca99 100644 --- a/modules/botserv/bs_bot.cpp +++ b/modules/botserv/bs_bot.cpp @@ -348,24 +348,27 @@ public: this->SendSyntax(source); source.Reply(" "); source.Reply(_( - "Allows Services Operators to create, modify, and delete " - "bots that users will be able to use on their own " - "channels." - "\n\n" - "\002BOT\032ADD\002 adds a bot with the given nickname, username, " - "hostname and realname. Since no integrity checks are done " - "for these settings, be really careful." - "\n\n" - "\002BOT\032CHANGE\002 allows you to change the nickname, username, hostname " - "or realname of a bot without deleting it (and " - "all the data associated with it)." - "\n\n" - "\002BOT\032DEL\002 removes the given bot from the bot list." - "\n\n" - "\002Note\002: You cannot create a bot with a nick that is " - "currently registered. If an unregistered user is currently " - "using the nick, they will be killed." - )); + "Allows Services Operators to create, modify, and delete " + "bots that users will be able to use on their own " + "channels." + "\n\n" + "\002%s\032ADD\002 adds a bot with the given nickname, username, " + "hostname and realname. Since no integrity checks are done " + "for these settings, be really careful." + "\n\n" + "\002%s\032CHANGE\002 allows you to change the nickname, username, hostname " + "or realname of a bot without deleting it (and " + "all the data associated with it)." + "\n\n" + "\002%s\032DEL\002 removes the given bot from the bot list." + "\n\n" + "\002Note\002: You cannot create a bot with a nick that is " + "currently registered. If an unregistered user is currently " + "using the nick, they will be killed." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } }; diff --git a/modules/chanserv/cs_access.cpp b/modules/chanserv/cs_access.cpp index c7754b2ad..43082ee02 100644 --- a/modules/chanserv/cs_access.cpp +++ b/modules/chanserv/cs_access.cpp @@ -591,7 +591,7 @@ public: "a user level of 0, and any unregistered user has a user level " "of -1." "\n\n" - "The \002ACCESS\032ADD\002 command adds the given mask to the " + "The \002%s\032ADD\002 command adds the given mask to the " "access list with the given user level; if the mask is " "already present on the list, its access level is changed to " "the level specified in the command. The \037level\037 specified " @@ -599,7 +599,8 @@ public: "When a user joins the channel the access they receive is from the " "highest level entry in the access list." ), - source.service->nick.c_str()); + source.service->nick.c_str(), + source.command.nobreak().c_str()); if (!Config->GetModule("chanserv").Get<bool>("disallow_channel_access")) { @@ -611,26 +612,32 @@ public: source.Reply(" "); source.Reply(_( - "The \002ACCESS\032DEL\002 command removes the given nick from the " - "access list. If a list of entry numbers is given, those " - "entries are deleted. (See the example for LIST below.) " - "You may remove yourself from an access list, even if you " - "do not have access to modify that list otherwise." - "\n\n" - "The \002ACCESS\032LIST\002 command displays the access list. If " - "a wildcard mask is given, only those entries matching the " - "mask are displayed. If a list of entry numbers is given, " - "only those entries are shown; for example:\n" - " \002ACCESS\032#channel\032LIST\0322-5,7-9\002\n" - " Lists access entries numbered 2 through 5 and\n" - " 7 through 9." - "\n\n" - "The \002ACCESS\032VIEW\002 command displays the access list similar " - "to \002ACCESS\032LIST\002 but shows the creator and last used time." - "\n\n" - "The \002ACCESS\032CLEAR\002 command clears all entries of the " - "access list." - )); + "The \002%s\032DEL\002 command removes the given nick from the " + "access list. If a list of entry numbers is given, those " + "entries are deleted. (See the example for LIST below.) " + "You may remove yourself from an access list, even if you " + "do not have access to modify that list otherwise." + "\n\n" + "The \002%s\032LIST\002 command displays the access list. If " + "a wildcard mask is given, only those entries matching the " + "mask are displayed. If a list of entry numbers is given, " + "only those entries are shown; for example:\n" + " \002%s\032#channel\032LIST\0322-5,7-9\002\n" + " Lists access entries numbered 2 through 5 and\n" + " 7 through 9." + "\n\n" + "The \002%s\032VIEW\002 command displays the access list similar " + "to \002%s\032LIST\002 but shows the creator and last used time." + "\n\n" + "The \002%s\032CLEAR\002 command clears all entries of the " + "access list." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); BotInfo *bi; Anope::string cmd; @@ -853,27 +860,34 @@ public: this->SendSyntax(source); source.Reply(" "); source.Reply(_( - "The \002LEVELS\002 command allows fine control over the meaning of " + "The \002%s\002 command allows fine control over the meaning of " "the numeric access levels used for channels. With this " "command, you can define the access level required for most " "of %s's functions. (The \002SET\032FOUNDER\002 and this command " "are always restricted to the channel founder)." "\n\n" - "\002LEVELS\032SET\002 allows the access level for a function or group of " - "functions to be changed. \002LEVELS\032DISABLE\002 (or \002DIS\002 for short) " + "\002%s\032SET\002 allows the access level for a function or group of " + "functions to be changed. \002%s\032DISABLE\002 (or \002DIS\002 for short) " "disables an automatic feature or disallows access to a " "function by anyone, INCLUDING the founder (although, the founder " - "can always re-enable it). Use \002LEVELS\032SET founder\002 to make a level " + "can always re-enable it). Use \002%s\032SET founder\002 to make a level " "founder only." "\n\n" - "\002LEVELS\032LIST\002 shows the current levels for each function or " - "group of functions. \002LEVELS\032RESET\002 resets the levels to the " + "\002%s\032LIST\002 shows the current levels for each function or " + "group of functions. \002%s\032RESET\002 resets the levels to the " "default levels of a newly-created channel." "\n\n" "For a list of the features and functions whose levels can be " - "set, see \002HELP\032LEVELS\032DESC\002." + "set, see \002HELP\032%s\032DESC\002." ), - source.service->nick.c_str()); + source.service->nick.c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); } return true; } diff --git a/modules/chanserv/cs_akick.cpp b/modules/chanserv/cs_akick.cpp index b242fed4a..ef63c4d3f 100644 --- a/modules/chanserv/cs_akick.cpp +++ b/modules/chanserv/cs_akick.cpp @@ -494,7 +494,7 @@ public: "%s will ban that user from the channel, then kick " "the user." "\n\n" - "The \002AKICK\032ADD\002 command adds the given nick or usermask " + "The \002%s\032ADD\002 command adds the given nick or usermask " "to the AutoKick list. If a \037reason\037 is given with " "the command, that reason will be used when the user is " "kicked; if not, the default reason is \"User has been " @@ -503,28 +503,35 @@ public: "will be added to the akick list instead of the mask. " "All users within that nickgroup will then be akicked. " "\n\n" - "The \002AKICK\032DEL\002 command removes the given nick or mask " + "The \002%s\032DEL\002 command removes the given nick or mask " "from the AutoKick list. It does not, however, remove any " "bans placed by an AutoKick; those must be removed " "manually." "\n\n" - "The \002AKICK\032LIST\002 command displays the AutoKick list, or " + "The \002%s\032LIST\002 command displays the AutoKick list, or " "optionally only those AutoKick entries which match the " "given mask." "\n\n" - "The \002AKICK\032VIEW\002 command is a more verbose version of the " - "\002AKICK\032LIST\002 command." + "The \002%s\032VIEW\002 command is a more verbose version of the " + "\002%s\032LIST\002 command." "\n\n" - "The \002AKICK\032ENFORCE\002 command causes %s to enforce the " - "current AKICK list by removing those users who match an " - "AKICK mask." + "The \002%s\032ENFORCE\002 command causes %s to enforce the " + "current akick list by removing those users who match an " + "akick mask." "\n\n" - "The \002AKICK\032CLEAR\002 command clears all entries of the " + "The \002%s\032CLEAR\002 command clears all entries of the " "akick list." ), source.service->nick.c_str(), - source.service->nick.c_str(), - bi ? bi->nick.c_str() : "NickServ"); + source.command.nobreak().c_str(), + bi ? bi->nick.c_str() : "NickServ", + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } diff --git a/modules/chanserv/cs_entrymsg.cpp b/modules/chanserv/cs_entrymsg.cpp index fa3c59c84..ac83e45f1 100644 --- a/modules/chanserv/cs_entrymsg.cpp +++ b/modules/chanserv/cs_entrymsg.cpp @@ -246,27 +246,31 @@ public: this->SendSyntax(source); source.Reply(" "); source.Reply(_( - "Controls what messages will be sent to users when they join the channel." - "\n\n" - "The \002ENTRYMSG\032ADD\002 command adds the given message to " - "the list of messages shown to users when they join " - "the channel." - "\n\n" - "The \002ENTRYMSG\032DEL\002 command removes the specified message from " - "the list of messages shown to users when they join " - "the channel. You can remove a message by specifying its number " - "which you can get by listing the messages as explained below." - "\n\n" - "The \002ENTRYMSG\032LIST\002 command displays a listing of messages " - "shown to users when they join the channel." - "\n\n" - "The \002ENTRYMSG\032CLEAR\002 command clears all entries from " - "the list of messages shown to users when they join " - "the channel, effectively disabling entry messages." - "\n\n" - "Adding, deleting, or clearing entry messages requires the " - "SET permission." - )); + "Controls what messages will be sent to users when they join the channel." + "\n\n" + "The \002%s\032ADD\002 command adds the given message to " + "the list of messages shown to users when they join " + "the channel." + "\n\n" + "The \002%s\032DEL\002 command removes the specified message from " + "the list of messages shown to users when they join " + "the channel. You can remove a message by specifying its number " + "which you can get by listing the messages as explained below." + "\n\n" + "The \002%s\032LIST\002 command displays a listing of messages " + "shown to users when they join the channel." + "\n\n" + "The \002%s\032CLEAR\002 command clears all entries from " + "the list of messages shown to users when they join " + "the channel, effectively disabling entry messages." + "\n\n" + "Adding, deleting, or clearing entry messages requires the " + "SET permission." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } }; diff --git a/modules/chanserv/cs_mode.cpp b/modules/chanserv/cs_mode.cpp index f7f417d28..26741654f 100644 --- a/modules/chanserv/cs_mode.cpp +++ b/modules/chanserv/cs_mode.cpp @@ -784,16 +784,16 @@ public: "modify the existing mode lock." "\n\n" "Example:\n" - " \002MODE\032#channel\032LOCK\032ADD\032+bmnt\032*!*@*aol*\002\n" + " \002%s\032#channel\032%s\032ADD\032+bmnt\032*!*@*aol*\002\n" "\n\n" "The \002%s\032SET\002 command allows you to set modes through services. Wildcards * and ? may " "be given as parameters for list and status modes." "\n\n" "Example:\n" - " \002MODE\032#channel\032SET\032+v\032*\002\n" + " \002%s\032#channel\032SET\032+v\032*\002\n" " Sets voice status to all users in the channel." "\n\n" - " \002MODE\032#channel\032SET\032-b\032~c:*\n" + " \002%s\032#channel\032SET\032-b\032~c:*\n" " Clears all extended bans that start with ~c:" "\n\n" "The \002%s\032CLEAR\002 command is an easy way to clear modes on a channel. \037what\037 may be " @@ -802,6 +802,10 @@ public: ), source.command.nobreak().c_str(), source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), source.command.nobreak().c_str()); return true; } diff --git a/modules/global/gl_queue.cpp b/modules/global/gl_queue.cpp index a66fb6b4b..6ad164b30 100644 --- a/modules/global/gl_queue.cpp +++ b/modules/global/gl_queue.cpp @@ -167,17 +167,22 @@ public: this->SendSyntax(source); source.Reply(""); source.Reply(_( - "Allows queueing messages to send to users on the network." - "\n\n" - "The \002QUEUE\032ADD\002 command adds the given message to the message queue." - "\n\n" - "The \002QUEUE\032CLEAR\002 command clears the message queue." - "\n\n" - "The \002QUEUE\032DEL\002 command removes the specified message from the message queue. The " - "message number can be obtained from the output of the \002QUEUE\032LIST\002 command." - "\n\n" - "The \002QUEUE\032LIST\002 command lists all messages that are currently in the message queue." - )); + "Allows queueing messages to send to users on the network." + "\n\n" + "The \002%s\032ADD\002 command adds the given message to the message queue." + "\n\n" + "The \002%s\032CLEAR\002 command clears the message queue." + "\n\n" + "The \002%s\032DEL\002 command removes the specified message from the message queue. The " + "message number can be obtained from the output of the \002%s\032LIST\002 command." + "\n\n" + "The \002%s\032LIST\002 command lists all messages that are currently in the message queue." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } }; diff --git a/modules/nickserv/ns_cert.cpp b/modules/nickserv/ns_cert.cpp index 869f236fa..e3806dcbb 100644 --- a/modules/nickserv/ns_cert.cpp +++ b/modules/nickserv/ns_cert.cpp @@ -355,25 +355,28 @@ public: this->SendSyntax(source); source.Reply(" "); source.Reply(_( - "Modifies or displays the certificate list for your nick. " - "If you connect to IRC and provide a client certificate with a " - "matching fingerprint in the cert list, you will be " - "automatically identified to services. Services Operators " - "may provide a nick to modify other users' certificate lists." - "\n\n" - "Examples:" - "\n\n" - " \002CERT\032ADD\002\n" - " Adds your current fingerprint to the certificate list and\n" - " automatically identifies you when you connect to IRC\n" - " using this fingerprint." - "\n\n" - " \002CERT\032DEL\032<fingerprint>\002\n" - " Removes the fingerprint <fingerprint> from your certificate list." - "\n\n" - " \002CERT\032LIST\002\n" - " Displays the current certificate list." - )); + "Modifies or displays the certificate list for your nick. " + "If you connect to IRC and provide a client certificate with a " + "matching fingerprint in the cert list, you will be " + "automatically identified to services. Services Operators " + "may provide a nick to modify other users' certificate lists." + "\n\n" + "Examples:" + "\n\n" + " \002%s\032ADD\002\n" + " Adds your current fingerprint to the certificate list and\n" + " automatically identifies you when you connect to IRC\n" + " using this fingerprint." + "\n\n" + " \002%s\032DEL\032<fingerprint>\002\n" + " Removes the fingerprint <fingerprint> from your certificate list." + "\n\n" + " \002%s\032LIST\002\n" + " Displays the current certificate list." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } }; diff --git a/modules/operserv/os_akill.cpp b/modules/operserv/os_akill.cpp index 0cb2f51d3..b31f5404d 100644 --- a/modules/operserv/os_akill.cpp +++ b/modules/operserv/os_akill.cpp @@ -422,27 +422,28 @@ public: this->SendSyntax(source); source.Reply(" "); source.Reply(_( - "Allows Services Operators to manipulate the AKILL list. If " - "a user matching an AKILL mask attempts to connect, services " - "will issue a KILL for that user and, on supported server " - "types, will instruct all servers to add a ban for the mask " - "which the user matched." - "\n\n" - "\002AKILL\032ADD\002 adds the given mask to the AKILL " - "list for the given reason, which \002must\002 be given. " - "Mask should be in the format of nick!user@host#real\032name, " - "though all that is required is user@host. If a real name is specified, " - "the reason must be prepended with a :. " - "\037expiry\037 is specified as an integer followed by one of \037d\037 " - "(days), \037h\037 (hours), or \037m\037 (minutes). Combinations (such as " - "\0371h30m\037) are not permitted. If a unit specifier is not " - "included, the default is days (so \037+30\037 by itself means 30 " - "days). To add an AKILL which does not expire, use \037+0\037. If the " - "usermask to be added starts with a \037+\037, an expiry time must " - "be given, even if it is the same as the default. The " - "current AKILL default expiry time can be found with the " - "\002STATS\032AKILL\002 command." - )); + "Allows Services Operators to manipulate the AKILL list. If " + "a user matching an AKILL mask attempts to connect, services " + "will issue a KILL for that user and, on supported server " + "types, will instruct all servers to add a ban for the mask " + "which the user matched." + "\n\n" + "\002%s\032ADD\002 adds the given mask to the AKILL " + "list for the given reason, which \002must\002 be given. " + "Mask should be in the format of nick!user@host#real\032name, " + "though all that is required is user@host. If a real name is specified, " + "the reason must be prepended with a :. " + "\037expiry\037 is specified as an integer followed by one of \037d\037 " + "(days), \037h\037 (hours), or \037m\037 (minutes). Combinations (such as " + "\0371h30m\037) are not permitted. If a unit specifier is not " + "included, the default is days (so \037+30\037 by itself means 30 " + "days). To add an AKILL which does not expire, use \037+0\037. If the " + "usermask to be added starts with a \037+\037, an expiry time must " + "be given, even if it is the same as the default. The " + "current AKILL default expiry time can be found with the " + "\002STATS\032AKILL\002 command." + ), + source.command.nobreak().c_str()); const Anope::string ®exengine = Config->GetBlock("options").Get<const Anope::string>("regexengine"); if (!regexengine.empty()) @@ -457,25 +458,31 @@ public: source.Reply(" "); source.Reply(_( - "The \002AKILL\032DEL\002 command removes the given mask from the " - "AKILL list if it is present. If a list of entry numbers is " - "given, those entries are deleted. (See the example for LIST " - "below.)" - "\n\n" - "The \002AKILL\032LIST\002 command displays the AKILL list. " - "If a wildcard mask is given, only those entries matching the " - "mask are displayed. If a list of entry numbers is given, " - "only those entries are shown; for example:\n" - " \002AKILL\032LIST\0322-5,7-9\002\n" - " Lists AKILL entries numbered 2 through 5 and 7\n" - " through 9." - "\n\n" - "\002AKILL\032VIEW\002 is a more verbose version of \002AKILL\032LIST\002, and " - "will show who added an AKILL, the date it was added, and when " - "it expires, as well as the user@host/ip mask and reason." - "\n\n" - "\002AKILL\032CLEAR\002 clears all entries of the AKILL list." - )); + "The \002%s\032DEL\002 command removes the given mask from the " + "AKILL list if it is present. If a list of entry numbers is " + "given, those entries are deleted. (See the example for LIST " + "below.)" + "\n\n" + "The \002%s\032LIST\002 command displays the AKILL list. " + "If a wildcard mask is given, only those entries matching the " + "mask are displayed. If a list of entry numbers is given, " + "only those entries are shown; for example:\n" + " \002%s\032LIST\0322-5,7-9\002\n" + " Lists AKILL entries numbered 2 through 5 and 7\n" + " through 9." + "\n\n" + "\002%s\032VIEW\002 is a more verbose version of \002%s\032LIST\002, and " + "will show who added an AKILL, the date it was added, and when " + "it expires, as well as the user@host/ip mask and reason." + "\n\n" + "\002%s\032CLEAR\002 clears all entries of the AKILL list." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } }; diff --git a/modules/operserv/os_session.cpp b/modules/operserv/os_session.cpp index 34e9e7ed0..de554140b 100644 --- a/modules/operserv/os_session.cpp +++ b/modules/operserv/os_session.cpp @@ -300,21 +300,23 @@ public: this->SendSyntax(source); source.Reply(" "); source.Reply(_( - "Allows Services Operators to view the session list." - "\n\n" - "\002SESSION\032LIST\002 lists hosts with at least \037threshold\037 sessions. " - "The threshold must be a number greater than 1. This is to " - "prevent accidental listing of the large number of single " - "session hosts." - "\n\n" - "\002SESSION\032VIEW\002 displays detailed information about a specific " - "host - including the current session count and session limit. " - "The \037host\037 value may not include wildcards. " - "\n\n" - "See the \002EXCEPTION\002 help for more information about session " - "limiting and how to set session limits specific to certain " - "hosts and groups thereof." - )); + "Allows Services Operators to view the session list." + "\n\n" + "\002%s\032LIST\002 lists hosts with at least \037threshold\037 sessions. " + "The threshold must be a number greater than 1. This is to " + "prevent accidental listing of the large number of single " + "session hosts." + "\n\n" + "\002%s\032VIEW\002 displays detailed information about a specific " + "host - including the current session count and session limit. " + "The \037host\037 value may not include wildcards. " + "\n\n" + "See the \002EXCEPTION\002 help for more information about session " + "limiting and how to set session limits specific to certain " + "hosts and groups thereof." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } }; @@ -578,37 +580,42 @@ public: this->SendSyntax(source); source.Reply(" "); source.Reply(_( - "Allows Services Operators to manipulate the list of hosts that " - "have specific session limits - allowing certain machines, " - "such as shell servers, to carry more than the default number " - "of clients at a time. Once a host reaches its session limit, " - "all clients attempting to connect from that host will be " - "killed. Before the user is killed, they are notified, of a " - "source of help regarding session limiting. The content of " - "this notice is a config setting." - "\n\n" - "\002EXCEPTION\032ADD\002 adds the given host mask to the exception list. " - "Note that \002nick!user@host\002 and \002user@host\002 masks are invalid! " - "Only real host masks, such as \002box.host.dom\002 and \002*.host.dom\002, " - "are allowed because sessions limiting does not take nick or " - "user names into account. \037limit\037 must be a number greater than " - "or equal to zero. This determines how many sessions this host " - "may carry at a time. A value of zero means the host has an " - "unlimited session limit. See the \002AKILL\002 help for details about " - "the format of the optional \037expiry\037 parameter. " - "\n\n" - "\002EXCEPTION\032DEL\002 removes the given mask from the exception list." - "\n\n" - "\002EXCEPTION\032LIST\002 and \002EXCEPTION\032VIEW\002 show all current " - "sessions if the optional mask is given, the list is limited " - "to those sessions matching the mask. The difference is that " - "\002EXCEPTION\032VIEW\002 is more verbose, displaying the name of the " - "person who added the exception, its session limit, reason, " - "host mask and the expiry date and time. " - "\n\n" - "Note that a connecting client will \"use\" the first exception " - "their host matches." - )); + "Allows Services Operators to manipulate the list of hosts that " + "have specific session limits - allowing certain machines, " + "such as shell servers, to carry more than the default number " + "of clients at a time. Once a host reaches its session limit, " + "all clients attempting to connect from that host will be " + "killed. Before the user is killed, they are notified, of a " + "source of help regarding session limiting. The content of " + "this notice is a config setting." + "\n\n" + "\002%s\032ADD\002 adds the given host mask to the exception list. " + "Note that \002nick!user@host\002 and \002user@host\002 masks are invalid! " + "Only real host masks, such as \002box.host.dom\002 and \002*.host.dom\002, " + "are allowed because sessions limiting does not take nick or " + "user names into account. \037limit\037 must be a number greater than " + "or equal to zero. This determines how many sessions this host " + "may carry at a time. A value of zero means the host has an " + "unlimited session limit. See the \002AKILL\002 help for details about " + "the format of the optional \037expiry\037 parameter. " + "\n\n" + "\002%s\032DEL\002 removes the given mask from the exception list." + "\n\n" + "\002%s\032LIST\002 and \002%s\032VIEW\002 show all current " + "sessions if the optional mask is given, the list is limited " + "to those sessions matching the mask. The difference is that " + "\002%s\032VIEW\002 is more verbose, displaying the name of the " + "person who added the exception, its session limit, reason, " + "host mask and the expiry date and time. " + "\n\n" + "Note that a connecting client will \"use\" the first exception " + "their host matches." + ), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str(), + source.command.nobreak().c_str()); return true; } }; |