Botにtwitterを監視してもらう
デプロイ直後のサービスの監視など、twitter上で特定のキーワードに関する反応を監視しておけると便利なことがあると思います。チャットに常駐させたBotにtwitterを検索し続けてもらい、これを実現します。
準備
Rubotyと以下のプラグインを組み合わせて使います。導入のための記事としてRuby製HubotクローンのRubotyをSlackで動かす - Qiitaというのも過去に書いたので、もしよければ参考にしてください。
- https://github.com/r7kamura/ruboty-cron
- https://github.com/r7kamura/ruboty-slack
- https://github.com/r7kamura/ruboty-twitter_search
ruboty-slack
BotをSlack上で動かすためのプラグインです。今回はSlackを使いますが、他にも以下のようなプラグインがあります。
- https://github.com/hanachin/ruboty-idobata
- https://github.com/r7kamura/ruboty-hipchat
- https://github.com/r7kamura/ruboty-twitter
ruboty-twitter_search
与えたクエリでtwitterを検索するためのプラグインです。@ruboty search twitter by <query>
と発言すると、与えたクエリでtwitterを検索してtweetのURL一覧を返してくれます。SlackやHipChatではtwitterのURLが展開されるので、URLさえ発言してくれればそれでOKです。過去に使ったものと同じクエリで検索するときは、最後にヒットした結果より新しいものを検索してくれます。
ruboty-cron
指定した日時に指定した文字列をBotに与えるためのプラグインです。crontab形式で日時を指定できます。これを利用して、定期的にtwitterを検索させます。余談ですが、内部ではChrono::Triggerが動いています。
使い方
こんな感じで利用できます。これは登録したあと適当にtwitterで発言してみたら、検索にヒットして無事Botに発言してもらえたシーンです。
おわり
例えばチャット経由でデプロイするとか、プラグインの組み合わせ次第でtwitterの監視以外にもいろいろできると思うので、各位創意工夫でやっていきましょう。