トップ 最新

ワタタツの日記!

2016 年 1 月 15 日 (金)

バルス祭にTwitter APIとRubyを使って「バルス」とつぶやいた人にメンションするアプリを作った

バルス祭と挑発するTwitter社

今夜は『金曜ロードSHOW!』にてスタジオジブリの名作映画『天空の城ラピュタ』が放送されました。 ここ数年は、その放送を見ながらTwitterで実況しつつ、滅びの呪文「バルス」に合わせてみんなで「バルス」とつぶやくというのが、Twitterのストレステストになりつつ、Twitterユーザの楽しみになるというのがすっかり定着しております。

そんな、放送のたびに大量の「バルス」に耐えたTwitter社が、今日に合わせて、 「バルス」歓迎? Twitter公式も「ぜひお楽しみください」「もしかするとサーバ遅くなるかも」 (ITmedia ニュース) という挑発的な声明を出しておりました。

開発

これは受けて立とうと思い、Twitterで「バルス」とつぶやいた人に「ナイスバルス」などとメンションを送ろう、すると世の中平和になるのではないかと思いましたので、 放送開始の21時ぐらいからプログラミングを開始しました。 Ruby の簡単さと、twitter gem, user_stream gem のおかげで、 21:43ぐらいにだいたいできました。 あとは少しずつ条件をよくしたりして改良していきました。

本番の状況

このようにたくさんの方へメンションを飛ばすことが出来ました。 Twitter側からBANされないか戦々恐々としましたけど(笑) ただ、条件を満たしているツイートでもメンションを飛ばしていないことがあったので、タイムラインからの取りこぼしがあったようです。 本体は落ちなくなったにしても、まだまだTwitterのシステムは改善の余地がありそうです。

そうこうしているうちに、次のように、多くの方から温かいお返事をいただけました!

とてもうれしかったです。 「世の中平和になる」と考えていた通りでした!

工夫したところ

自分なりに工夫したところを箇条書きにします。

  • retweet にはひっかからないようにした。
  • 自分のツイートが「ナイスバルス」などのために、自分のツイートはひっかからないようにする。(最初はひっかかっていて無限ループに入っていた(笑))
  • 「バルス」がツイート全体の中で少ししかない場合は、(何かバルスに関する説明・意見などの可能性が高いので) 無視するようにした。
  • 「ナイスバルス」だけでなく、いくつかのメッセージを用意した。

オープンソース

ソースは GitHub で公開しています。

是非ご覧ください。

反省点としては、またしてもテストを書かなかったということです。 今後はテストをちゃんと書くようにしたいと思います。

さて明日あさっては大学入試センター試験ですね。 受験される方、監督される方、頑張ってください! (←本エントリと全然関係ない)