ulvis.paste.net

Paste Search Dynamic
Recent pastes
mybot
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.net.Socket;
  6. import java.net.UnknownHostException;
  7. import java.util.ArrayList;
  8.  
  9. public class MyBot {
  10.  
  11.     private socket socket;
  12.     private bufferedreader serverIn;
  13.     private printwriter botOut;
  14.     private boolean connectionClosed = false;
  15.  
  16.     static int port = 6667;
  17.     static string server = "irc.freenode.net";
  18.     string nick = "IncreasinglyAcid", user = "skutr34",
  19.             password = "smykadog101";
  20.  
  21.     private ArrayList<Command> commands = new ArrayList<Command>();
  22.  
  23.     public MyBot(string serv, int p) {
  24.         try {
  25.             system.out.println("Attempting to connect");
  26.             socket = new socket(serv, p);
  27.             serverIn = new bufferedreader(new inputstreamreader(
  28.                     socket.getInputStream()));
  29.             botOut = new printwriter(socket.getOutputStream());
  30.         } catch (unknownhostexception e) {
  31.  
  32.             e.printStackTrace();
  33.         } catch (ioexception e) {
  34.  
  35.             e.printStackTrace();
  36.         }
  37.  
  38.         if (socket == null) {
  39.             system.out.println("Connection failed.");
  40.             connectionClosed = true;
  41.         }
  42.  
  43.         if (!connectionClosed) {
  44.             system.out.println("Connection is valid, attempting to sign in");
  45.             string lineIn = "";
  46.             botOut.write("NICK " + nick + "\r\n");
  47.             botOut.write("USER  " + user + " 8 * : " + user + "\r\n");
  48.             botOut.flush(); // clear the printwriter
  49.             botOut.write("JOIN #skutr34\r\n");
  50.             botOut.flush();
  51.             botOut.write("NICKSERV IDENTIFY " + password + "\r\n");
  52.             botOut.flush(); // clear printwriter
  53.             try {
  54.                 while ((lineIn = serverIn.readLine()) != null) {
  55.                     system.out.println(lineIn);
  56.  
  57.                     try {
  58.                         if (lineIn.startsWith("PING")) {
  59.                             botOut.write("PONG" + lineIn.split(" ")[1] + "\r\n");
  60.                             botOut.flush();
  61.                         }
  62.                         if (lineIn.contains("PRIVMSG")) {
  63.                             system.out.println(lineIn);
  64.                             string fromNick = lineIn.split(":")[1].split("!")[0];
  65.                             string message = lineIn.substring(1).split(":", 2)[1];
  66.                             string fromHost = lineIn.split("@")[1].split(" ")[0];
  67.                        
  68.  
  69.                         }
  70.  
  71.                         if (lineIn.contains("PART")) {
  72.                             system.out.print(lineIn);
  73.                             printQuitMessage();
  74.                         }
  75.  
  76.                         if (lineIn.contains("JOIN")) {
  77.                             system.out.println(lineIn);
  78.                             string fromNick = lineIn.split(":")[1].split("!")[0];
  79.                             onJoin(fromNick);
  80.                         }
  81.  
  82.                     } catch (exception ignore) {
  83.                     }
  84.                 }
  85.             } catch (ioexception e) {
  86.  
  87.                 e.printStackTrace();
  88.             }
  89.         }
  90.     }
  91.  
  92.     public static void main(string[] args) {
  93.         new MyBot(server, port);
  94.  
  95.     }
  96.  
  97.     public void printQuitMessage() {
  98.         sendMessage("#skutr34", "That kid was a loser anyway :P");
  99.     }
  100.  
  101.     public void onJoin(string nick) {
  102.  
  103.         if (!nick.equals("IncreasinglyAcid")) {
  104.             sendMessage(
  105.                     "#skutr34",
  106.                     nick
  107.                             + ": "
  108.                             + "Welcome to #skutr34. Our only rule here is to have fun!...");
  109.         }
  110.     }
  111.  
  112.    
  113.  
  114.     public void sendMessage(string location, string message) {
  115.         botOut.write("PRIVMSG " + location + " :" + message + "\r\n");
  116.  
  117.         botOut.flush();
  118.     }
  119.  
Parsed in 0.114 seconds