package org.mcupdater.ravenbot.features;
import org.apache.commons.lang3.StringUtils;
import org.mcupdater.ravenbot.AbstractListener;
import org.mcupdater.ravenbot.RavenBot;
import org.pircbotx.Colors;
import org.pircbotx.hooks.events.MessageEvent;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class InfoHandler extends AbstractListener
{
@Override
public void handleCommand(String sender, final MessageEvent event, String command, String[] args) {
if (command.equals(".info") || command.equals(".i") ) {
if (args.length == 0) {
event.respond("No key specified.");
return;
}
if (args.length == 1) {
String key = args[0];
try {
PreparedStatement getInfo = RavenBot.getInstance().getPreparedStatement("getInfo");
getInfo.setString(1, key);
ResultSet results = getInfo.executeQuery();
if (results.next()) {
event.respond(Colors.BOLD + key + Colors.NORMAL + " - " + results.getString(1));
} else {
event.respond("No information found for: " + key);
}
} catch (Exception e) {
e.printStackTrace();
}
}
if (args.length > 1) {
String key = args[0];
String data = StringUtils.join(args, " ", 1, args.length);
try {
PreparedStatement updateInfo = RavenBot.getInstance().getPreparedStatement("updateInfo");
updateInfo.setString(1, key);
updateInfo.setString(2, data);
if (updateInfo.executeUpdate() > 0) {
event.respond("Value set.");
} else {
event.respond("An error occurred while trying to set the value.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
@Override
protected void initCommands() {
}
}