class UserStripColor : public SimpleUserModeHandler
{
public:
- UserStripColor(Module* Creator) : SimpleUserModeHandler(Creator, "stripcolor", 'S') { }
+ UserStripColor(Module* Creator) : SimpleUserModeHandler(Creator, "u_stripcolor", 'S') { }
};
public:
ModuleStripColor() : csc(this), usc(this)
{
- if (!ServerInstance->Modes->AddMode(&usc) || !ServerInstance->Modes->AddMode(&csc))
- throw ModuleException("Could not add new modes!");
+ }
+
+ void init()
+ {
+ ServerInstance->Modules->AddService(usc);
+ ServerInstance->Modules->AddService(csc);
Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice, I_On005Numeric };
ServerInstance->Modules->Attach(eventlist, this, 3);
}
else if (target_type == TYPE_CHANNEL)
{
Channel* t = (Channel*)dest;
- ModResult res;
- FIRST_MOD_RESULT(OnChannelRestrictionApply, res, (user,t,"stripcolor"));
+ ModResult res = ServerInstance->OnCheckExemption(user,t,"stripcolor");
if (res == MOD_RES_ALLOW)
return MOD_RES_PASSTHRU;
virtual Version GetVersion()
{
- return Version("Provides channel +S mode (strip ansi colour)", VF_COMMON | VF_VENDOR);
+ return Version("Provides channel +S mode (strip ansi colour)", VF_VENDOR);
}
};