summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2025-04-22 18:14:46 +0100
committerSadie Powell <sadie@witchery.services>2025-04-22 18:56:26 +0100
commitf3743cd37dd1efb2d31f2d8aa3d489df68909c84 (patch)
tree64066a4b7f4aea205a3f8bf4811e0235646f4870 /modules
parent0c155e0c056235720e258edc4be8c48244e73033 (diff)
Remove hardcoded command names from most messages.
Diffstat (limited to 'modules')
-rw-r--r--modules/botserv/bs_bot.cpp39
-rw-r--r--modules/chanserv/cs_access.cpp74
-rw-r--r--modules/chanserv/cs_akick.cpp29
-rw-r--r--modules/chanserv/cs_entrymsg.cpp46
-rw-r--r--modules/chanserv/cs_mode.cpp10
-rw-r--r--modules/global/gl_queue.cpp27
-rw-r--r--modules/nickserv/ns_cert.cpp41
-rw-r--r--modules/operserv/os_akill.cpp87
-rw-r--r--modules/operserv/os_session.cpp99
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 &regexengine = 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;
}
};