Add extban +b S:, strips colours, same as chmode +S

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10063 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
w00t 2008-07-21 16:45:34 +00:00
parent 9bc29e32cb
commit 33d11457b4

View File

@ -46,11 +46,10 @@ class ModuleStripColor : public Module
if (!ServerInstance->Modes->AddMode(usc) || !ServerInstance->Modes->AddMode(csc))
throw ModuleException("Could not add new modes!");
Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice };
ServerInstance->Modules->Attach(eventlist, this, 2);
Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice, I_On005Numeric };
ServerInstance->Modules->Attach(eventlist, this, 3);
}
virtual ~ModuleStripColor()
{
ServerInstance->Modes->DelMode(usc);
@ -59,6 +58,11 @@ class ModuleStripColor : public Module
delete csc;
}
virtual void On005Numeric(std::string &output)
{
ServerInstance->AddExtBanChar('S');
}
virtual void ReplaceLine(std::string &sentence)
{
/* refactor this completely due to SQUIT bug since the old code would strip last char and replace with \0 --peavey */
@ -121,7 +125,7 @@ class ModuleStripColor : public Module
return 0;
}
active = t->IsModeSet('S');
active = t->IsModeSet('S') || t->IsExtBanned(user, 'S');
}
if (active)