diff options
| author | Sadie Powell <sadie@witchery.services> | 2025-04-16 00:04:30 +0100 |
|---|---|---|
| committer | Sadie Powell <sadie@witchery.services> | 2025-04-16 00:04:30 +0100 |
| commit | ce362854a39c35249f8d2c7bcf27e3d5f9aa9980 (patch) | |
| tree | 6d4012d9579c2d56055d621768122cf5f3b658ba /modules/chanserv | |
| parent | a883b616a1360ba74254661cbd39280404d1753a (diff) | |
Update as many messages as possible for automatic line wrapping.
Diffstat (limited to 'modules/chanserv')
25 files changed, 633 insertions, 456 deletions
diff --git a/modules/chanserv/chanserv.cpp b/modules/chanserv/chanserv.cpp index 4fcf3c097..38d2f0ef0 100644 --- a/modules/chanserv/chanserv.cpp +++ b/modules/chanserv/chanserv.cpp @@ -260,15 +260,19 @@ public: { if (!params.empty() || source.c || source.service != *ChanServ) return EVENT_CONTINUE; - source.Reply(_("\002%s\002 allows you to register and control various\n" - "aspects of channels. %s can often prevent\n" - "malicious users from \"taking over\" channels by limiting\n" - "who is allowed channel operator privileges. Available\n" - "commands are listed below; to use them, type\n" - "\002%s \037command\037\002. For more information on a\n" - "specific command, type \002%s \037command\037\002.\n"), - ChanServ->nick.c_str(), ChanServ->nick.c_str(), - ChanServ->GetQueryCommand().c_str(), ChanServ->GetQueryCommand("generic/help").c_str()); + source.Reply(_( + "\002%s\002 allows you to register and control various " + "aspects of channels. %s can often prevent " + "malicious users from \"taking over\" channels by limiting " + "who is allowed channel operator privileges. Available " + "commands are listed below; to use them, type " + "\002%s\032\037command\037\002. For more information on a " + "specific command, type \002%s\032\037command\037\002." + ), + ChanServ->nick.c_str(), + ChanServ->nick.c_str(), + ChanServ->GetQueryCommand().c_str(), + ChanServ->GetQueryCommand("generic/help").c_str()); return EVENT_CONTINUE; } @@ -278,15 +282,24 @@ public: return; time_t chanserv_expire = Config->GetModule(this).Get<time_t>("expire", "30d"); if (chanserv_expire >= 86400) - source.Reply(_(" \n" - "Note that any channel which is not used for %lu days\n" - "(i.e. which no user on the channel's access list enters\n" - "for that period of time) will be automatically dropped."), (unsigned long)chanserv_expire / 86400); + { + source.Reply(" "); + source.Reply(_( + "Note that any channel which is not used for %lu days " + "(i.e. which no user on the channel's access list enters " + "for that period of time) will be automatically dropped." + ), + (unsigned long)chanserv_expire / 86400); + } if (source.IsServicesOper()) - source.Reply(_(" \n" - "Services Operators can also, depending on their access drop\n" - "any channel, view (and modify) the access, levels and akick\n" - "lists and settings for any channel.")); + { + source.Reply(" "); + source.Reply(_( + "Services Operators can also, depending on their access drop " + "any channel, view (and modify) the access, levels and akick " + "lists and settings for any channel." + )); + } } void OnCheckModes(Reference<Channel> &c) override diff --git a/modules/chanserv/cs_access.cpp b/modules/chanserv/cs_access.cpp index 72dc57450..d3ca6e492 100644 --- a/modules/chanserv/cs_access.cpp +++ b/modules/chanserv/cs_access.cpp @@ -582,54 +582,68 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Maintains the \002access list\002 for a channel. The access\n" - "list specifies which users are allowed chanop status or\n" - "access to %s commands on the channel. Different\n" - "user levels allow for access to different subsets of\n" - "privileges. Any registered user not on the access list has\n" - "a user level of 0, and any unregistered user has a user level\n" - "of -1."), source.service->nick.c_str()); - source.Reply(" "); - source.Reply(_("The \002ACCESS ADD\002 command adds the given mask to the\n" - "access list with the given user level; if the mask is\n" - "already present on the list, its access level is changed to\n" - "the level specified in the command. The \037level\037 specified\n" - "may be a numerical level or the name of a privilege (eg AUTOOP).\n" - "When a user joins the channel the access they receive is from the\n" - "highest level entry in the access list.")); + source.Reply(_( + "Maintains the \002access list\002 for a channel. The access " + "list specifies which users are allowed chanop status or " + "access to %s commands on the channel. Different " + "user levels allow for access to different subsets of " + "privileges. Any registered user not on the access list has " + "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 " + "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 " + "may be a numerical level or the name of a privilege (eg AUTOOP). " + "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()); + if (!Config->GetModule("chanserv").Get<bool>("disallow_channel_access")) - source.Reply(_("The given mask may also be a channel, which will use the\n" - "access list from the other channel up to the given \037level\037.")); - source.Reply(" "); - source.Reply(_("The \002ACCESS DEL\002 command removes the given nick from the\n" - "access list. If a list of entry numbers is given, those\n" - "entries are deleted. (See the example for LIST below.)\n" - "You may remove yourself from an access list, even if you\n" - "do not have access to modify that list otherwise.")); - source.Reply(" "); - source.Reply(_("The \002ACCESS LIST\002 command displays the access list. If\n" - "a wildcard mask is given, only those entries matching the\n" - "mask are displayed. If a list of entry numbers is given,\n" - "only those entries are shown; for example:\n" - " \002ACCESS #channel LIST 2-5,7-9\002\n" - " Lists access entries numbered 2 through 5 and\n" - " 7 through 9.\n" - " \n" - "The \002ACCESS VIEW\002 command displays the access list similar\n" - "to \002ACCESS LIST\002 but shows the creator and last used time.\n" - " \n" - "The \002ACCESS CLEAR\002 command clears all entries of the\n" - "access list.")); + { + source.Reply(_( + "The given mask may also be a channel, which will use the " + "access list from the other channel up to the given \037level\037." + )); + } + 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." + )); BotInfo *bi; Anope::string cmd; if (Command::FindCommandFromService("chanserv/levels", bi, cmd)) { - source.Reply(_("\002User access levels\002 can be seen by using the\n" - "\002%s\002 command; type \002%s LEVELS\002 for\n" - "information."), - cmd.c_str(), bi->GetQueryCommand("generic/help").c_str()); + source.Reply(" "); + source.Reply(_( + "\002User access levels\002 can be seen by using the " + "\002%s\002 command; type \002%s\032LEVELS\002 for " + "information." + ), + cmd.c_str(), + bi->GetQueryCommand("generic/help").c_str()); } return true; } @@ -665,7 +679,7 @@ class CommandCSLevels final Privilege *p = PrivilegeManager::FindPrivilege(what); if (p == NULL) { - source.Reply(_("Setting \002%s\002 not known. Type \002%s LEVELS\002 for a list of valid settings."), + source.Reply(_("Setting \002%s\002 not known. Type \002%s\032LEVELS\002 for a list of valid settings."), what.c_str(), source.service->GetQueryCommand("generic/help").c_str()); } else @@ -708,7 +722,7 @@ class CommandCSLevels final return; } - source.Reply(_("Setting \002%s\002 not known. Type \002%s LEVELS\002 for a list of valid settings."), + source.Reply(_("Setting \002%s\002 not known. Type \002%s\032LEVELS\002 for a list of valid settings."), what.c_str(), source.service->GetQueryCommand("generic/help").c_str()); } @@ -838,25 +852,28 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("The \002LEVELS\002 command allows fine control over the meaning of\n" - "the numeric access levels used for channels. With this\n" - "command, you can define the access level required for most\n" - "of %s's functions. (The \002SET FOUNDER\002 and this command\n" - "are always restricted to the channel founder.)\n" - " \n" - "\002LEVELS SET\002 allows the access level for a function or group of\n" - "functions to be changed. \002LEVELS DISABLE\002 (or \002DIS\002 for short)\n" - "disables an automatic feature or disallows access to a\n" - "function by anyone, INCLUDING the founder (although, the founder\n" - "can always re-enable it). Use \002LEVELS SET founder\002 to make a level\n" - "founder only.\n" - " \n" - "\002LEVELS LIST\002 shows the current levels for each function or\n" - "group of functions. \002LEVELS RESET\002 resets the levels to the\n" - "default levels of a newly-created channel.\n" - " \n" - "For a list of the features and functions whose levels can be\n" - "set, see \002HELP LEVELS DESC\002."), source.service->nick.c_str()); + source.Reply(_( + "The \002LEVELS\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) " + "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 " + "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 " + "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." + ), + source.service->nick.c_str()); } return true; } diff --git a/modules/chanserv/cs_akick.cpp b/modules/chanserv/cs_akick.cpp index e6672b965..b242fed4a 100644 --- a/modules/chanserv/cs_akick.cpp +++ b/modules/chanserv/cs_akick.cpp @@ -488,40 +488,44 @@ public: BotInfo *bi = Config->GetClient("NickServ"); this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Maintains the \002AutoKick list\002 for a channel. If a user\n" - "on the AutoKick list attempts to join the channel,\n" - "%s will ban that user from the channel, then kick\n" - "the user.\n" - " \n" - "The \002AKICK ADD\002 command adds the given nick or usermask\n" - "to the AutoKick list. If a \037reason\037 is given with\n" - "the command, that reason will be used when the user is\n" - "kicked; if not, the default reason is \"User has been\n" - "banned from the channel\".\n" - "When akicking a \037registered nick\037 the %s account\n" - "will be added to the akick list instead of the mask.\n" - "All users within that nickgroup will then be akicked.\n"), - source.service->nick.c_str(), bi ? bi->nick.c_str() : "NickServ"); source.Reply(_( - " \n" - "The \002AKICK DEL\002 command removes the given nick or mask\n" - "from the AutoKick list. It does not, however, remove any\n" - "bans placed by an AutoKick; those must be removed\n" - "manually.\n" - " \n" - "The \002AKICK LIST\002 command displays the AutoKick list, or\n" - "optionally only those AutoKick entries which match the\n" - "given mask.\n" - " \n" - "The \002AKICK VIEW\002 command is a more verbose version of the\n" - "\002AKICK LIST\002 command.\n" - " \n" - "The \002AKICK ENFORCE\002 command causes %s to enforce the\n" - "current AKICK list by removing those users who match an\n" - "AKICK mask.\n" - " \n" - "The \002AKICK CLEAR\002 command clears all entries of the\n" - "akick list."), source.service->nick.c_str()); + "Maintains the \002AutoKick list\002 for a channel. If a user " + "on the AutoKick list attempts to join the channel, " + "%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 " + "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 " + "banned from the channel\". " + "When akicking a \037registered nick\037 the %s account " + "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 " + "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 " + "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." + "\n\n" + "The \002AKICK\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 " + "akick list." + ), + source.service->nick.c_str(), + source.service->nick.c_str(), + bi ? bi->nick.c_str() : "NickServ"); + return true; } }; diff --git a/modules/chanserv/cs_ban.cpp b/modules/chanserv/cs_ban.cpp index 8560e4eac..dca9e8bbf 100644 --- a/modules/chanserv/cs_ban.cpp +++ b/modules/chanserv/cs_ban.cpp @@ -240,12 +240,14 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Bans a given nick or mask on a channel. An optional expiry may\n" - "be given to cause services to remove the ban after a set amount\n" - "of time.\n" - " \n" - "By default, limited to AOPs or those with level 5 access\n" - "and above on the channel. Channel founders may ban masks.")); + source.Reply(_( + "Bans a given nick or mask on a channel. An optional expiry may " + "be given to cause services to remove the ban after a set amount " + "of time." + "\n\n" + "By default, limited to AOPs or those with level 5 access " + "and above on the channel. Channel founders may ban masks." + )); return true; } }; diff --git a/modules/chanserv/cs_clone.cpp b/modules/chanserv/cs_clone.cpp index b58635ff0..bad74d304 100644 --- a/modules/chanserv/cs_clone.cpp +++ b/modules/chanserv/cs_clone.cpp @@ -239,10 +239,12 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Copies all settings, access, akicks, etc from \002channel\002 to the\n" - "\002target\002 channel. If \037what\037 is \002ACCESS\002, \002AKICK\002, \002BADWORDS\002,\n" - "or \002LEVELS\002 then only the respective settings are cloned.\n" - "You must be the founder of \037channel\037 and \037target\037.")); + source.Reply(_( + "Copies all settings, access, akicks, etc from \002channel\002 to the " + "\002target\002 channel. If \037what\037 is \002ACCESS\002, \002AKICK\002, \002BADWORDS\002, " + "or \002LEVELS\002 then only the respective settings are cloned. " + "You must be the founder of \037channel\037 and \037target\037." + )); return true; } }; diff --git a/modules/chanserv/cs_drop.cpp b/modules/chanserv/cs_drop.cpp index 582ede836..7e513b340 100644 --- a/modules/chanserv/cs_drop.cpp +++ b/modules/chanserv/cs_drop.cpp @@ -88,16 +88,28 @@ public: this->SendSyntax(source); source.Reply(" "); if (source.IsServicesOper()) - source.Reply(_("Unregisters the specified channel. Only \002Services Operators\002\n" - "can drop a channel of which they are not the founder of.")); + { + source.Reply(_( + "Unregisters the specified channel. Only \002Services Operators\002 " + "can drop a channel of which they are not the founder of." + )); + } else - source.Reply(_("Unregisters the named channel. Can only be used by\n" - "the \002channel founder\002.")); + { + source.Reply(_( + "Unregisters the named channel. Can only be used by " + "the \002channel founder\002." + )); + } source.Reply(" "); if (source.HasPriv("chanserv/drop/override")) - source.Reply(_("Additionally, Services Operators with the \037chanserv/drop/override\037 permission can\n" - "replace \037code\037 with \002OVERRIDE\002 to drop without a confirmation code.")); + { + source.Reply(_( + "Additionally, Services Operators with the \037chanserv/drop/override\037 permission can " + "replace \037code\037 with \002OVERRIDE\002 to drop without a confirmation code." + )); + } return true; } }; diff --git a/modules/chanserv/cs_enforce.cpp b/modules/chanserv/cs_enforce.cpp index 3b38b3a89..d0d2cc03a 100644 --- a/modules/chanserv/cs_enforce.cpp +++ b/modules/chanserv/cs_enforce.cpp @@ -240,19 +240,21 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Enforce various channel modes and set options. The \037channel\037\n" - "option indicates what channel to enforce the modes and options\n" - "on. The \037what\037 option indicates what modes and options to\n" - "enforce, and can be any of \002SECUREOPS\002, \002RESTRICTED\002, \002REGONLY\002, \002SSLONLY\002,\n" - "\002BANS\002, or \002LIMIT\002.\n" - " \n" - "Use \002SECUREOPS\002 to enforce the SECUREOPS option, even if it is not\n" - "enabled. Use \002RESTRICTED\002 to enforce the RESTRICTED option, also\n" - "if it's not enabled. Use \002REGONLY\002 to kick all unregistered users\n" - "from the channel. Use \002SSLONLY\002 to kick all users not using a secure\n" - "connection from the channel. \002BANS\002 will enforce bans on the channel by\n" - "kicking users affected by them, and \002LIMIT\002 will kick users until the\n" - "user count drops below the channel limit, if one is set.")); + source.Reply(_( + "Enforce various channel modes and set options. The \037channel\037 " + "option indicates what channel to enforce the modes and options " + "on. The \037what\037 option indicates what modes and options to " + "enforce, and can be any of \002SECUREOPS\002, \002RESTRICTED\002, \002REGONLY\002, \002SSLONLY\002, " + "\002BANS\002, or \002LIMIT\002." + "\n\n" + "Use \002SECUREOPS\002 to enforce the SECUREOPS option, even if it is not " + "enabled. Use \002RESTRICTED\002 to enforce the RESTRICTED option, also " + "if it's not enabled. Use \002REGONLY\002 to kick all unregistered users " + "from the channel. Use \002SSLONLY\002 to kick all users not using a secure " + "connection from the channel. \002BANS\002 will enforce bans on the channel by " + "kicking users affected by them, and \002LIMIT\002 will kick users until the " + "user count drops below the channel limit, if one is set." + )); return true; } }; diff --git a/modules/chanserv/cs_entrymsg.cpp b/modules/chanserv/cs_entrymsg.cpp index bbb3f03cb..fa3c59c84 100644 --- a/modules/chanserv/cs_entrymsg.cpp +++ b/modules/chanserv/cs_entrymsg.cpp @@ -245,26 +245,28 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Controls what messages will be sent to users when they join the channel.")); - source.Reply(" "); - source.Reply(_("The \002ENTRYMSG ADD\002 command adds the given message to\n" - "the list of messages shown to users when they join\n" - "the channel.")); - source.Reply(" "); - source.Reply(_("The \002ENTRYMSG DEL\002 command removes the specified message from\n" - "the list of messages shown to users when they join\n" - "the channel. You can remove a message by specifying its number\n" - "which you can get by listing the messages as explained below.")); - source.Reply(" "); - source.Reply(_("The \002ENTRYMSG LIST\002 command displays a listing of messages\n" - "shown to users when they join the channel.")); - source.Reply(" "); - source.Reply(_("The \002ENTRYMSG CLEAR\002 command clears all entries from\n" - "the list of messages shown to users when they join\n" - "the channel, effectively disabling entry messages.")); - source.Reply(" "); - source.Reply(_("Adding, deleting, or clearing entry messages requires the\n" - "SET permission.")); + 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." + )); return true; } }; diff --git a/modules/chanserv/cs_flags.cpp b/modules/chanserv/cs_flags.cpp index 876eb67e4..708978191 100644 --- a/modules/chanserv/cs_flags.cpp +++ b/modules/chanserv/cs_flags.cpp @@ -444,24 +444,27 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("%s is another way to modify the channel access list, similar to\n" - "the XOP and ACCESS methods."), source.command.c_str()); - source.Reply(" "); - source.Reply(_("The \002MODIFY\002 command allows you to modify the access list. If the mask is\n" - "not already on the access list it is added, then the changes are applied.\n" - "If the mask has no more flags, then the mask is removed from the access list.\n" - "Additionally, you may use +* or -* to add or remove all flags, respectively. You are\n" - "only able to modify the access list if you have the proper permission on the channel,\n" - "and even then you can only give other people access to the equivalent of what your access is.")); - source.Reply(" "); - source.Reply(_("The \002LIST\002 command allows you to list existing entries on the channel access list.\n" - "If a mask is given, the mask is wildcard matched against all existing entries on the\n" - "access list, and only those entries are returned. If a set of flags is given, only those\n" - "on the access list with the specified flags are returned.")); - source.Reply(" "); - source.Reply(_("The \002CLEAR\002 command clears the channel access list. This requires channel founder access.")); - source.Reply(" "); - source.Reply(_("The available flags are:")); + source.Reply(_( + "%s is another way to modify the channel access list, similar to " + "the XOP and ACCESS methods." + "\n\n" + "The \002MODIFY\002 command allows you to modify the access list. If the mask is " + "not already on the access list it is added, then the changes are applied. " + "If the mask has no more flags, then the mask is removed from the access list. " + "Additionally, you may use +* or -* to add or remove all flags, respectively. You are " + "only able to modify the access list if you have the proper permission on the channel, " + "and even then you can only give other people access to the equivalent of what your access is." + "\n\n" + "The \002LIST\002 command allows you to list existing entries on the channel access list. " + "If a mask is given, the mask is wildcard matched against all existing entries on the " + "access list, and only those entries are returned. If a set of flags is given, only those " + "on the access list with the specified flags are returned." + "\n\n" + "The \002CLEAR\002 command clears the channel access list. This requires channel founder access." + "\n\n" + "The available flags are:" + ), + source.command.c_str()); typedef std::multimap<char, Anope::string, ci::less> reverse_map; reverse_map reverse; diff --git a/modules/chanserv/cs_info.cpp b/modules/chanserv/cs_info.cpp index c1200aa3e..8d9b0c04f 100644 --- a/modules/chanserv/cs_info.cpp +++ b/modules/chanserv/cs_info.cpp @@ -74,12 +74,14 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Lists information about the specified registered channel,\n" - "including its founder, time of registration, last\n" - "time used, and description. If the user issuing the\n" - "command has the appropriate access for it, then the\n" - "successor, last topic set, settings and expiration\n" - "time will also be displayed when applicable.")); + source.Reply(_( + "Lists information about the specified registered channel, " + "including its founder, time of registration, last " + "time used, and description. If the user issuing the " + "command has the appropriate access for it, then the " + "successor, last topic set, settings and expiration " + "time will also be displayed when applicable." + )); return true; } }; diff --git a/modules/chanserv/cs_invite.cpp b/modules/chanserv/cs_invite.cpp index 1d36c0375..df11e45fb 100644 --- a/modules/chanserv/cs_invite.cpp +++ b/modules/chanserv/cs_invite.cpp @@ -89,11 +89,14 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Tells %s to invite you or an optionally specified\n" - "nick into the given channel.\n" - " \n" - "By default, limited to AOPs or those with level 5 access and above\n" - "on the channel."), source.service->nick.c_str()); + source.Reply(_( + "Tells %s to invite you or an optionally specified " + "nick into the given channel." + "\n\n" + "By default, limited to AOPs or those with level 5 access and above " + "on the channel." + ), + source.service->nick.c_str()); return true; } }; diff --git a/modules/chanserv/cs_kick.cpp b/modules/chanserv/cs_kick.cpp index 5ba61eaef..e4175d29e 100644 --- a/modules/chanserv/cs_kick.cpp +++ b/modules/chanserv/cs_kick.cpp @@ -131,10 +131,12 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Kicks a specified nick from a channel.\n" - " \n" - "By default, limited to AOPs or those with level 5 access\n" - "and above on the channel. Channel founders can also specify masks.")); + source.Reply(_( + "Kicks a specified nick from a channel." + "\n\n" + "By default, limited to AOPs or those with level 5 access " + "and above on the channel. Channel founders can also specify masks." + )); return true; } }; diff --git a/modules/chanserv/cs_list.cpp b/modules/chanserv/cs_list.cpp index 1002d10ba..408d4c9a8 100644 --- a/modules/chanserv/cs_list.cpp +++ b/modules/chanserv/cs_list.cpp @@ -42,8 +42,10 @@ public: if (!num1.has_value() || !num2.has_value()) { source.Reply(LIST_INCORRECT_RANGE); - source.Reply(_("To search for channels starting with #, search for the channel\n" - "name without the #-sign prepended (\002anope\002 instead of \002#anope\002).")); + source.Reply(_( + "To search for channels starting with #, search for the channel " + "name without the #-sign prepended (\002anope\002 instead of \002#anope\002)." + )); return; } @@ -133,38 +135,43 @@ public: { this->SendSyntax(source); source.Reply(" "); - source.Reply(_("Lists all registered channels matching the given pattern.\n" - "Channels with the \002PRIVATE\002 option set will only be\n" - "displayed to Services Operators with the proper access.\n" - "Channels with the \002NOEXPIRE\002 option set will have\n" - "a \002!\002 prefixed to the channel for Services Operators to see.\n" - " \n" - "Note that a preceding '#' specifies a range, channel names\n" - "are to be written without '#'.\n" - " \n" - "If the SUSPENDED or NOEXPIRE options are given, only channels\n" - "which, respectively, are SUSPENDED or have the NOEXPIRE\n" - "flag set will be displayed. If multiple options are given,\n" - "all channels matching at least one option will be displayed.\n" - "Note that these options are limited to \037Services Operators\037.\n" - " \n" - "Examples:\n" - " \n" - " \002LIST *anope*\002\n" - " Lists all registered channels with \002anope\002 in their\n" - " names (case insensitive).\n" - " \n" - " \002LIST * NOEXPIRE\002\n" - " Lists all registered channels which have been set to not expire.\n" - " \n" - " \002LIST #51-100\002\n" - " Lists all registered channels within the given range (51-100).")); + source.Reply(_( + "Lists all registered channels matching the given pattern. " + "Channels with the \002PRIVATE\002 option set will only be " + "displayed to Services Operators with the proper access. " + "Channels with the \002NOEXPIRE\002 option set will have " + "a \002!\002 prefixed to the channel for Services Operators to see." + "\n\n" + "Note that a preceding '#' specifies a range, channel names " + "are to be written without '#'." + "\n\n" + "If the SUSPENDED or NOEXPIRE options are given, only channels " + "which, respectively, are SUSPENDED or have the NOEXPIRE " + "flag set will be displayed. If multiple options are given, " + "all channels matching at least one optio |
