--- /dev/null
+why:
+ servers:
+ - rbl.efnetrbl.org
+ - dnsbl.dronebl.org
\ No newline at end of file
package net.rizon.moo.plugin.commands;
+import com.google.common.eventbus.Subscribe;
import com.google.inject.Inject;
+import net.rizon.moo.events.OnReload;
+import net.rizon.moo.plugin.commands.conf.CommandsConfiguration;
import net.rizon.moo.plugin.commands.why.CommandWhy;
import net.rizon.moo.plugin.commands.version.CommandVersions;
import com.google.inject.multibindings.Multibinder;
import net.rizon.moo.plugin.commands.why.Message216;
import net.rizon.moo.plugin.commands.why.Message219Why;
import net.rizon.moo.plugin.commands.why.Message225;
+import org.slf4j.Logger;
public class commands extends Plugin
{
+ public static CommandsConfiguration conf;
+
+ @Inject
+ private static Logger logger;
+
@Inject
private CommandOline oline;
private ScheduledFuture checkTimesTimerFuture;
- public commands()
+ public commands() throws Exception
{
super("Administation Commands", "Common IRC administration commands");
+ conf = CommandsConfiguration.load();
}
@Override
{
bind(commands.class).toInstance(this);
+ bind(CommandsConfiguration.class).toInstance(conf);
+
bind(CheckTimesTimer.class);
Multibinder<Command> commandBinder = Multibinder.newSetBinder(binder(), Command.class);
commandBinder.addBinding().to(CommandUptime.class);
messageBinder.addBinding().to(Message242.class);
}
+
+ @Subscribe
+ public void onReload(OnReload evt)
+ {
+ try
+ {
+ conf = CommandsConfiguration.load();
+ }
+ catch (Exception ex)
+ {
+ evt.getSource().reply("Error reloading commands configuration: " + ex.getMessage());
+
+ logger.warn("Unable to reload commands configuration", ex);
+ }
+ }
}
--- /dev/null
+package net.rizon.moo.plugin.commands.conf;
+
+import net.rizon.moo.conf.Configuration;
+import net.rizon.moo.conf.ConfigurationException;
+import net.rizon.moo.plugin.commands.why.conf.WhyConfiguration;
+
+public class CommandsConfiguration extends Configuration
+{
+ public WhyConfiguration why;
+
+ public static CommandsConfiguration load() throws Exception
+ {
+ return Configuration.load("commands.yml", CommandsConfiguration.class);
+ }
+
+ @Override
+ public void validate() throws ConfigurationException
+ {
+ why.validate();
+ }
+}
import net.rizon.moo.Command;
import net.rizon.moo.CommandSource;
-import net.rizon.moo.Moo;
import net.rizon.moo.conf.Config;
import net.rizon.moo.irc.Protocol;
import net.rizon.moo.irc.Server;
import net.rizon.moo.irc.ServerManager;
+import net.rizon.moo.plugin.commands.commands;
class DNSBLChecker extends Thread
{
- private static final String DNSBLs[] = { "rbl.efnetrbl.org", "dnsbl.dronebl.org" };
-
private CommandSource source;
private String ip;
String reverse_ip = octets[3] + "." + octets[2] + "." + octets[1] + "." + octets[0];
- for (final String dnsbl : DNSBLs)
+ for (final String dnsbl : commands.conf.why.servers)
{
String lookup_addr = reverse_ip + "." + dnsbl;
@Inject
private Protocol protocol;
-
+
protected static CommandSource command_source;
public static String host_ip = "", host_host = "";
public static int requested = 0;
--- /dev/null
+package net.rizon.moo.plugin.commands.why.conf;
+
+import net.rizon.moo.conf.Configuration;
+import net.rizon.moo.conf.ConfigurationException;
+
+import java.util.List;
+
+public class WhyConfiguration extends Configuration
+{
+ public List<String> servers;
+
+ @Override
+ public void validate() throws ConfigurationException
+ {
+
+ }
+}