+ }
+
+ void init()
+ {
+ OnRehash(NULL);
+
+ ServerInstance->Modules->AddService(r);
+ ServerInstance->XLines->RegisterFactory(&f);
+
+ Implementation eventlist[] = { I_OnUserConnect, I_OnRehash, I_OnUserPostNick, I_OnStats, I_OnBackgroundTimer };
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
+ }
+
+ virtual ~ModuleRLine()
+ {
+ ServerInstance->XLines->DelAll("R");
+ ServerInstance->XLines->UnregisterFactory(&f);
+ }
+
+ virtual Version GetVersion()
+ {
+ return Version("RLINE: Regexp user banning.", VF_COMMON | VF_VENDOR, rxfactory ? rxfactory->name : "");
+ }
+
+ virtual void OnUserConnect(LocalUser* user)
+ {
+ // Apply lines on user connect
+ XLine *rl = ServerInstance->XLines->MatchesLine("R", user);
+
+ if (rl)