]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_ojoin.cpp
m_exemptchanops Fix parameter validation
[user/henk/code/inspircd.git] / src / modules / m_ojoin.cpp
index 83a0494805a5aa4a0b9f8ec5385d5d787177e584..120715429cfdcdcb28a544198701582da77060c7 100644 (file)
@@ -57,7 +57,6 @@ class CommandOjoin : public SplitCommand
 
                        if (notice)
                        {
-                               channel = ServerInstance->FindChan(parameters[0]);
                                channel->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :%s joined on official network business.",
                                        parameters[0].c_str(), user->nick.c_str());
                                ServerInstance->PI->SendChannelNotice(channel, 0, user->nick + " joined on official network business.");
@@ -84,16 +83,14 @@ class CommandOjoin : public SplitCommand
 
 /** channel mode +Y
  */
-class NetworkPrefix : public ModeHandler
+class NetworkPrefix : public PrefixMode
 {
  public:
        NetworkPrefix(Module* parent, char NPrefix)
-               : ModeHandler(parent, "official-join", 'Y', PARAM_ALWAYS, MODETYPE_CHANNEL)
+               : PrefixMode(parent, "official-join", 'Y')
        {
-               list = true;
                prefix = NPrefix;
                levelrequired = INT_MAX;
-               m_paramtype = TR_NICK;
                prefixrank = NETWORK_VALUE;
        }
 
@@ -106,12 +103,6 @@ class NetworkPrefix : public ModeHandler
 
                return MOD_RES_PASSTHRU;
        }
-
-       ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string &parameter, bool adding)
-       {
-               return MODEACTION_ALLOW;
-       }
-
 };
 
 class ModuleOjoin : public Module
@@ -138,7 +129,6 @@ class ModuleOjoin : public Module
                mycommand.npmh = np;
 
                ServerInstance->Modules->AddService(*np);
-               ServerInstance->Modules->AddService(mycommand);
        }
 
        ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
@@ -171,7 +161,7 @@ class ModuleOjoin : public Module
                if (source == memb->user)
                        return MOD_RES_PASSTHRU;
 
-               source->WriteNumeric(484, source->nick+" "+memb->chan->name+" :Can't kick "+memb->user->nick+" as they're on official network business.");
+               source->WriteNumeric(ERR_RESTRICTED, memb->chan->name+" :Can't kick "+memb->user->nick+" as they're on official network business.");
                return MOD_RES_DENY;
        }