IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

わーい \(^o^)/ JS で書ける IRC ボットライブラリできたよー

どうしても IRC ボットを JavaScript で作りたくて

Rhino を勉強したよ!><

できたよー\(^o^)/

使い方

  1. まずここから js.jar (Rhino) を拾ってくる -> http://www.mozilla-japan.org/rhino/download.html
  2. 次に pircbot.jar (PircBot) を拾ってくる -> PircBot - Java IRC Bot Framework (Java IRC API for Bots)
  3. 次に これ を org/coderepos/botchang/ ってディレクトリに入れて javac でコンパイルする!
  4. で、以下みたいな JS のファイルを作る
defineClass('org.coderepos.botchang.Botchang');

// ニックネームとエンコードの名前
var botchang = new Botchang('botchang', 'utf-8');

// verbose (デバッグ用
botchang.verbose = true;

// 接続
botchang.connect('irc.freenode.net');

// チャンネルに join する
botchang.joinChannel('#1981');

// メッセージハンドラ
botchang.onMessage = function(channel, sender, login, hostname, message) {
    if (message.match(/^botchang/)) {
        botchang.sendMessage(channel, 'My name is botchang');
    }
    else if (message.match(/^change nick:(.*)$/)) {
        botchang.nick = RegExp.$1; // dynamic change nick
    }
};

// たとえば、 Notice をハンドリングしたかったら以下のように関数追加
botchang.onNotice = function(channel, sender, login, hostname, notice) {
//...
};

で、最後に org.mozilla.javascript.tools.shell.Main を java コマンドで実行してこの JS を渡してやるだけ!><*1

java -cp ".:js.jar:pircbot.jar" org.mozilla.javascript.tools.shell.Main sample.js

ちなみに

onMessage や onNotice や sendMessage や nick の変更だけじゃなくて、いろいろできます><
短いからソース読んでみて><

あと、

ぜんぜんテストしてないよー! CodeRepos だからみんなテストとかしてしてー

たのしー

\(^o^)/

*1:classpath に注意してね