package tterrag.tppibot.commands;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URI;
import java.util.List;
import java.util.Optional;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.pircbotx.Channel;
import org.pircbotx.PircBotX;
import org.pircbotx.User;
import tterrag.tppibot.runnables.MessageSender;
import tterrag.tppibot.util.IRCUtils;
public class Drama extends Command {
public Drama() {
super("drama");
}
@Override
public void onCommand(PircBotX bot, User user, Channel channel, List<String> lines, String... args) {
try {
URI uri = new URI("http://tehnut.info/drama/?plain");
HttpURLConnection connection = (HttpURLConnection) uri.toURL().openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String drama = in.readLine();
if (channel != null) {
// ping avoiding
String[] words = drama.split(" ");
for (int i = 0; i < words.length; i++) {
Optional<User> possibleUser = IRCUtils.getUserByNick(channel, words[i]);
if (possibleUser.isPresent()) {
char[] username = words[i].toCharArray();
username = ArrayUtils.add(username, 1, '.');
words[i] = new String(username);
}
}
drama = StringUtils.join(words, " ");
}
MessageSender.INSTANCE.enqueue(bot, channel == null ? user.getNick() : channel.getName(), drama);
} catch (Exception e) {
lines.add(e.getClass().getName());
e.printStackTrace();
}
}
}