package server.events;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Pattern;
import server.Randomizer;
/**
*
* @author Oliver
*/
public class MLIABot {
private static int getPage() {
try {
HttpURLConnection con = (HttpURLConnection) new URL("http://mylifeisaverage.com/").openConnection();
StringBuilder sb = new StringBuilder();
con.connect();
InputStream input = con.getInputStream();
byte[] buf = new byte[2048];
int read;
while ((read = input.read(buf)) > 0) {
sb.append(new String(buf, 0, read));
}
final String find = "<li class=\"last\"><a href=\"";
int firstPost = sb.indexOf(find);
StringBuilder send = new StringBuilder();
for (int i = firstPost + find.length(); i < sb.length(); i++) {
char ch = sb.charAt(i);
if (ch == '"') {
break;
}
send.append(ch);
}
int toreturn = Integer.parseInt(send.toString());
toreturn = Randomizer.nextInt(toreturn) + 1;
return toreturn;
} catch (Exception e) {
System.err.println("[MLIA Bot] There has been an error displaying the FML.");
e.printStackTrace();
}
return 2;
}
public static String findMLIA() {
String fmlmsg = "";
try {
HttpURLConnection con = (HttpURLConnection) new URL("http://mylifeisaverage.com/" + getPage()).openConnection();
StringBuilder sb = new StringBuilder();
con.connect();
InputStream input = con.getInputStream();
byte[] buf = new byte[2048];
int read;
while ((read = input.read(buf)) > 0) {
sb.append(new String(buf, 0, read));
}
final String find = "<div class=\"sc\">";
int random = Randomizer.nextInt(10);
for (int i = 0; i < random; i++) {
String gb = sb.substring(sb.indexOf(find) + 1);
sb = new StringBuilder();
sb.append(gb);
}
int firstPost = sb.indexOf(find);
StringBuilder send = new StringBuilder();
for (int i = firstPost + find.length(); i < sb.length(); i++) {
char ch = sb.charAt(i);
if (ch == '<') {
if (sb.charAt(i + 1) == '/') {
if (sb.charAt(i + 2) == 'd') {
break;
}
}
}
send.append(ch);
}
String sendTxt = send.toString();
sendTxt = ignore(sendTxt);
final String find2 = " ";
sendTxt = sendTxt.substring(sendTxt.indexOf(find2));
sendTxt = sendTxt.substring(8);
fmlmsg = "[My Life Is Average] " + sendTxt;
input.close();
con.disconnect();
} catch (Exception e) {
System.err.println("[MLIA Bot] There has been an error displaying the MLIA.");
e.printStackTrace();
}
return fmlmsg;
}
public static String ignore(String in) {
in = in.replaceAll("\\<.*?>", "");
// in = in.replaceAll(Pattern.quote("."), ".\r\n");
in = in.replaceAll(Pattern.quote("""), "");
in = in.replaceAll(Pattern.quote("&"), "");
in = in.replaceAll(Pattern.quote(""), "");
return in;
}
}