d250g2 slack用にbotを用意してみました

こんにちは。whywriteit d250g2班のwhywaitaです。

この記事はd250g2 Advent Calendar 2016 23日目の記事です。

今回はPublic slackとして運用しているd250g2 slackにbotを導入してみた話です。

Public slackに対するbot

slackなどのチャットアプリケーションにおいて、botという存在が居るとかなり便利という事はここ最近浸透してきた考え方ではないでしょうか。
予定をリマインダしてくれたり、RSSを流してくれたり、雑談に答えてくれたり、結構便利な存在です。

ただ、どうしてもチャットは閉鎖的な空間になりますので、そのbotのコードも閉鎖的になりがちなのではないかと考えています。

今回は丁度d250g2 slackというパブリックな場がありますので、良い感じにbotを用意する事になりました。

botの選定

slack上にデプロイするbotとしてはhubotが一番人気のようですが、d250g2は色が赤いので、同じく赤いRuby製のRubotyを使いました。
あと、どうでも良いですが、何故かRubyのコードを沢山読んでいる人達が多いという事もあったようです。

プラグインの追加

さて、ただbotをデプロイしただけだとACの記事として残念なので、ちょっと面白そうなプラグインを追加してみましょう。

d250g2のRubotyのコードはここにあります。このリポジトリにプルリクエストを出し、マージされる事で、botが動いているHerokuにデプロイされるようになっています。

docomoの雑談APIを利用出来るようになるruboty-talkを追加するプルリクエストを出しました

プルリクエストが出されると、Travis CIが自動で動き、実際にデプロイ出来るかどうかのチェックが走ります。
特にテストは書いてないので、シンタックスチェックぐらいしか走ってませんが…。

d250g2-ruboty-test

これはruboty-twadaプラグインがインストールされた様子です。

そうやって遊んでいるうちにCIのテストがOKを返したようなので、適当にマージしてやります。

ちなみに、CIやプルリクエストなどの通知は全てd250g2 slackに通知が飛んでいます。

d250g2-ruboty-notification

ちなみにGitHubのアイコンは@ahiru3net氏ご指定のyaketacatです。よく燃えてます。

結果

d250g2-ruboty-otaku

とりあえず変な会話しかしてないようですが、とりあえず無事に動いているようです。なによりですね。

まとめ

Heroku+Ruboty+Travis CIでそれなりにイケてる公開botが作れました。

どんどんコントリビュートお待ちしております。

コメントを残す