+ m1 = new AChannel_R(ServerInstance);
+ m2 = new AChannel_M(ServerInstance);
+ m3 = new AUser_R(ServerInstance);
+ 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_OnSyncUserMetaData, I_OnUserQuit, I_OnCleanup, I_OnDecodeMetaData, I_On005Numeric, I_OnUserPostNick };
+
+ ServerInstance->Modules->Attach(eventlist, this, 10);