研修中はコードが書けないのでフラストレーション溜まって、同期で使ってるSlackのHubot開発で残業したということでこの記事では「SlackにHubotを追加し、実際に運用するまで」をまとめます。そのために以下の環境を予め整えてください。Hubotリポジトリを作成Herokuにデプロイ実際にいくつかHubotプラグインを入れる自分でオリジナルのHubotプラグインを入れるやっていきましょう。Integrationを追加Slackを開いて、左上のチーム名をクリックします。Settings"というのがあるので、それを開きます。するとこんなかんじでページが開かれるので、左上の"Menu"から"Integrations"をクリック。するとIntegration一覧が出るので、Hubotを探して"Add"してください。あとは指示に従ってUser名やアイコン等をお好みで変えて完了です。TeamにHubotアカウントが追加されました。このままではHubotは抜け殻のままなので、中身を実装していきます。HUBOT_SLACK_TOKENは後ほど使います。手順1で作ったHubotアカウントの中身を作りましょう。今回はGitHub上で開発する前提で話を進めていきます。必要なnpmをインストール。generator-hubot次に適当な場所でHubot用のディレクトリを作成し、botoを作成します。これでディレクトリにHubotのひな形ができました。これをgitリポジトリ化して次の手順に進みます。Herokuにデプロイこれで実際に中身ができたので、Herokuにデプロイします。HerokuはPaaSサービスの一種です。詳しくはこちらの記事を参照ください。初心者でも15分で公開できるHerokuのはじめかたHerokuへのデプロイはheroku-toolbeltを使用します。先ほどHubotを作成したフォルダに移動してください。heorkuにログイン、アプリケーションの作成を行います。[hubot_name]これでGitリポジトリのリモートリポジトリにHerokuが追加されました。-vして確認してみてください。次に、Hubotに必要なRedisのアドオンをHerokuに追加します。redistogo:nano完了したら、いくつかの環境変数をHerokuへ送信します。key1=val1を使用します。1番の手順で出てきたHUBOT_SLACK_TOKENを使用します。HUBOT_SLACK_TOKEN=[先ほどのTOKEN]次にHUBOT_HEROKU_KEEPALIVE_URLをセットする。値は以下のコマンドの結果のweb_urlに書いてあるものを設定する。url]これでHerokuの設定は完了です。以下のコマンドでデプロイしてみましょう。実際にいくつかHubotプラグインを入れるまずはnpmで配布されてるhubotプラグインをいくつか入れてみます。今回はhubot-shubotとhubot-rss-readerを追加してみます。追加する手順としては、external-scripts.jsonを編集package.jsonを編集するだけです。}これでデプロイするだけ!ただ、それぞれのプラグインで別途設定項目がある場合もあるのでREADME.mdをしっかり読みましょう。自分でオリジナルのHubotプラグインを入れるプラグインとしてでなく、Hubotに機能を追加する場合は基本scriptsディレクトリにファイルを追加します。ファイル名に特に規則はありませんが、1機能1ファイルで作成していきましょう。言語はCoffeeScriptです。弊社では新卒1年目に課される納会という名の試練があるので、納会の話が始まるとHubotが現実逃避をし始める機能を追加しました。wordsこれで納会機能が追加されました。