Ruboty Slack 入れ方

Rubyで開発されたbotにRubotyというものがある

このRubotyをHerokuで動かしてSlackで使う方法について詳しく書く

1. Slackでチームをつくる

2. XMPPを許可する

RubotyはXMPP通信を用いている.設定は,ここでできる(/admin/settings)

f:id:tsuwatch:20140911152452p:plain

3. bot用アカウントをつくる

4. RubotyをHerokuで動かす

XMPP用のパスワードは,各アカウントごとにここにある(/account/gateways)

$ mkdir mybot
$ cd mybot
$ echo 'source "https://rubygems.org"' >> Gemfile
$ echo 'gem "ruboty"'                  >> Gemfile
$ echo 'gem "ruboty-slack"'            >> Gemfile
$ echo 'bot: bundle exec ruboty'       >> Procfile
$ bundle install
$ git init
$ git add .
$ git commit -m "Initial commit"
$ heroku create
$ git push heroku master
$ heroku scale bot=1
$ heroku config:set ROBOT_NAME=mybot SLACK_TEAM=tsuwatch SLACK_USERNAME=mybot SLACK_ROOM=general SLACK_PASSWORD=XXX

5. 動作確認

f:id:tsuwatch:20140911153916p:plain

6. Redis導入

このままだとRubotyが再起動するごとにruboty-cronなどの情報は失われてしまう.そこでRedisを入れることで永続化することができる.

Redisには無料で使えるこれを使った.

そして,URLを設定する

heroku config:set REDIS_URL=redis://Resource Name:Redis Password@example.com:6379

【参考】