Botにtwitterを監視してもらう

デプロイ直後のサービスの監視など、twitter上で特定のキーワードに関する反応を監視しておけると便利なことがあると思います。チャットに常駐させたBotにtwitterを検索し続けてもらい、これを実現します。

準備

Rubotyと以下のプラグインを組み合わせて使います。導入のための記事としてRuby製HubotクローンのRubotyをSlackで動かす - Qiitaというのも過去に書いたので、もしよければ参考にしてください。

ruboty-slack

BotをSlack上で動かすためのプラグインです。今回はSlackを使いますが、他にも以下のようなプラグインがあります。

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に発言してもらえたシーンです。

image

おわり

例えばチャット経由でデプロイするとか、プラグインの組み合わせ次第でtwitterの監視以外にもいろいろできると思うので、各位創意工夫でやっていきましょう。