1
0
mirror of https://github.com/anope/anope.git synced 2026-07-03 09:13:12 +02:00

Add a type for wrapping examples instead of using manual linewraps.

At a later date we should revise the examples for all commands for
consistency.
This commit is contained in:
Sadie Powell
2026-02-24 18:10:39 +00:00
parent 538b2cf035
commit d0c2baeed4
19 changed files with 473 additions and 262 deletions
+11 -4
View File
@@ -501,16 +501,23 @@ public:
"The \002LIST\002 command displays the bad words 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#channel\033LIST\0332-5,7-9\002\n"
" Lists bad words entries numbered 2 through 5 and\n"
" 7 through 9."
"only those entries are shown."
"\n\n"
"The \002CLEAR\002 command clears all entries from the "
"bad words list."
),
source.service->GetQueryCommand("generic/help").c_str(),
source.command.nobreak().c_str());
ExampleWrapper examples;
examples.AddEntry("#channel LIST 2-5,7-9", _(
"Lists bad word entries on \037#channel\037 numbered 2 through 5 and 7 through 9."
));
examples.AddEntry("#channel LIST *UwU*", _(
"Lists bad word entries on \037#channel\037 that match \037*UwU*\037."
));
examples.SendTo(source);
return true;
}
};
+10 -5
View File
@@ -635,10 +635,7 @@ public:
"The \002%s\033LIST\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\033#channel\033LIST\0332-5,7-9\002\n"
" Lists access entries numbered 2 through 5 and\n"
" 7 through 9."
"only those entries are shown."
"\n\n"
"The \002%s\033VIEW\002 command displays the access list similar "
"to \002%s\033LIST\002 but shows the creator and last used time."
@@ -650,9 +647,17 @@ 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());
ExampleWrapper examples;
examples.AddEntry("#channel LIST 2-5,7-9", _(
"Lists access entries on \037#channel\037 numbered 2 through 5 and 7 through 9."
));
examples.AddEntry("#channel LIST *nick*", _(
"Lists access entries on \037#channel\037 that match \037*nick*\037."
));
examples.SendTo(source);
BotInfo *bi;
Anope::string cmd;
if (Command::FindCommandFromService("chanserv/levels", bi, cmd))
+15 -12
View File
@@ -154,20 +154,23 @@ public:
"flag set will be displayed. If multiple options are given, "
"all channels matching at least one option will be displayed. "
"Note that these options are limited to \037Services Operators\037."
"\n\n"
"Examples:"
"\n\n"
" \002LIST\033*anope*\002\n"
" Lists all registered channels with \002anope\002 in their\n"
" names (case insensitive)."
"\n\n"
" \002LIST\033*\033NOEXPIRE\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)."
));
ExampleWrapper examples;
examples.AddEntry("*anope*", _(
"Lists all registered channels with \037anope\037 in their name (case insensitive). "
));
examples.AddEntry("#51-100", _(
"Lists all registered channels within the given range (51-100)."
));
examples.AddEntry("* NOEXPIRE", _(
"Lists all registered channels that have been set to not expire."
), "chanserv/list");
examples.AddEntry("* SUSPENDED", _(
"Lists all registered channels that have been suspended."
), "chanserv/list");
examples.SendTo(source);
if (!Config->GetBlock("options").Get<const Anope::string>("regexengine").empty())
{
source.Reply(" ");
+14 -6
View File
@@ -286,15 +286,23 @@ public:
"to your channel. Status may be a channel status such as @ or +."
"\n\n"
"To remove a logging method use the same syntax as you would to add it."
"\n\n"
"Example:\n"
" %s\033#anope\033chanserv/access\033MESSAGE\033@\n"
" Would message any channel operators whenever someone used the "
"ACCESS command on ChanServ on the channel."
),
source.command.nobreak().c_str(),
source.command.nobreak().c_str());
ExampleWrapper examples;
examples.AddEntry("#anope chanserv/access MESSAGE @", _(
"Sends a message to channel operators and above when someone uses the chanserv/access "
"command on #anope."
));
examples.AddEntry("#anope chanserv/flags NOTICE +", _(
"Sends a notice to channel voices and above when someone uses the chanserv/flags "
"command on #anope."
));
examples.AddEntry("#anope chanserv/xop MEMO", _(
"Sends a memo to the channel when someone uses the chanserv/xop command on #anope."
));
examples.SendTo(source);
return true;
}
};
+13 -13
View File
@@ -816,29 +816,29 @@ public:
"command will clear all existing mode locks and set the new one given, while \002ADD\002 and \002DEL\002 "
"modify the existing mode lock."
"\n\n"
"Example:\n"
" \002%s\033#channel\033LOCK\033ADD\033+bmnt\033*!*@*.example.com\002\n"
"\n\n"
"The \002%s\033SET\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"
" \002%s\033#channel\033SET\033+v\033*\002\n"
" Sets voice status to all users in the channel."
"\n\n"
" \002%s\033#channel\033SET\033-b\033~c:*\n"
" Clears all extended bans that start with ~c:"
"\n\n"
"The \002%s\033CLEAR\002 command is an easy way to clear modes on a channel. \037what\037 may be "
"any mode name. Examples include bans, excepts, inviteoverrides, ops, halfops, and voices. If \037what\037 "
"is not given then all basic modes are removed."
),
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());
ExampleWrapper examples;
examples.AddEntry("#channel LOCK ADD +bmnt *!*@*.example.com", _(
"Adds a mode lock on the moderated, no external messages, topic lock flag modes as "
"well as a ban on \037*!*@*.example.com\037."
));
examples.AddEntry("#channel SET +v *", _(
"Sets voice status on all users in the channel."
));
examples.AddEntry("#channel SET -b channel:*", _(
"Clears all extended bans that start with \037channel:\037."
));
return true;
}
};
+10 -10
View File
@@ -226,16 +226,16 @@ public:
this->SendSyntax(source);
source.Reply(" ");
source.Reply(_(
"The \002STATS\002 command prints out statistics about stored nicks and memory usage."
"\n\n"
"The \002CLEAR\002 command lets you clean the database by removing all entries from the "
"database that were added within \037time\037."
"\n\n"
"Example:\n"
" %s\033CLEAR\03330m\n"
" Will remove all entries that were added within the last 30 minutes."
),
source.command.nobreak().c_str());
"The \002STATS\002 command prints out statistics about stored nicks and memory usage."
"\n\n"
"The \002CLEAR\002 command lets you clean the database by removing all entries from the "
"database that were added within \037time\037."
));
ExampleWrapper examples;
examples.AddEntry("CLEAR 30m", _(
"Removes all entries that were added in the last 30 minutes."
));
return true;
}
};
+7 -6
View File
@@ -614,10 +614,7 @@ public:
"The \002%s\033LIST\002 command displays the %s 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\033#channel\033LIST\0332-5,7-9\002\n"
" Lists %s entries numbered 2 through 5 and\n"
" 7 through 9."
"only those entries are shown."
"\n\n"
"The \002%s\033CLEAR\002 command clears all entries of the "
"%s list."
@@ -629,10 +626,14 @@ public:
cmd.c_str(),
cmd.c_str(),
cmd.c_str(),
cmd.c_str(),
cmd.c_str(),
cmd.c_str());
ExampleWrapper examples;
examples.AddEntry("#channel LIST 2-5,7-9", _(
"Lists access entries numbered 2 through 5 and 7 through 9."
));
examples.SendTo(source);
BotInfo *access_bi, *flags_bi;
Anope::string access_cmd, flags_cmd;
Command::FindCommandFromService("chanserv/access", access_bi, access_cmd);
+16 -12
View File
@@ -134,19 +134,23 @@ public:
"Deletes the specified memo or memos. You can supply "
"multiple memo numbers or ranges of numbers instead of a "
"single number, as in the second example below."
"\n\n"
"If \002LAST\002 is given, the last memo will be deleted."
"\n\n"
"If \002ALL\002 is given, deletes all of your memos."
"\n\n"
"Examples:"
"\n\n"
" \002DEL\0331\002\n"
" Deletes your first memo."
"\n\n"
" \002DEL\0332-5,7-9\002\n"
" Deletes memos numbered 2 through 5 and 7 through 9."
));
ExampleWrapper examples;
examples.AddEntry("ALL", _(
"Deletes all of your memos."
));
examples.AddEntry("LAST", _(
"Deletes your last memo."
));
examples.AddEntry("1", _(
"Deletes your first memo."
));
examples.AddEntry("2-5,7-9", _(
"Deletes memos numbered 2 through 5 and 7 through 9."
));
examples.SendTo(source);
return true;
}
};
+11 -3
View File
@@ -143,10 +143,18 @@ public:
"Lists any memos you currently have. With \002NEW\002, lists only "
"new (unread) memos. Unread memos are marked with a \"*\" "
"to the left of the memo number. You can also specify a list "
"of numbers, as in the example below:\n"
" \002LIST 2-5,7-9\002\n"
" Lists memos numbered 2 through 5 and 7 through 9."
"of numbers."
));
ExampleWrapper examples;
examples.AddEntry("NEW", _(
"Lists any new memos."
));
examples.AddEntry("2-5,7-9", _(
"Lists memos numbered 2 through 5 and 7 through 9."
));
examples.SendTo(source);
return true;
}
};
+17 -5
View File
@@ -204,12 +204,24 @@ public:
"given, sends you the memo you most recently received. If "
"NEW is given, sends you all of your new memos. If ALL is "
"given, sends you all of your memos. Otherwise, sends you "
"memo number \037num\037. You can also give a list of numbers, "
"as in this example:"
"\n\n"
" \002READ 2-5,7-9\002\n"
" Displays memos numbered 2 through 5 and 7 through 9."
"memo number \037num\037. You can also give a list of numbers."
));
ExampleWrapper examples;
examples.AddEntry("ALL", _(
"Displays all of your memos."
));
examples.AddEntry("LAST", _(
"Displays your last memo."
));
examples.AddEntry("NEW", _(
"Displays any new memos."
));
examples.AddEntry("2-5,7-9", _(
"Displays memos numbered 2 through 5 and 7 through 9."
));
examples.SendTo(source);
return true;
}
};
+41 -22
View File
@@ -496,28 +496,47 @@ 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"
" \002%s\033ADD\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\033DEL\033<fingerprint>\002\n"
" Removes the fingerprint <fingerprint> from your certificate list."
"\n\n"
" \002%s\033LIST\002\n"
" Displays the current certificate list."
),
source.command.nobreak().c_str(),
source.command.nobreak().c_str(),
source.command.nobreak().c_str());
"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."
));
ExampleWrapper examples;
examples.AddEntry("ADD", _(
"Adds your current fingerprint to your certificate list."
));
examples.AddEntry(_("ADD \037nickname\037 \037fingerprint\037"), _(
"Adds the specified \037fingerprint\037 to the certificate list of \037nickname\037."
), "nickserv/cert");
examples.AddEntry(_("DEL \037fingerprint\037"), _(
"Removes the specified \037fingerprint\037 from your certificate list."
));
examples.AddEntry(_("DEL \037nickname\037 \037fingerprint\037"), _(
"Removes the specified \037fingerprint\037 from the certificate list of "
"\037nickname\037."
), "nickserv/cert");
examples.AddEntry("LIST", _(
"Displays your current certificate list."
));
examples.AddEntry(_("LIST \037nickname\037"), _(
"Displays the current certificate list of \037nickname\037."
), "nickserv/cert");
examples.AddEntry("VIEW", _(
"Displays your current certificate list as well the details about who added each entry "
"and when they added it."
));
examples.AddEntry(_("VIEW \037nickname\037"), _(
"Displays the current certificate list of \037nickname\037 as well as the details "
"about who added each entry and when they added it."
), "nickserv/cert");
examples.SendTo(source);
return true;
}
};
+25 -15
View File
@@ -147,23 +147,33 @@ public:
"suspended, or are unconfirmed will be shown. If multiple options are "
"given, nicks must match every option to be shown. "
"Note that these options are limited to \037Services Operators\037."
"\n\n"
"Examples:"
"\n\n"
" \002LIST *!joeuser@foo.com\002\n"
" Lists all registered nicks owned by joeuser@foo.com."
"\n\n"
" \002LIST *Bot*!*@*\002\n"
" Lists all registered nicks with \002Bot\002 in their\n"
" names (case insensitive)."
"\n\n"
" \002LIST * NOEXPIRE\002\n"
" Lists all registered nicks which have been set to not expire."
"\n\n"
" \002LIST #51-100\002\n"
" Lists all registered nicks within the given range (51-100)."
));
ExampleWrapper examples;
examples.AddEntry("*!foobar@example.com", _(
"Lists all registered nicks owned by a user who last connected from the userhost "
"\037foobar@example.com\037 (case insensitive)."
));
examples.AddEntry("*Bot*!*@*", _(
"Lists all registered nicks with \037Bot\037 in their name (case insensitive)."
));
examples.AddEntry("#51-100", _(
"Lists all registered nicks within the given range (51-100)."
));
examples.AddEntry("* DISPLAY", _(
"Lists all registered nicks that are the display nickname for their account."
), "nickserv/list");
examples.AddEntry("* NOEXPIRE", _(
"Lists all registered nicks that have been set to not expire."
), "nickserv/list");
examples.AddEntry("* SUSPENDED", _(
"Lists all registered nicks that have been suspended."
), "nickserv/list");
examples.AddEntry("* UNCONFIRMED", _(
"Lists all registered nicks that have not been confirmed yet."
), "nickserv/list");
examples.SendTo(source);
const Anope::string &regexengine = Config->GetBlock("options").Get<const Anope::string>("regexengine");
if (!regexengine.empty())
{
+8 -5
View File
@@ -480,10 +480,7 @@ public:
"The \002%s\033LIST\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\033LIST\0332-5,7-9\002\n"
" Lists AKILL entries numbered 2 through 5 and 7\n"
" through 9."
"only those entries are shown."
"\n\n"
"\002%s\033VIEW\002 is a more verbose version of \002%s\033LIST\002, and "
"will show who added an AKILL, the date it was added, and when "
@@ -495,8 +492,14 @@ 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());
ExampleWrapper examples;
examples.AddEntry("2-5,7-9", _(
"Lists AKILL entries numbered 2 through 5 and 7 through 9."
));
examples.SendTo(source);
return true;
}
};
+10 -3
View File
@@ -119,10 +119,17 @@ public:
"Settings changed by this command are temporary and will not be reflected "
"back into the configuration file, and will be lost if Anope is shut down, "
"restarted, or the configuration is reloaded."
"\n\n"
"Example:\n"
" \002MODIFY\033nickserv\033regdelay\03315m\002"
));
ExampleWrapper examples;
examples.AddEntry("MODIFY nickserv regdelay 15m", _(
"Changes the registration delay to 15 minutes."
));
examples.AddEntry("VIEW", _(
"Shows the current server configuration."
));
examples.SendTo(source);
return true;
}
};
+8 -5
View File
@@ -157,12 +157,15 @@ public:
"and the number of replies to limit to. By default this "
"command searches one week of logs, and limits replies "
"to 50."
"\n\n"
"For example:\n"
" \002LOGSEARCH\033+21d\033+500l\033Anope\002\n"
" Searches the last 21 days worth of logs for messages\n"
" containing Anope and lists the most recent 500 of them."
));
ExampleWrapper examples;
examples.AddEntry("+21d +500l Anope", _(
"Searches the last 21 days worth of logs for messages containing Anope and lists the "
"most recent 500 of them."
));
examples.SendTo(source);
return true;
}
};
+16 -8
View File
@@ -493,10 +493,7 @@ public:
"The \002SNLINE\033LIST\002 command displays the SNLINE 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"
" \002SNLINE\033LIST\0332-5,7-9\002\n"
" Lists SNLINE entries numbered 2 through 5 and 7\n"
" through 9."
"only those entries are shown."
"\n\n"
"\002SNLINE\033VIEW\002 is a more verbose version of \002SNLINE\033LIST\002, and "
"will show who added an SNLINE, the date it was added, and when "
@@ -504,6 +501,13 @@ public:
"\n\n"
"\002SNLINE\033CLEAR\002 clears all entries of the SNLINE list."
));
ExampleWrapper examples;
examples.AddEntry("LIST 2-5,7-9", _(
"Lists SNLINE entries numbered 2 through 5 and 7 through 9."
));
examples.SendTo(source);
return true;
}
};
@@ -733,10 +737,7 @@ public:
"The \002SQLINE\033LIST\002 command displays the SQLINE 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"
" \002SQLINE\033LIST\0332-5,7-9\002\n"
" Lists SQLINE entries numbered 2 through 5 and 7\n"
" through 9."
"only those entries are shown."
"\n\n"
"\002SQLINE\033VIEW\002 is a more verbose version of \002SQLINE\033LIST\002, and "
"will show who added an SQLINE, the date it was added, and when "
@@ -744,6 +745,13 @@ public:
"\n\n"
"\002SQLINE\033CLEAR\002 clears all entries of the SQLINE list."
));
ExampleWrapper examples;
examples.AddEntry("LIST 2-5,7-9", _(
"Lists SQLINE entries numbered 2 through 5 and 7 through 9."
));
examples.SendTo(source);
return true;
}
};