JavaでIRCクライアント
コメントを投げるだけのシンプルなIRCボットをJavaで作成してみました。
作成にあたってRFCを参照した他に、PircBotのソースを参考にしました。IRCボット作成用のJavaフレームワークで、GPLと商用ライセンスの両方が利用できます。
以下のソースはgithubでも公開してあります。
https://gist.github.com/1489587
作成にあたってRFCを参照した他に、PircBotのソースを参考にしました。IRCボット作成用のJavaフレームワークで、GPLと商用ライセンスの両方が利用できます。
以下のソースはgithubでも公開してあります。
https://gist.github.com/1489587
import java.net.*; import java.io.*; import java.util.*; class IrcSenderSimple { static void sendString(BufferedWriter bw, String str) { try { bw.write(str + "\r\n"); bw.flush(); } catch (Exception e) { System.out.println("Exception: "+e); } } public static void main(String args[]) { try { String server = "chat1.ustream.tv"; int port = 6667; String nickname = "ustreamer-183999bot"; String channel = "#bot-test-ch"; String message = "hi, all"; Socket socket = new Socket(server,port); System.out.println("*** Connected to server."); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(socket.getOutputStream()); System.out.println("*** Opened OutputStreamWriter."); BufferedWriter bwriter = new BufferedWriter(outputStreamWriter); System.out.println("*** Opened BufferedWriter."); sendString(bwriter,"NICK "+nickname); sendString(bwriter,"USER chatterBot 8 * :chatterBot 0.0.1 Java IRC Bot - www.chat.org"); sendString(bwriter,"JOIN "+channel); /* // サーバーからの応答確認 InputStreamReader inputStreamReader = new InputStreamReader(socket.getInputStream()); BufferedReader breader = new BufferedReader(inputStreamReader); String line = null; int tries = 1; while ((line = breader.readLine()) != null) { System.out.println(">>> "+line); int firstSpace = line.indexOf(" "); int secondSpace = line.indexOf(" ", firstSpace + 1); if (secondSpace >= 0) { String code = line.substring(firstSpace+1, secondSpace); if (code.equals("004")) { break; } } } */ sendString(bwriter,"PRIVMSG "+channel+" :"+message); bwriter.close(); }catch (Exception e) { e.printStackTrace(); } } }
コメント
コメントを投稿