summaryrefslogtreecommitdiff
path: root/modules/operserv/sxline.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/operserv/sxline.cpp')
-rw-r--r--modules/operserv/sxline.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/modules/operserv/sxline.cpp b/modules/operserv/sxline.cpp
index d8d373aa5..ebd6204f9 100644
--- a/modules/operserv/sxline.cpp
+++ b/modules/operserv/sxline.cpp
@@ -217,10 +217,26 @@ class CommandOSSXLineBase : public Command
else if (cmd.equals_ci("CLEAR"))
return this->OnClear(source);
else
- this->OnSyntaxError(source, "");
+ this->OnSyntaxError(source);
}
- virtual bool OnHelp(CommandSource &source, const Anope::string &subcommand) override = 0;
+ virtual bool OnHelp(CommandSource &source, const Anope::string &subcommand) override anope_abstract;
+
+ void OnSyntaxError(CommandSource &source, const Anope::string &subcommand = "") override
+ {
+ if (subcommand.equals_ci("ADD"))
+ {
+ SubcommandSyntaxError(source, subcommand, _("[+\037expiry\037] \037mask\037:\037reason\037"));
+ }
+ else if (subcommand.equals_ci("DEL"))
+ {
+ SubcommandSyntaxError(source, subcommand, _("{\037mask\037 | \037entry-num\037 | \037list\037 | \037id\037}"));
+ }
+ else
+ {
+ Command::OnSyntaxError(source, subcommand);
+ }
+ }
};
class CommandOSSNLine : public CommandOSSXLineBase