gennei's blog

IT、読書、日記、メモ

SlackとHubotを連携する

最近流行りのSlackを導入してみようと思いアカウントを作って使い始めてみた。
しかし、このままだと普通のチャットと使い方が変わらないのでHubotを導入した。

ひとまず「ぬるぽ」と書き込むとHubotから「ガッ」と返信がくるものを作成した。

以下手順まとめ。

・使うもの
heroku ← Hubotを動かすためのPaas
node.js ← Hubotを動かすサーバーサイドのスクリプト

まずはHubotが動く環境を構築する。

brwe install node
npm install -g hubot coffee-script

Hubot作成(nullpo_botという名前で作成)

hubot --create nullpo_bot

Hubot動かす

cd nullpo_bot 
bin/hubot

動作確認

hubot ping
hubot time

・「ぬるぽ」と書くと「ガッ」と返してくれるスクリプト

module.exports = (robot) ->
  robot.hear /ぬるぽ/i, (msg) ->
    msg.send "ガッ"

・Herokuにデプロイする準備

#Hubotとslackを連携させるもの
npm install hubot-slack --save

Procfileを以下を記載

#Herokuにデプロイしたとき起動すものを指定
web: bin/hubot --adapter slack

Herokuにデプロイするためにgitリポジトリ

git init
git add -A
git commit -m "First Commit"

Herokuへデプロイ

heroku create appname
heroku config:add HUBOT_SLACK_TOKEN = XXXXXXXXX
heroku config:add HUBOT_SLACK_TEAM = SLACKのチーム名
heroku config:add HUBOT_SLACK_BOTNAME = SLACKで発言させたい名前
heroku config:add HEROKU_URL=http://herokuアプリのURL
git push heroku master

あとはSlackで「ぬるぽ」と発言すれば「ガッ」とリプライがくる。

・参考にしたサイト
Slack上のボットをHubotで作ってHerokuにデプロイしてみた | nanapi TechBlog
slackにHubotを導入(Heroku経由) - Qiita
会社で利用しているSlackにhubotを入れて活用してみた話 - 月曜日までに考えておきます
サイトではないが本はこれもよい
WEB+DB PRESS Vol.82


17歳教にツッコミをいれるのも作った。
>井上喜久子17歳です。
>おいおい!

おそらくツッコミをHubotに担当させるとおもしろいのかな。