diff options
-rw-r--r-- | include/listmode.h | 9 | ||||
-rw-r--r-- | src/listmode.cpp | 4 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/listmode.h b/include/listmode.h index ba64f8b61..5eb77538f 100644 --- a/include/listmode.h +++ b/include/listmode.h @@ -178,6 +178,15 @@ class CoreExport ListModeBase : public ModeHandler */ virtual bool ValidateParam(User* user, Channel* channel, std::string& parameter); + /** In the event that the mode should be given a parameter, and no parameter was provided, this method is called. + * This allows you to give special information to the user, or handle this any way you like. + * @param user The user issuing the mode change + * @param dest For user mode changes, the target of the mode. For channel mode changes, NULL. + * @param channel For channel mode changes, the target of the mode. For user mode changes, NULL. + * See mode.h + */ + virtual void OnParameterMissing(User* user, User* dest, Channel* channel) CXX11_OVERRIDE; + /** Tell the user the list is too long. * Overridden by implementing module. * @param source Source user adding the parameter diff --git a/src/listmode.cpp b/src/listmode.cpp index 23f98bf3f..a8f6e5108 100644 --- a/src/listmode.cpp +++ b/src/listmode.cpp @@ -221,6 +221,10 @@ bool ListModeBase::ValidateParam(User*, Channel*, std::string&) return true; } +void ListModeBase::OnParameterMissing(User*, User*, Channel*) +{ +} + void ListModeBase::TellListTooLong(User* source, Channel* channel, std::string& parameter) { source->WriteNumeric(ERR_BANLISTFULL, channel->name, parameter, "Channel ban list is full"); |