summaryrefslogtreecommitdiff
path: root/src/modules/m_blockcaps.cpp
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-07-21 16:29:47 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-07-21 16:29:47 +0000
commit644ed25d8d87874b55aef6b8e700e9e79017ec18 (patch)
tree2c9e5d58b964889963c23c89de6788074209fc57 /src/modules/m_blockcaps.cpp
parentedf6ba3cf14923c0b79c5da7df5e72b9639bcfc3 (diff)
Add extban +b B: - matching users may not use caps, same as chmode +B (or +P in 1.1)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10058 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_blockcaps.cpp')
-rw-r--r--src/modules/m_blockcaps.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/modules/m_blockcaps.cpp b/src/modules/m_blockcaps.cpp
index 31542befd..aa91b6bcd 100644
--- a/src/modules/m_blockcaps.cpp
+++ b/src/modules/m_blockcaps.cpp
@@ -41,10 +41,14 @@ public:
delete bc;
throw ModuleException("Could not add new modes!");
}
- Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice, I_OnRehash };
- ServerInstance->Modules->Attach(eventlist, this, 3);
+ Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice, I_OnRehash, I_On005Numeric };
+ ServerInstance->Modules->Attach(eventlist, this, 4);
}
+ virtual void On005Numeric(std::string &output)
+ {
+ ServerInstance->AddExtBanChar('B');
+ }
virtual void OnRehash(User* user, const std::string &param)
{
@@ -65,7 +69,7 @@ public:
return 0;
}
- if (c->IsModeSet('B'))
+ if (c->IsModeSet('B') || c->IsExtBanned(user, 'B'))
{
int caps = 0;
const char* actstr = "\1ACTION ";