なんだかんだでTwitterってのはまだまだ現役で、Twitterを見ていると世の中の異変をいち早く察知できることがある。地震、天候、政変はもとより自社サービスやプロダクトの評判までも知ることができる。目玉の数さえあればどんなバグも…って言葉があるように、ユーザというのは最高のデバッガである。また昨今では数々のクラウドサービスを組み合わせてサービスを構築する手法もメジャーなので、クラウドベンダのアカウントや同業者発言を注視しておくと、使用しているXaaSの障害をいち早く知ることができる場合もある。例えばAmazonが障害を告知するよりも、タイムラインの方が先にAWSの異変に気づいてざわつくこともしばしばだ。
ということでTwitter上の任意のアカウントやキーワードを監視して、それをslackに通知するツールを書いてみた。Rubyの練習のネタなんかねーかなー、と考えてて良いネタだったから書いたってのが発端。Rubyの会社にいるんだが、ここ一ヶ月くらいは「2:8=Rails:その他」って具合であんまRuby書いてねーんだわ。そうそう…最近は社内インフラおじさんもやる必要がでてきたよ。Greenの転職の広告思い出したよ。「エンジニアなんだから社内システムの構築くらい余裕でしょ?」「はい(やったことはない)」ってなw 考えてみればオフィス内のシステム環境整備ってやるの初めてだw これはこれで面白いかもしれん。



twslacker

https://github.com/hiroakis/twslacker

twitterを監視してslackに結果を投げる。主にデバッグ用だがslack以外だと標準出力にも出せるようにしてある。テスト書いてこ…。
なお、使っているライブラリの仕様上、1Twitterトークンにつき1接続しかできないようだ。つまり同じTwitterトークンで複数箇所でこのツールを起動した場合、一個しか動いてくれない。

こんな感じ

俺のところは次のような感じで、AWSのステータスをつぶやいてくれるアカウント(@aws_shd)とengineyardの公式アカウント(@eycloud)を監視している。

1
bundle exec ruby bin/twslacker start --type follow aws_shd eycloud --ignore=RT -d

通知イメージ

今の時間帯に「眠い」と言っているツイートを炙り出してslackに通知してみる。

1
bundle exec ruby bin/twslacker start --type track 眠い

結果

twslacker1

「眠い」って言ってる奴多すぎ。結構流量あったよ。

自社プロダクトに関する発言などを監視しておくと面白いかもしれない。まあTwitterを眺めててもいいんだが。

おわり

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Set your Twitter account name in your settings to use the TwitterBar Section.