1年以上前に作ってずっと使ってた奴を、少し直してrubygemにした。

くわしい使い方はhttp://shokai.github.com/twに書いた。

何か要望あればtwittergithubのissueかblogのコメントでください。

※活用方法をTwのレシピに書きました


インストール

特別なライブラリは使っていないのでMacならすぐインストールできるはず
gem install tw
tw --help



機能

すぐ使えるように名前が短い、インストール・セットアップが楽
表示がカラフル
複数のユーザやリストをマージして表示できる
DM読み書き
public timelineの検索
user stream、filter stream読める。なんかよく切断されるので自動再接続するようにしといた
複数アカウント使える
UNIX pipeからもtweetできる


作った経緯

フルスクリーンのターミナルでプログラミングしてる途中で、たまにtwitterが見たいのだがブラウザを開くと集中力が切れてしまう。
そこでターミナルのままtwitterを見たくなった。
tやtermtterでもいいんだけど複数のlistをまとめて見るのが面倒だった。
俺はlistが見たい。
tw @shokai/arr @shokai/masuilab @shokai/homu @ahokai @shokai_log
のように複数のlistとユーザのtweetをマージしてぱっと見て、すぐ作業に戻るというのをやりたかった。
terminalだと履歴にコマンドがたまるので、ctrl+rしてtwで検索すぐ実行できる。

あとbotにしゃべらせるのにも使いたかった。小さなbotに毎回twitterの機能をつけるのが面倒なので、
echo 'hoge' | tw --user=shokai_log --pipe
で、ユーザを一時的にbotに切り替えつつUNIX pipeでtweetできる。pipeの場合は140文字以上だったら複数回に分けてtweetするようにした。

streamはむかし音声読上げさせたら面白かった(3つのイベントのハッシュタグを同時に把握できた)のでそのうち使いそうだから実装した。

手元だけでなくサーバーにインストールして使うことも想定しているので、インストール・セットアップ・アカウント追加が楽だと良い。
twitterのアプリ毎に10万アカウントしか使えないようになってるけど、一応自分でoauthのアプリ登録してconsumer_keyとsecretを設定ファイルで入れ替えるのも簡単なようにしておいた。
(そもそもそんなに使う人がいるとも思えないけど)


args_parser

複数アカウント使い分けつつもわかりやすいコマンド体系にするためにargs_parserを作った。


json出力モードがあればbot作るのに汎用的に使える物になるかも。