]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sajoin.cpp
Fix REMOVE maxparams
[user/henk/code/inspircd.git] / src / modules / m_sajoin.cpp
index 8fad7bc42d650c90353a411b6a7421fdef71b6c6..bf1cbe450aab7b80253a39927b8ff05240e20531 100644 (file)
 class CommandSajoin : public Command
 {
  public:
-       CommandSajoin (InspIRCd* Instance) : Command(Instance,"SAJOIN", "o", 2, false, 0)
+       CommandSajoin(Module* Creator) : Command(Creator,"SAJOIN", 2)
        {
-               this->source = "m_sajoin.so";
-               syntax = "<nick> <channel>";
+               flags_needed = 'o'; Penalty = 0; syntax = "<nick> <channel>";
                TRANSLATE3(TR_NICK, TR_TEXT, TR_END);
        }
 
@@ -84,6 +83,14 @@ class CommandSajoin : public Command
                        return CMD_FAILURE;
                }
        }
+
+       RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters)
+       {
+               User* dest = ServerInstance->FindNick(parameters[0]);
+               if (dest)
+                       return ROUTE_OPT_UCAST(dest->server);
+               return ROUTE_LOCALONLY;
+       }
 };
 
 class ModuleSajoin : public Module
@@ -91,7 +98,7 @@ class ModuleSajoin : public Module
        CommandSajoin cmd;
  public:
        ModuleSajoin(InspIRCd* Me)
-               : Module(Me), cmd(Me)
+               : Module(Me), cmd(this)
        {
                ServerInstance->AddCommand(&cmd);
        }
@@ -102,7 +109,7 @@ class ModuleSajoin : public Module
 
        virtual Version GetVersion()
        {
-               return Version("$Id$", VF_COMMON | VF_VENDOR, API_VERSION);
+               return Version("$Id$", VF_OPTCOMMON | VF_VENDOR, API_VERSION);
        }
 
 };