]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_delayjoin.cpp
Clarify handshake failure messages
[user/henk/code/inspircd.git] / src / modules / m_delayjoin.cpp
index 1db0e7c0d58740ffaeffe222c8ed0602282e11a3..cde9ed047f34d23690fc997b000be60643cda3b9 100644 (file)
@@ -19,7 +19,7 @@ class DelayJoinMode : public ModeHandler
  private:
        CUList empty;
  public:
-       DelayJoinMode(Module* Parent) : ModeHandler(Parent, 'D', PARAM_NONE, MODETYPE_CHANNEL)
+       DelayJoinMode(Module* Parent) : ModeHandler(Parent, "delayjoin", 'D', PARAM_NONE, MODETYPE_CHANNEL)
        {
                levelrequired = OP_VALUE;
        }
@@ -154,9 +154,12 @@ void ModuleDelayJoin::OnText(User* user, void* dest, int target_type, const std:
        /* Display the join to everyone else (the user who joined got it earlier) */
        channel->WriteAllExceptSender(user, false, 0, "JOIN %s", channel->name.c_str());
 
-       std::string n = ServerInstance->Modes->ModeString(user, channel);
-       if (n.length() > 0)
-               channel->WriteAllExceptSender(user, false, 0, "MODE %s +%s", channel->name.c_str(), n.c_str());
+       std::string ms = memb->modes;
+       for(unsigned int i=0; i < memb->modes.length(); i++)
+               ms.append(" ").append(user->nick);
+
+       if (ms.length() > 0)
+               channel->WriteAllExceptSender(user, false, 0, "MODE %s +%s", channel->name.c_str(), ms.c_str());
 }
 
 MODULE_INIT(ModuleDelayJoin)