All pastes #766370 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-11-08 20:46 UTC
rendered paste body
import java.net.*;
import java.io.*;
import java.util.ArrayList;

public class Bot {

BufferedReader in;
BufferedWriter out;
Socket s;

public static ArrayList<String> authedUsers = new ArrayList<String>();
public String server = "irc.freenode.com";
public int port = 6667;
public String nick = "LameBot1";

	public static void main(String[] args) {
		try {
			BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("auths")));
			String s;
			while((s = br.readLine()) != null) authedUsers.add(s);
		} catch(Exception e) { e.printStackTrace(); }
		new Bot();
	}

	public Bot() {
		System.out.println("Created new Bot instance!");
		try {
			System.out.println("HERE");
			s = new Socket(server, port);
			System.out.println("Connected to server!");
			out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
			in = new BufferedReader(new InputStreamReader(s.getInputStream()));
			//BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("auths")));
			writeRaw("NICK " + nick);
			writeRaw("USER " + nick + " 8 * :Bot");
			writeRaw("JOIN #mopar");

			String line;
			while((line = in.readLine()) != null) {
				if(line.startsWith("PING")) 
					writeRaw("PONG " + line.substring(5));
				System.out.println(line);
			}
		} catch(Exception e) { e.printStackTrace(); }
	}
		

	public boolean isAuthed(String nick) {
		return authedUsers.contains(nick);
	}

	public void writeRaw(String line) {
		try {
			out.write(line + "\r\n");
			out.flush();
			System.out.println("Wrote: " + line);
		} catch(Exception e) { e.printStackTrace(); }
	}
}