HIPより高機能なIRCボットを作成しました。HIPと同じ機能を持っていますので、ぜひ下記をご利用ください。
HIP(HTTP IRC Proxy)は、HTTPリクエストで、IRCボットに発言をさせることが出来るサーバです。
HIPを利用することにより、他のアプリケーションからIRCにメッセージを流すことが、簡単に出来るようになると思います。
例えば、FirefoxのGreasemonkeyスクリプトから、GM_xmlhttpRequestを使ってHIPに対してメッセージを送信し、IRCボットに発言させるといったことも可能です。
IRCにちょっとメッセージを流したいって時に、わざわざそのためにIRCボットを実装するのは面倒なので、HIPを使うことにより、その手間を省くことができると考えています。
また、HIPを使うことにより、複数のアプリケーションからのメッセージを1つのIRCボットに集約できるので、IRCボットの乱立を防ぐ効果もあります。
HIPは、IRCの内容をログとして保存する機能も備えていますので、ログ収集用のIRCボットとしても使えます。(ログは、ブラウザ上からアクセスして参照可能)
HIPのIRCボットの部分は、PircBotというJavaによりIRCボットのライブラリを利用しています。
HTTPサーバの部分は、Jettyを使っています。
Javaの実行環境(JRE1.4以上)が必要です。
ソースコードは下記からも参照できます。
PircBotに依存しているため、PircBotと同じくGNU General Public License v2.0となります。
hip-0.1.zipファイルを解凍します。
利用する環境に応じて設定ファイル(config.properties)を変更します。
設定ファイルの内容は下記の通りです。
項目 | 必須 /任意 |
内容 |
---|---|---|
nick | 任意 |
IRCで使用するニックネームです。 省略した場合、"hipBot"となります。 |
serverName | 必須 | IRCサーバの名前です。 |
serverPort | 任意 |
IRCサーバのポート番号です。 省略した場合、6667 となります。 |
serverPassword | 任意 |
IRCサーバのパスワードです。 IRCサーバにパスワードが設定されている場合には、ここに記入します。 |
encoding | 任意 |
IRCで利用するエンコーディングです。 省略した場合、"UTF-8"となります。 (日本のチャンネルだと、"iso-2022-jp"の場合も多々あると思います) |
channel | 必須 | IRCチャンネル名です。 |
joinMessage | 任意 |
IRCボットがログイン時に発言するメッセージです。 省略すると、"This channel is logged."となります。 |
outputDir | 任意 |
IRCのログを保存するディレクトリです。 省略すると、"./irclog"となります。 (特に変える必要は無いと思います) |
httpPort | 任意 |
HTTPリクエストを受け付けるポート番号です。 省略すると、3333 になります。 |
prefixRemoteAddress | 任意 |
"true"を指定すると、発言するメッセージの先頭に、リモートIPアドレスを付与するようになります。 どこからのリクエストなのかを発言内容から知りたい場合に設定すると良いと思います。 |
HIPを起動します。
Windowsの場合はstart.bat、Linuxの場合は、start.shを実行してください。
なお、HIPの実行には、Javaの実行環境(JRE1.4以上)が必要となりますので、インストールされていない場合には、インストールしてから実行してください。
IRCボットに発言させるためには、下記のようなURLにたいしてリクエストを送信します。(下記は、HIPを起動しているマシン上からアクセスした場合のURLの例です)
http://localhost:3333/talk/
パラメータとしてmessageに発言内容を指定します。(UTF-8でエンコード)
リクエストはGET、POSTどちらでもOKです。
GETで「こんにちは!」を発言させる場合のURLは、下記のようになります。
http://localhost:3333/talk/?message=%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%EF%BC%81
IRCログは、HIPのルートURLを指定することにより参照できます。(下記は、HIPを起動しているマシン上からアクセスした場合のURLの例です)
http://localhost:3333/
Greasemonkeyを使って、IRCボットに発言させるサンプルです。
下記のGreasemonkeyスクリプトをインストールすると、表示したページのタイトルとURLをIRCに流すことができます。
// ==UserScript== // @name talk page // @namespace http://www.enjoyxstudy.com/ // @include http://* // @exclude http://localhost* // @exclude http://127.0.0.1* // ==/UserScript== if (window != window.parent) return; var message = encodeURIComponent(document.title) + ' ' + encodeURIComponent(location.href); GM_xmlhttpRequest({ method: 'POST', url: 'http://localhost:3333/talk/', // HIPサーバを起動しているマシンに応じて変更 headers:{'Content-type':'application/x-www-form-urlencoded'}, data: 'message=' + message });
ver 0.1 (2008/06/17)
お問い合わせ、コメント等は下記Blogまたは、Contact からお願いします。