Java IRC bot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CharlieBravo.java 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5. package com.md87.charliebravo;
  6. import com.dmdirc.parser.irc.IRCParser;
  7. import com.dmdirc.parser.irc.MyInfo;
  8. import com.dmdirc.parser.irc.ServerInfo;
  9. import com.dmdirc.parser.irc.callbacks.interfaces.IDataIn;
  10. import com.dmdirc.parser.irc.callbacks.interfaces.IDataOut;
  11. import com.dmdirc.parser.irc.callbacks.interfaces.IDebugInfo;
  12. import com.dmdirc.parser.irc.callbacks.interfaces.IPost005;
  13. /**
  14. *
  15. * @author chris
  16. */
  17. public class CharlieBravo implements Runnable, IPost005, IDebugInfo, IDataIn, IDataOut {
  18. protected final Config config = new Config();
  19. protected final InputHandler handler = new InputHandler(config);
  20. protected final String[] servers = {"irc.quakenet.org","83.140.172.211"};
  21. public void run() {
  22. int server = 0;
  23. while (true) {
  24. final MyInfo myinfo = new MyInfo();
  25. myinfo.setNickname("CharlieBravo");
  26. myinfo.setRealname("Charlie Bravo");
  27. myinfo.setUsername("charliebravo");
  28. final IRCParser parser = new IRCParser(myinfo, new ServerInfo(servers[server], 6667, ""));
  29. handler.setParser(parser);
  30. parser.getCallbackManager().addCallback("OnPost005", this);
  31. parser.getCallbackManager().addCallback("OnDebugInfo", this);
  32. parser.getCallbackManager().addCallback("OnDataIn", this);
  33. parser.getCallbackManager().addCallback("OnDataOut", this);
  34. parser.run();
  35. server = ++server % servers.length;
  36. try {
  37. Thread.sleep(5000);
  38. } catch (InterruptedException ex) {
  39. // Don't care!
  40. }
  41. }
  42. }
  43. public void onPost005(final IRCParser tParser) {
  44. tParser.joinChannel("#MD87");
  45. tParser.joinChannel("#DMDirc");
  46. tParser.joinChannel("#DMDirc.dev");
  47. tParser.joinChannel("#MDbot");
  48. }
  49. public void onDebugInfo(final IRCParser tParser, final int nLevel, final String sData) {
  50. System.out.println(nLevel + ": " + sData);
  51. }
  52. public static void main(final String ... args) throws Exception {
  53. new Thread(new CharlieBravo()).start();
  54. }
  55. public void onDataIn(final IRCParser tParser, final String sData) {
  56. System.out.println("<<< " + sData);
  57. }
  58. public void onDataOut(final IRCParser tParser, final String sData, final boolean bFromParser) {
  59. System.out.println(">>> " + sData);
  60. }
  61. }