]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fix to work with channel notices.
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 26 Nov 2006 18:55:29 +0000 (18:55 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 26 Nov 2006 18:55:29 +0000 (18:55 +0000)
SILENCE_PRIVATE silences private PRIVMSG, SILENCE_NOTICE silences private NOTICE, and SILENCE_CHANNEL silences channel PRIVMSG *and* channel NOTICE.
This makes sense to me... :)

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5809 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_silence_ext.cpp

index 142a19e15f2038d32d339e6ce04c23ff062aef82..a9878f963e2a7e8183bb612d7c6d970d29210bd9 100644 (file)
@@ -270,11 +270,12 @@ class ModuleSilence : public Module
                output = output + " ESILENCE SILENCE=999";
        }
 
-       virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
+
+       virtual int PreText(userrec* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list, int silence_type)
        {
                if (target_type == TYPE_USER)
                {
-                       return MatchPattern((userrec*)dest, user, SILENCE_PRIVATE);
+                       return MatchPattern((userrec*)dest, user, silence_type);
                }
                else if (target_type == TYPE_CHANNEL)
                {
@@ -313,9 +314,14 @@ class ModuleSilence : public Module
                return 0;
        }
 
+       virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
+       {
+               return PreText(user, dest, target_type, text, status, exempt_list, SILENCE_PRIVATE);
+       }
+
        virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
        {
-               return MatchPattern((userrec*)dest, user, SILENCE_NOTICE);
+               return PreText(user, dest, target_type, text, status, exempt_list, SILENCE_NOTICE);
        }
 
        virtual int OnUserPreInvite(userrec* source,userrec* dest,chanrec* channel)