TwitterIrcGateway と Tiarra を使ってみる

 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!)

comments powered by Disqus