- ServerInstance->AddMode(m1, 'R');
- ServerInstance->AddMode(m2, 'M');
- ServerInstance->AddMode(m3, 'R');
+ m4 = new Channel_r(ServerInstance);
+ m5 = new User_r(ServerInstance);
+
+ if (!ServerInstance->Modes->AddMode(m1) || !ServerInstance->Modes->AddMode(m2) || !ServerInstance->Modes->AddMode(m3) || !ServerInstance->Modes->AddMode(m4) || !ServerInstance->Modes->AddMode(m5))
+ throw ModuleException("Some other module has claimed our modes!");
+
+ Implementation eventlist[] = { I_OnWhois, I_OnUserPreMessage, I_OnUserPreNotice, I_OnUserPreJoin, I_OnCheckBan,
+ I_OnSyncUserMetaData, I_OnUserQuit, I_OnCleanup, I_OnDecodeMetaData, I_On005Numeric, I_OnUserPostNick };
+
+ ServerInstance->Modules->Attach(eventlist, this, 10);
+ }
+
+ virtual void On005Numeric(std::string &t)
+ {
+ ServerInstance->AddExtBanChar('R');
+ ServerInstance->AddExtBanChar('M');