Riece→tiarra→TIG→Twitterのまとめ

適当にまとめ

twiterをコンソールで適当にやりたいなぁと思ったのがきっかけ。TIGいいな、EmacsのRiece経由でやるか、できね、tiarra入れるか。そしたらtwiterへのpostがRiece→tiarra→TIG→Twitterという流れになった。TIGを使ってTwitterにpostするようにしたら無駄にソフトを経由しているような気がするが多分それは気のせいです。TIG最高!TIG!TIG!TIG!

使えるようにした設定をちまちま紹介
まず、TIG(TwitterIrcGateway)の導入。
http://www.misuzilla.org/dist/net/twitterircgateway/
公式サイトにFreeBSD6xで動くバイナリが転がっているが使えないのでmonoで動かす。

cd /usr/ports/lang/mono
make config-recursive
make install clean

しかし、このままだとリソース不足でこけるので以下を付け足して再起動

vi /boot/loader.conf
kern.ipc.semmni=40
kern.ipc.semmns=300
reboot
mkdir -p /usr/local/src
cd /usr/local/src
fetch http://www.misuzilla.org/dist/net/twitterircgateway/archives/TwitterIrcGateway-2.0.3451.29063.zip
tar zxf TwitterIrcGateway-2.0.3451.29063.zip
cd TwitterIrcGateway-2.0.3451.29063/Bin
mono TwitterIrcGatewayCLI.exe --help
TwitterIrcGateway Server v2.0.3451.29063
Usage:
--port=(Int32)                                   : IRC server listen port (Default: 16668)
--bind-address=(String)                          : IRC server bind IP address (Default: 127.0.0.1)
--interval=(Int32)                               : interval of checking Timeline (Default: 90)
--resolve-tinyurl=<true|false>                   : enable TinyURL resolver (Default: True)
--encoding=(String)                              : IRC message text character encoding (Default: ISO-2022-JP)
--ignore-watch-error=<true|false>                : ignore API error messages (Default: False)
()

以下ずらずら出てきたら起動成功

mono TwitterIrcGatewayCLI.exe --bind-address=*.*.*.* --port=16668 --encoding=utf-8 --enable-replies-check=true
の設定で毎回起動しています。

IRC Proxy tiarraの導入

cd /usr/ports/japanese/tiarra
make install clean
cd /usr/local/tiarra
cp sample.conf tiarra.conf
vi  tiarra.conf
general {
  conf-encoding: utf8
  nick: k32ru
  user: k32ru
  name: k32ru
  #user-mode: +i
  client-allowed: *
 tiarra-port: 6668

()
}

# -----------------------------------------------------------------------------
# networks
# -----------------------------------------------------------------------------
networks {
()
  name: twitter
  #name: 2ch
()
}

# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
twitter {
        server: *.*.*.* 16668
        user: k32ru
        name: k32ru
        password: mytwpssswd

}
()

もちろん、上記部分は必要に応じて各自変えること。この設定ではポート:6668でクライアントのコネクションを待つようにしている。(つまり、Rieceで6668に接続すればtirra経由で接続したことになる)。大事なのはnetwoksのセクションでまず使う名前を指定すること。今回はtwitterというセクションを使うことを指定している。そしてその下でtwitterというセクションでserverの設定を行っている。複数指定したい場合には同じようにnameで使う名前を指定して、その下でセクションの設定を行う。
次に、設定できたらTIG立ち上げて軽く試運転。

/usr/local/tiarra# /usr/local/tiarra/tiarra --config=tiarra.conf
- T i a r r a - :::version #0.1+svn-36726:::
Copyright (c) 2008 Tiarra Development Team. All rights reserved.
This is free software; you can redistribute it and/or modify it
  under the same terms as Perl itself.

Reading configuration from tiarra.conf... ok
[pid:58210 2010/05/23 23:15:03] Tiarra started listening 6668/tcp. (IPv4)
[pid:58210 2010/05/23 23:15:03] network/twitter: Connecting to 192.168.1.33/16668 (IPv4)
[pid:58210 2010/05/23 23:15:03] network/twitter: Opened connection to 192.168.1.33/16668 (IPv4).
[pid:58210 2010/05/23 23:15:04] network/twitter: Logged-in successfuly into 192.168.1.33/16668 (IPv4).
[pid:58210 2010/05/23 23:16:05] One client at 192.168.1.33 connected to me. Please wait to get hostname of this address.
[pid:58210 2010/05/23 23:16:05] Accepted connection of the client at daemon(192.168.1.33).
[pid:58210 2010/05/23 23:16:05] Accepted login of k32ru!k32ru@daemon, from daemon(192.168.1.33).

とか出たら成功。Ctrl+cで殺す。そしたら、

vi /etc/rc.conf
#IRC Proxy
tiarra_enable="YES"

Emacs-Rieceの導入

cd /usr/ports/irc/riece
make install clean
cd $HOME
mkdir .riece
cd .riece
vi init
(setq riece-server-alist '(

   ("twitter" :host "*.*.*.*" :service 6668 :coding utf-8)

   ))

(setq riece-server "twitter")
emacs を起動させて
emacs
M-x load-library
riece
M-xriece

Twitterが受信とpostができれば成功。

その他。参考にしたURL、今後必要になる情報など
TwitterIrcGateway - はてなグループ TIGの情報の宝庫。全部みれてない。今日書いたことももしかしたらこっちに書いてあるかもしれないと今思った。
http://twitterircgateway.g.hatena.ne.jp/


tirra入れたのはRieceでそのまま経由するとThe remote server returned an error: (401)でたたため、参考
http://www23.atwiki.jp/hudikaha/pages/131.html

また、TIGのアドオンに使い方に関しては以下のURLが参考になります。
http://aquapple.com/2009/07/how-to-irc-with-twitter/

tirra関係
http://www.sssg.org/blogs/naoya/archives/863

というか、127.0.0.1でTIGを設定するとtiarraで入れない。そんなわけで192.168.1.33を指定してる。hostsも127.0.0.1 192.168.1.33と書いているんだけどな。どうしたよ俺のマシン