]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_delayjoin.cpp
m_chanfilter: Apply filters to part messages (#1702)
[user/henk/code/inspircd.git] / src / modules / m_delayjoin.cpp
index 469f334393c36142d4976c01453322eba26b0f9f..1c1d36e19863305c01c69c465a718fa191f943d2 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "inspircd.h"
 #include "modules/ctctags.h"
+#include "modules/names.h"
 
 class DelayJoinMode : public ModeHandler
 {
@@ -76,6 +77,7 @@ class JoinHook : public ClientProtocol::EventHook
 class ModuleDelayJoin 
        : public Module
        , public CTCTags::EventListener
+       , public Names::EventListener
 {
  public:
        LocalIntExt unjoined;
@@ -84,6 +86,7 @@ class ModuleDelayJoin
 
        ModuleDelayJoin()
                : CTCTags::EventListener(this)
+               , Names::EventListener(this)
                , unjoined("delayjoin", ExtensionItem::EXT_MEMBERSHIP, this)
                , joinhook(this, unjoined)
                , djm(this, unjoined)
@@ -91,7 +94,7 @@ class ModuleDelayJoin
        }
 
        Version GetVersion() CXX11_OVERRIDE;
-       ModResult OnNamesListItem(User* issuer, Membership*, std::string& prefixes, std::string& nick) CXX11_OVERRIDE;
+       ModResult OnNamesListItem(LocalUser* issuer, Membership*, std::string& prefixes, std::string& nick) CXX11_OVERRIDE;
        void OnUserJoin(Membership*, bool, bool, CUList&) CXX11_OVERRIDE;
        void CleanUser(User* user);
        void OnUserPart(Membership*, std::string &partmessage, CUList&) CXX11_OVERRIDE;
@@ -124,10 +127,10 @@ ModeAction DelayJoinMode::OnModeChange(User* source, User* dest, Channel* channe
 
 Version ModuleDelayJoin::GetVersion()
 {
-       return Version("Allows for delay-join channels (+D) where users don't appear to join until they speak", VF_VENDOR);
+       return Version("Provides channel mode +D, delay-join, users don't appear as joined to others until they speak", VF_VENDOR);
 }
 
-ModResult ModuleDelayJoin::OnNamesListItem(User* issuer, Membership* memb, std::string& prefixes, std::string& nick)
+ModResult ModuleDelayJoin::OnNamesListItem(LocalUser* issuer, Membership* memb, std::string& prefixes, std::string& nick)
 {
        /* don't prevent the user from seeing themself */
        if (issuer == memb->user)
@@ -212,7 +215,7 @@ void DelayJoinMode::RevealUser(User* user, Channel* chan)
        chan->Write(joinevent, 0, except_list);
 }
 
-/* make the user visible if he receives any mode change */
+/* make the user visible if they receive any mode change */
 ModResult ModuleDelayJoin::OnRawMode(User* user, Channel* channel, ModeHandler* mh, const std::string& param, bool adding)
 {
        if (!channel || param.empty())