YappoLogs: App::Ikachan - 様々なサーバのバッチ処理の結果等を IRC のチャンネルに通知するサーバ より
リポジトリはこちら akiym/p5-App-Tacochan - GitHub
HTTPで叩けるSkypeみたいなものです。ikachanをコピペして作ったのですが、ikachanとは使い勝手が違うかもしれません。
使い方は非常に簡単で、
% tacochan starting httpd: http://127.0.0.1:4969/ at bin/tacochan line 182.
だけです。(Skypeが立ち上がっている必要があります)
デフォルトではhttp://localhost:4969/にhttp serverが立ち上がります。(ikachanはhttp://localhost:4979ですね)
オプションも非常に少なくてシンプルです。
% tacochan -o http_host -p http_port
APIの仕様がikachanと少し違っていて、/notice、/privmsgがありません。その代わりに/sendでメッセージを送ることができます。
詳しい内容はサーバーにブラウザでアクセスしたときに表示されるのでそれを見てください。
また、HTTPでAPIを叩くときにcurlを使ってもいいのですが、tacochan-clientというものを用意したのでそれを使えば簡単です。
#chatにjoinする
% tacochan_client join #chat
この#chatというのは、"#t.akiym/$echo123;8d95e60b1199a802"のような文字列のことです。これはecho123さんと1対1でチャットをするときのidですね。
普段、Skypeを使っていても見ることはないと思います。なので、echo123とチャットをしたいときには次のようにすると便利です。
% tacochan_client join echo123 join success chat: #t.akiym/$echo123;8d95e60b1199a802
ユーザー名を#chatの代わりに入れてあげます。こうしてあげることで自動的にidが作られます。
これはカンマで区切ることで複数入れることができます。
% tacochan_client join echo123,foo,bar join success chat: #t.akiym/$d0656290604bd99b
このようにすれば、グループチャットができますね。(グループチャットだとidが少し違うのがわかると思います)
#chatにメッセージをsendする
% tacochan_client send #chat your_message
#chatは先ほどのidです。
% tacochan_client send #t.akiym/$echo123;8d95e60b1199a802 hello.
idをいちいちコピペしてくるのは面倒なので、ユーザー名を入れることもできます。
% tacochan_client send echo123 hello.
ここで注意して欲しいのは、複数のユーザーを指定するとsendするたびに新しいチャットが作られてしまうことです。ちなみに/joinも同じで、複数のユーザーを指定して、何回もjoinするとたくさんチャットができてしまいます。
複数のユーザーにメッセージを送りたい場合は、#chatを指定してください。
#chatからleaveする
% tacochan_client leave #chat
leaveしてしまうとほとんどの場合re-joinできなくなるので、leaveは使わないほうがいいです。また、#chatの代わりにユーザー名を入れることはできません。
以上です。とてもシンプルですね!