PenguinがWorkWorkする blog

ネット上で気になることや、android等について書くブログ

ubuntu14.04 Twitterをワンライナーコマンドで読む

最近、クライアントによっては見づらいインターフェイスが多くなってきたので、
一掃のことターミナルの文字だけでいいやって人向けにいかがでしょうか。

今回はgemからtwをbundle installします。
Tw: Twitter client on Ruby.

作者に感謝!

【環境】
Linux/ubuntu 14.04 (64bit)
ruby
rbenv
bundler (gem)
tw (gem)
ブラウザ環境(GUI)

ruby環境でrbenv導入やrvmの人は自分で調べてね!(情報が充実しているので一発で導入方法が出る)

自分はシステム側に影響与えないためにも、必要最低限のgemしか入れたくないので、
bundle installするときは、--pathでlocalフォルダ入れるのが好き。
それでもという方はお好みで皆さんどうぞ。

タイトルに嘘がないように準備もワンライナーでないとね!!

$ mkdir ~/tw; cd ~/tw; echo -e "source 'https://rubygems.org'\n\ngem 'tw'" >> Gemfile; bundle install --path vendor/gems && bundle exec tw;

ブラウザが立ち上がって来るので、PINコードをtw側で入力して完了。
Windows(クライアント) - linux(サーバ)の環境だとwindows側にxming入れたほうが無難。

【追記】
tw --user:addでoAuth認証URLが出てくるので、
そのURLをw3mなどのテキストブラウザに読ませれば、認証は行けると思います。


コマンドを叩くとTwitterに実装されているひと通りの機能が使える。
(ストリームもあるからリアルタイムでもTL取得できる)

自分は、一分置きに取得してます。

watch -n 60 "bundle exec tw @Penguin_Works/リストの名前 --format='@#{user}: #{text}'"

json形式で出せるからツイートを好きな表示にできる。
(上の例は '@Penguin_Works: ハラ減った' という感じに出てきます。)

helpを叩くと使用例が具体的かつシンプルに書いてあるので結構わかりやすい。
これならググらなくても安心設計。

$ bundle exec tw --help

e.g.
tweet tw hello world
echo 'hello' | tw --pipe
tw 'yummy!!' --file=food.jpg --yes
read tw @username
tw @username @user2 @user2/listname
tw --search=ruby
tw --stream
tw --stream:filter=ruby,java
tw --dm:to=username "hello!"
id tw @shokai --id
tw @shokai --id=334749349588377601
reply tw "@shokai wow!!" --id=334749349588377601
tw --fav=334749349588377601
tw --rt=334749349588377601
tw --format=json
tw --format="@#{user} #{text} - http://twitter.com/#{user}/#{id}"
delete tw --del=334749349588377601

これで、俺仕事してるわーと言いつつ、小窓にしながらTwitterが見れるね!!!
読み上げAPIとかあれば、窓見なくても初音ミクやゆっくりの声できけるんじゃないかな。
というか、botとかは大体これで作成されてるっぽい。