+ else
+ {
+ if (channel->GetExt("joinflood", dummy))
+ {
+ joinfloodsettings *f;
+ channel->GetExt("joinflood", f);
+ delete f;
+ channel->Shrink("joinflood");
+ channel->SetModeParam('j', "");
+ return MODEACTION_ALLOW;
+ }
+ }
+ return MODEACTION_DENY;
+ }
+};
+
+class ModuleJoinFlood : public Module
+{
+
+ JoinFlood* jf;
+
+ public:
+
+ ModuleJoinFlood(InspIRCd* Me)
+ : Module(Me)
+ {
+
+ jf = new JoinFlood(ServerInstance);
+ if (!ServerInstance->Modes->AddMode(jf))
+ throw ModuleException("Could not add new modes!");
+ Implementation eventlist[] = { I_OnChannelDelete, I_OnUserPreJoin, I_OnUserJoin };
+ ServerInstance->Modules->Attach(eventlist, this, 3);