23 Jun 2009

IRCにtwitterとIMをまとめる

IRCクライアントから、msnやgoogle talkなどのIMや、twitterを使う方法を説明します。IMにはbitlbeeで、twitterにはtircdで対応します。環境はmac osxです。

IRCクライアント

IRCのクライアントは何でもいいのですが、今回は私が普段使っているlimechatを例に説明します。

LimeChat: IRC Client for OSX

bitlbee

bitlbeeはIMをIRCクライアントから使用するためのgatewayです。

BitlBee - Home

対応しているIMは以下のとおりです。主要なものはほぼ網羅しています。

XMPP/Jabber (including Google Talk), MSN Messenger, Yahoo! Messenger, AIM and ICQ.
インストール

macの場合、macportsでインストールできます。簡単です。

% sudo port install bitlbee
設定

ふつうに使う場合、特に設定の必要はありません。

設定ファイルは、デフォルトのインストールの場合、/opt/local/etc/bitlbee/bitlbee.confにあります。次のような設定項目があります。

  • RunMode : Daemonに設定すると、バックグラウンドでスタンドアロンで走るデーモンとして起動されるので、便利です。
  • DaemonPort : デフォルトで6667になっています。別のポートを使いたい場合はここを変更します。
  • Proxy : プロキシの設定の必要があれば、ここでします。

他の項目に関しても、読めばわかるようになっています。

起動

デフォルトで、以下のコマンドで起動します。daemonモードの場合、起動しても何もメッセージが出力されないので、少し不安になりますが大丈夫です。

% /opt/local/sbin/bitlbee

以上でbitlbee側の準備は完了です。

IRCクライアントの設定

次はIRCクライアント側の設定を行います。といっても、サーバのホストを"localhost"、ポート番号を"6667"(変更した場合はその番号)に設定し、新しいサーバを追加するだけです。


つながると、こんな感じのメッセージが表示されます。

21:42 - localhost Message Of The Day -
21:42 - Welcome to the BitlBee server at localhost.
21:42 -
21:42 - This server is running BitlBee version 1.2.3.
21:42 - The newest version can be found on http://www.bitlbee.org/
21:42 -
21:42 - You are getting this message because the server administrator has not
21:42 - yet had the time (or need) to change it.
21:42 -
21:42 - For those who don't know it yet, this is not quite a regular Internet
21:42 - Relay Chat server. Please see the site mentioned above for more
21:42 - information.
21:42 -
21:42 -
21:42 - The developers of the Bee hope you have a buzzing time.
21:42 -
21:42 - * BitlBee development team: wilmer, jelmer, Maurits
21:42 -  
21:42 - ... Buzzing, haha, get it?
使用方法

操作はすべて"&biblbee"というチャンネルから行います。

まず次のコマンドでregisterする必要があります。これは、自分用の設定ファイルを作るようなイメージです。ここで設定したパスワードで使用者を識別し、使用者ごとに各IMのアカウント設定をひもづけていきます。

register 

今後はidentifyというコマンドと、ここで設定したパスワードを使って、使用者を切り替えます。

identify 

IMのアカウントの追加は、account addコマンドで行います。

account add    []

例えば、google talkならば、

account add jabber   talk.google.com:5223:ssl

msnメッセンジャーならば、

account add msn  

とします。

その後、これらのアカウントをアクティベートし、設定を保存します。

account on
save

その他のコマンドは、helpやhelp commandsで調べることができます。またhelp quickstartでチュートリアルを見ることができます。基本操作はチュートリアルを見れば網羅できるはずです。

bitlbeeの説明は以上です。

参考

tircd

tircdはIRCクライアントからtwitterのAPIにアクセスする、perlで書かれたサーバです。

tircd - Google Code

以前はtwitterの公式の機能を使って、google talk (jabber)経由でtwitterにアクセスできたため、bitlbeeのみでIMとtwitterの双方に対応することができたのですが、現在はtwitterのgoogle talk対応がなくなってしまったので、bitlbeeのみではできなくなってしまいました。そこでこのtircdを使います。

インストール

まず、以下のモジュールが必要です。

  • POE
  • POE::FIlter
  • Net::Twitter

cpanからインストールします。

% cpan -i POE POE::Filter Net::Twitter

Net::Twitterのインストール中に音が鳴るので注意です。

次はtircd本体ですが、これは上記サイトからアーカイブをダウンロードし、展開、任意の場所に設置するだけです。

設定

設定ファイルは展開したディレクトリ内のtircd.cfgです。ここで注意すべき点は、ファイル上部のportの項目です。こちらもbitlbeeの時と同じく6667がデフォルトになっています。ここは6668などと、bitlbeeとは違うポート番号に設定する必要があります。残りは特に変更は必要ありませんが、twitterに更新を見に行く頻度なども設定できるので、適宜編集すると良いと思います。

また、proxy設定が必要な環境の場合は、http_proxy環境変数を設定すればokです。

% http_proxy=your.proxy.url
% export http_proxy
起動

起動は以下のコマンドです。

./tircd.pl tircd.cfg

次のようなメッセージがプリントされるはずです。

[Tue Jun 23 21:42:37 2009] tircd 0.7 started, using config from: tircd/tircd.cfg. 
[Tue Jun 23 21:42:37 2009] Listening on: 127.0.0.1:6668.               
IRCクライアントの設定

サーバをlocalhost、ポート番号を6668(前述のtircd.cfgに設定したもの)、nicknameとpasswordを自分のtwitterアカウントのidとpasswordに設定し、サーバを追加します。そして#twitterチャンネルに入ればokです。

使用方法

使い方はほぼ見たままなので、特に説明は必要ないと思います。IRCからfollowやblockなどの操作もできます。詳しくは公式サイトを参照してください。

tircd - Google Code

ただし、私の環境では自分の日本語でのtweetが文字化けしてしまいます。少しスクリプトを改良すればなおりそうなのですが、今のところそのままにしています。




以上で作業完了です。これでlimechatからIRC, IM, twitterが扱えるようになりました。

Google Wave sandbox

waveのアカウントが発行されました。とりあえずスクリーンショット。