import java.io.*; import java.net.*; //import SocketReader.*; public class IrcServer { static final String server = "irc.freenode.net"; static String Nick = "JDurkaBot"; static String Ident = "TestBot"; static String RealName = "TestBot"; static String Chan = "#imagi-nation"; public static void main(String[] args) throws IOException { Socket ircSocket=null; PrintWriter out=null; BufferedReader in=null; SocketReader reader=null; try { ircSocket = new Socket(server, 6667); out = new PrintWriter(ircSocket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(ircSocket.getInputStream())); } catch (UnknownHostException e) { System.err.println("Don't know about host: "+server); System.exit(1); } catch (IOException e) { System.err.println("Couldn't get I/O for the connection to: "+server); System.exit(1); } BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); String fromUser; sendNick(Nick,out); sendUser(Ident,server,RealName,out); joinChan(Chan,out); new SocketReader(in).start(); while (true) { System.out.println("-------------start--------------"); fromUser = stdIn.readLine(); sendMessage(Chan,fromUser,out); System.out.println("-------------end----------------"); if (in.readLine().equals("Bye.")) break; } System.out.println("-------------Done--------------"); out.close(); in.close(); stdIn.close(); ircSocket.close(); } public static void sendMessage(String chan, String message, PrintWriter out) { out.println("PRIVMSG "+chan+" :"+message+"\r\n"); System.out.println("PRIVMSG "+chan+" :"+message+"\r\n"); } public static void sendNick(String nick,PrintWriter out) { out.println("NICK "+nick+"\r\n"); System.out.println("NICK "+nick+"\r\n"); } public static void sendUser(String ident, String host, String realname,PrintWriter out) { out.println("USER "+ident+" "+host+" bla :"+realname+"\r\n"); System.out.println("USER "+ident+" "+host+" bla :"+realname+"\r\n"); } public static void joinChan(String chan, PrintWriter out) { out.println("JOIN :"+chan+"\r\n"); System.out.println("JOIN :"+chan+"\r\n"); } }