]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanfilter.cpp
Add {To,From}{Human,Internal,Network} to ExtensionItem.
[user/henk/code/inspircd.git] / src / modules / m_chanfilter.cpp
index 903aab33a8eeb2f5f2e724a0225a6188849152b1..6131ab9166d2471f050a8cfaa8c960a148fb8c2a 100644 (file)
 #include "listmode.h"
 #include "modules/exemption.h"
 
-enum
-{
-       // InspIRCd-specific.
-       ERR_ALREADYCHANFILTERED = 937,
-       ERR_NOSUCHCHANFILTER = 938,
-       ERR_CHANFILTERFULL = 939
-};
-
 /** Handles channel mode +g
  */
 class ChanFilter : public ListModeBase
@@ -42,33 +34,22 @@ class ChanFilter : public ListModeBase
  public:
        unsigned long maxlen;
 
-       ChanFilter(Module* Creator) : ListModeBase(Creator, "filter", 'g', "End of channel spamfilter list", 941, 940, false, "chanfilter") { }
+       ChanFilter(Module* Creator)
+               : ListModeBase(Creator, "filter", 'g', "End of channel spamfilter list", 941, 940, false)
+       {
+               syntax = "<pattern>";
+       }
 
        bool ValidateParam(User* user, Channel* chan, std::string& word) CXX11_OVERRIDE
        {
                if (word.length() > maxlen)
                {
-                       user->WriteNumeric(Numerics::InvalidModeParameter(chan, this, word, "Word is too long for the spamfilter list"));
+                       user->WriteNumeric(Numerics::InvalidModeParameter(chan, this, word, "Word is too long for the spamfilter list."));
                        return false;
                }
 
                return true;
        }
-
-       void TellListTooLong(User* user, Channel* chan, std::string& word) CXX11_OVERRIDE
-       {
-               user->WriteNumeric(ERR_CHANFILTERFULL, chan->name, word, "Channel spamfilter list is full");
-       }
-
-       void TellAlreadyOnList(User* user, Channel* chan, std::string& word) CXX11_OVERRIDE
-       {
-               user->WriteNumeric(ERR_ALREADYCHANFILTERED, chan->name, InspIRCd::Format("The word %s is already on the spamfilter list", word.c_str()));
-       }
-
-       void TellNotSet(User* user, Channel* chan, std::string& word) CXX11_OVERRIDE
-       {
-               user->WriteNumeric(ERR_NOSUCHCHANFILTER, chan->name, "No such spamfilter word is set");
-       }
 };
 
 class ModuleChanFilter : public Module
@@ -90,7 +71,7 @@ class ModuleChanFilter : public Module
        {
                ConfigTag* tag = ServerInstance->Config->ConfValue("chanfilter");
                hidemask = tag->getBool("hidemask");
-               cf.maxlen = tag->getUInt("maxlen", 35, 10, 100);
+               cf.maxlen = tag->getUInt("maxlen", 35, 10, ModeParser::MODE_PARAM_MAX);
                notifyuser = tag->getBool("notifyuser", true);
                cf.DoRehash();
        }