]> jfr.im git - irc/rizon/moo.git/commitdiff
mxbl
authorAdam <redacted>
Sun, 21 Feb 2016 15:38:28 +0000 (10:38 -0500)
committerAdam <redacted>
Sun, 21 Feb 2016 15:38:28 +0000 (10:38 -0500)
mxbl/src/main/java/net/rizon/moo/plugin/mxbl/CommandBlacklist.java
mxbl/src/main/java/net/rizon/moo/plugin/mxbl/EventRegister.java
mxbl/src/main/java/net/rizon/moo/plugin/mxbl/mxbl.java
pom.xml

index c4bcd9e82f71239aa96977466fe9e74121bcda27..41e8faf7edf380a922ac97f24eb2a18b16afa5fb 100644 (file)
@@ -1,5 +1,6 @@
 package net.rizon.moo.plugin.mxbl;
 
+import com.google.inject.Inject;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -7,8 +8,7 @@ import java.util.HashMap;
 import java.util.List;
 import net.rizon.moo.Command;
 import net.rizon.moo.CommandSource;
-import net.rizon.moo.Moo;
-import net.rizon.moo.Plugin;
+import net.rizon.moo.conf.Config;
 import net.rizon.moo.plugin.mxbl.dns.NS;
 import net.rizon.moo.plugin.mxbl.dns.RecordType;
 
@@ -16,22 +16,23 @@ import net.rizon.moo.plugin.mxbl.dns.RecordType;
  *
  * @author Orillion <orillion@rizon.net>
  */
-public class CommandBlacklist extends Command
+class CommandBlacklist extends Command
 {
 
        private final List<RecordType> MX_RECORDS = new ArrayList<>();
        private final List<RecordType> IP_RECORDS = new ArrayList<>();
 
-       public CommandBlacklist(Plugin pkg)
+       @Inject
+       public CommandBlacklist(Config conf)
        {
-               super(pkg, "!MXBL", "Modify or view MX blacklist.");
+               super("!MXBL", "Modify or view MX blacklist.");
 
                MX_RECORDS.add(RecordType.MX);
                IP_RECORDS.add(RecordType.A);
                IP_RECORDS.add(RecordType.AAAA);
 
                // TODO: Fill in correct channels.
-               this.requiresChannel(Moo.conf.admin_channels);
+               this.requiresChannel(conf.admin_channels);
        }
 
        @Override
index a3d8d73fb2d61b1c003a758e9b59895c85e3cf1a..8f5417bce5f536c471dd79abf6590d5ad333c956 100644 (file)
@@ -1,9 +1,11 @@
 package net.rizon.moo.plugin.mxbl;
 
 import com.google.common.eventbus.Subscribe;
+import com.google.inject.Inject;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.EventListener;
 import java.util.HashMap;
 import java.util.List;
 import java.util.regex.Matcher;
@@ -11,19 +13,28 @@ import java.util.regex.Pattern;
 import javax.naming.NamingException;
 import net.rizon.moo.Event;
 import net.rizon.moo.Moo;
+import net.rizon.moo.conf.Config;
 import net.rizon.moo.events.EventPrivmsg;
+import net.rizon.moo.irc.Protocol;
 import net.rizon.moo.plugin.mxbl.dns.NS;
 import net.rizon.moo.plugin.mxbl.dns.RecordType;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  *
  * @author Orillion <orillion@rizon.net>
  */
-public class EventRegister extends Event
+public class EventRegister extends Event implements EventListener
 {
-       private final static Logger logger = LoggerFactory.getLogger(EventRegister.class);
+       @Inject
+       private static Logger logger;
+       
+       @Inject
+       private Config conf;
+       
+       @Inject
+       private Protocol protocol;
+
        // "%s: '%s' registered by %s@%s (e-mail: %s)", s_NickServ, u->nick, u->username, u->host, (email ? email : "none")
        private final String nickServRegex = "NickServ";
        // Assumes nicks are valid (else they can't connect to the server anyway)
@@ -57,7 +68,7 @@ public class EventRegister extends Event
                        return;
                }
 
-               for (String s : Moo.conf.log_channels)
+               for (String s : conf.log_channels)
                {
                        if (evt.getChannel().equalsIgnoreCase(s))
                        {
@@ -143,8 +154,8 @@ public class EventRegister extends Event
         */
        private void suspendNick(String nickname)
        {
-               Moo.privmsgAll(Moo.conf.moo_log_channels, "Suspended nick [" + nickname + "] because it was registered with a blacklisted mailhost");
-               Moo.privmsg("NickServ", "SUSPEND " + nickname + " Registered using blacklisted mailhost");
+               protocol.privmsgAll(conf.moo_log_channels, "Suspended nick [" + nickname + "] because it was registered with a blacklisted mailhost");
+               protocol.privmsg("NickServ", "SUSPEND " + nickname + " Registered using blacklisted mailhost");
        }
 
        /**
index 189499ed45dfc7df4594c45213f27db41643e75b..b9db04cd417dd96a1bb987bc0d95cebf4ded65cc 100644 (file)
@@ -1,8 +1,13 @@
 package net.rizon.moo.plugin.mxbl;
 
+import com.google.inject.Inject;
+import com.google.inject.multibindings.Multibinder;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.EventListener;
+import java.util.List;
 import net.rizon.moo.Command;
 import net.rizon.moo.Event;
 import net.rizon.moo.Moo;
@@ -15,8 +20,8 @@ import net.rizon.moo.Plugin;
  */
 public class mxbl extends Plugin
 {
-       private Command blacklist;
-       private Event register;
+       @Inject
+       private CommandBlacklist blacklist;
 
        public mxbl() throws Exception
        {
@@ -70,10 +75,6 @@ public class mxbl extends Plugin
                
                rs.close();
                ps.close();
-
-               blacklist = new CommandBlacklist(this);
-               register = new EventRegister();
-               Moo.getEventBus().register(register);
        }
 
        private void buildMailhosts(ResultSet rs, Mailhost mw) throws SQLException
@@ -95,14 +96,25 @@ public class mxbl extends Plugin
        @Override
        public void stop()
        {
-               if (blacklist != null)
-               {
-                       blacklist.remove();
-               }
-               if (register != null)
-               {
-                       Moo.getEventBus().unregister(register);
-               }
+       }
+
+       @Override
+       public List<Command> getCommands()
+       {
+               return Arrays.<Command>asList(blacklist);
+       }
+
+       @Override
+       protected void configure()
+       {
+               bind(mxbl.class).toInstance(this);
+
+
+               Multibinder<EventListener> eventListenerBinder = Multibinder.newSetBinder(binder(), EventListener.class);
+               eventListenerBinder.addBinding().to(EventRegister.class);
+
+               Multibinder<Command> commandBinder = Multibinder.newSetBinder(binder(), Command.class);
+               commandBinder.addBinding().to(CommandBlacklist.class);
        }
 
 }
diff --git a/pom.xml b/pom.xml
index a8347bd479b75a7ab0fc5d984e44301a089e42ea..08cb5a1509eea035957b839bff9a332a1c356d73 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -32,8 +32,8 @@
                <module>dnsblstats</module>
                <module>fun</module>
                <module>grapher</module>
-               <module>logging</module><!--
-               <module>mxbl</module>
+               <module>logging</module>
+               <module>mxbl</module><!--
                <module>osflood</module>
                <module>proxyscan</module>
                <module>random</module>