]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cap.cpp
Merge pull request #971 from SaberUK/master+numeric-xline
[user/henk/code/inspircd.git] / src / modules / m_cap.cpp
index 968c304ab4c45750394e277c331242c039a8257a..db5d85f0f09dc92f001d9cfb962176a6965470a1 100644 (file)
@@ -42,7 +42,7 @@ class CommandCAP : public Command
  public:
        LocalIntExt reghold;
        CommandCAP (Module* mod) : Command(mod, "CAP", 1),
-               reghold("CAP_REGHOLD", mod)
+               reghold("CAP_REGHOLD", ExtensionItem::EXT_USER, mod)
        {
                works_before_reg = true;
        }
@@ -74,14 +74,14 @@ class CommandCAP : public Command
 
                        if (Data.ack.size() > 0)
                        {
-                               std::string AckResult = irc::stringjoiner(Data.ack).GetJoined();
-                               user->WriteServ("CAP %s ACK :%s", user->nick.c_str(), AckResult.c_str());
+                               std::string AckResult = irc::stringjoiner(Data.ack);
+                               user->WriteCommand("CAP", "ACK :" + AckResult);
                        }
 
                        if (Data.wanted.size() > 0)
                        {
-                               std::string NakResult = irc::stringjoiner(Data.wanted).GetJoined();
-                               user->WriteServ("CAP %s NAK :%s", user->nick.c_str(), NakResult.c_str());
+                               std::string NakResult = irc::stringjoiner(Data.wanted);
+                               user->WriteCommand("CAP", "NAK :" + NakResult);
                        }
                }
                else if (subcommand == "END")
@@ -95,8 +95,8 @@ class CommandCAP : public Command
                        reghold.set(user, 1);
                        Data.Send();
 
-                       std::string Result = irc::stringjoiner(Data.wanted).GetJoined();
-                       user->WriteServ("CAP %s %s :%s", user->nick.c_str(), subcommand.c_str(), Result.c_str());
+                       std::string Result = irc::stringjoiner(Data.wanted);
+                       user->WriteCommand("CAP", subcommand + " :" + Result);
                }
                else if (subcommand == "CLEAR")
                {
@@ -105,8 +105,8 @@ class CommandCAP : public Command
                        reghold.set(user, 1);
                        Data.Send();
 
-                       std::string Result = irc::stringjoiner(Data.ack).GetJoined();
-                       user->WriteServ("CAP %s ACK :%s", user->nick.c_str(), Result.c_str());
+                       std::string Result = irc::stringjoiner(Data.ack);
+                       user->WriteCommand("CAP", "ACK :" + Result);
                }
                else
                {