- 2008-01-23 (Wed) 17:44
- [ no comment ]
- [ no trackback ]
- FreeBSD, IRC, Mac, Perl, Tiarra, Twitter
TwitterIrcGateway(以下、TIG)を使うと IRC 経由で Twitter を利用出来るということなので試してみました。あらかじめ TIG の Windows 版をダウンロードしておきます。
まずは手元の MacBook Pro で動かしてみました。
Windows 版の TIG を Mac で動かすために Mono をインストール。ダウンロードページから Mac 用のインストーラーをダウンロードしてインストールします。ターミナルから以下のように TIG を起動します。
yosshi@~: mono [PATH_TO_TIG]/TwitterIrcGatewayCLI.exe --encoding=utf-8 --ignore-watch-error=true --interval=90 &
yosshi@~: Start TwitterIrcGateway Server v1.0.2902.1716
[Configuration] BindAddress: 127.0.0.1, Port: 16668
[Configuration] EnableTrace: False
[Configuration] IgnoreWatchError: True
[Configuration] Interval: 90
[Configuration] ResolveTinyUrl: True
[Configuration] Encoding: Unicode (UTF-8)
[Configuration] SetTopicOnStatusChanged: False
[Configuration] EnableDropProtection: True
[Configuration] IntervalDirectMessage: 180
[Configuration] CookieLoginMode: False
[Configuration] ChannelName: #twitter
[Configuration] EnableRepliesCheck: False
これで TIG が起動したので IRC クライアントで TIG に接続します。サーバーは localhost、ポートは 16668、ユーザー名とパスワードは Twitter にログインするものを入力します。ボクは Colloquy を使用しているので設定はこんな感じ。
いざやってみたら簡単につながったなあと思いながら、でもパソコンかわったら使えないなあと思ったのと、サーバーで Tiarra(perl で書かれた IRC proxy)と一緒に使えば他の IRC チャンネルと一緒にログも取れるなあと思ったのでサーバーに入れてみることにしました。
まずはサーバーに mono をインストール。FreeBSD なので portinstall で入れました。
portinstall lang/mono
インストールログに出たとおりに、/boot/loader.conf に以下の2行を追加(よく分からないけど、そう言われたので)。
kern.ipc.semmni=40
kern.ipc.semmns=300
mono が入ったので MacBook Pro で動かしたのと同じようにして TIG は起動出来ました。
次に Tiarra のセットアップですが、こちらのサイトの最新版(latest-snapshot is tiarra-20050214)で試すと Colloquy が落ちまくるので調べてみたら tiarraからcolloquyでクライアントが落ちない設定 - kenanの日記 で対処法を見つけることが出来ました(thanks!)。
以下のようにして CodeRepos から最新版をチェックアウト。
svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra
設定は sample.conf を tiarra.conf にリネームして記述します。
networksブロックに tiarra から接続する IRC ネットワークの名前を記述し、それぞれのネットワークを定義。
networks {
name: ircnet
name: freenode
}
ircnet {
host: irc.nara.wide.ad.jp
port: 6663
}
freenode {
host: irc.freenode.net
port: 6667
}
Channel::Join::Connect(接続時に自動的に join するチャンネル)と Log::Channel(チャンネルごとにログを取る)を有効(+)に。
+ Channel::Join::Connect {
channel: #jquery@freenode, #plagger-ja@freenode
}
+ Log::Channel {
directory: log
charset: utf8
header: %H:%M:%S
filename: %Y.%m.%d.txt
mode: 600
dir-mode: 700
command: privmsg,join,part,kick,invite,mode,nick,quit,kill,topic,notice
distinguish-myself: 1
sync: sync
channel: jquery #jquery@freenode
channel: plagger-ja #plagger-ja@freenode
channel: priv priv
channel: others *
}
これでローカルから tiarra に接続すると Channel::Join::Connect に設定しておいたチャンネルに入ることが出来ました。ログもばっちり取れています。あとは携帯から IRC する手段を見つけなければ。
参考サイト(thanks all!)
- Newer: 大阪が住みやすい街になれば。
- Older: スウィーニー・トッド、しゃぶしゃぶ、偶然の読書

