diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_filter.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp index 94dc2f134..b7d977771 100644 --- a/src/modules/m_filter.cpp +++ b/src/modules/m_filter.cpp @@ -251,19 +251,22 @@ FilterBase::~FilterBase() int FilterBase::OnUserPreMessage(User* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list) { + if (!IS_LOCAL(user)) + return 0; + flags = FLAG_PRIVMSG; return OnUserPreNotice(user,dest,target_type,text,status,exempt_list); } int FilterBase::OnUserPreNotice(User* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list) { - if (!flags) - flags = FLAG_NOTICE; - /* Leave ulines alone */ if ((ServerInstance->ULine(user->server)) || (!IS_LOCAL(user))) return 0; + if (!flags) + flags = FLAG_NOTICE; + FilterResult* f = this->FilterMatch(user, text, flags); if (f) { |