Note

litaをslackに導入

内容

ちょっと自分用のSLACKにbotを導入してみました。
以前、hubotを昔入れたことがあったんですが、今の会社がlitaだったのでlitaを入れてみました。
rubyですし。

litaをおいておくところはherokuなのでheroku toolbelt、rubyとかgitはインストール済前提の記事です。

バージョン

ruby: 2.3.1
heroku:
heroku-toolbelt/3.43.12 (x86_64-darwin15) ruby/2.3.1,
heroku-cli/5.5.1-cf2de15 (darwin-amd64) go1.7.3

導入

ローカルの準備

# lita gemをインストール $ gem install lita

# lita コマンドで初期コマンド $ lita new <app name>

# できたディレクトリに移動 $ cd <app name>

# litaさんのGemfileのインストール $ bundle install

# litaさんが動くか確認 $ lita start Type "exit" or "quit" to end the session. Lita > lita info Lita 4.7.1 -[https://www.lita.io/](https://www.lita.io/) Redis 3.2.0 - Memory used: 1.11M Lita > lita help Lita: help - Lists help information for terms and command the robot will respond to. Lita: help COMMAND - Lists help information for terms or commands that begin with COMMAND. Lita: info - Replies with the current version of Lita. Lita: users find SEARCH_TERM - Find a Lita user by ID, name, or mention name. Lita > exit

Gemfileに lita-slack を追加

Gemfile

gem 'lita-slack'

またターミナルで

# 追加したgemのインストール $ bundle install

slack側の設定

導入するslackにlitaのインテグレーションを追加

heroku側の設定

heroku にログインして、環境の作成、

# ログイン $ heroku login

# heroku環境の作成 $ heroku apps:create Creating ot... done https://.herokuapp.com/ |[https://git.heroku.com/.git](https://git.heroku.com/.git)

# herokuのredisを追加 $ heroku addons:add redistogo --app annp-bot Creating redistogo on ⬢ ... free Created redistogo-octagonal-53314 as REDISTOGO_URL Use heroku addons:docs redistogo to view documentation

# slack apiキーを設定 $ heroku config:set SLACK_API_KEY="" Setting SLACK_API_KEY and restarting ⬢ ... done, v6 SLACK_API_KEY:

$ heroku config # で確認できる === annp-bot Config Vars LANG: en_US.UTF-8 RACK_ENV: production REDISTOGO_URL: redis://redistogo:0a0a0a0a0a0a0a0a0a0a@crestfish.redistogo.com:10268/ SLACK_API_KEY: xoxoxoxoxoxoxoxoxoxoxoxoxoxoxo

# herokuにデプロイ # herokuのgit設定を追加 $ git remote add heroku[https://git.heroku.com/.git](https://git.heroku.com/.git)

# herokuにpush $ git push heroku master

実際に動いているか確認

なんか大丈夫そう

lita

litaさんにコマンドを教える

こちらの記事を見ながら作成しました =>[http://knowledge.sakura.ad.jp/knowledge/5228/](http://knowledge.sakura.ad.jp/knowledge/5228/)

個人的に route で指定した正規表現がハマリポイントでした。 あと、lita-slack gemをいれるとローカルで確認するのに、Gemfileなどlita-slack関連をコメントアウトするのと lita_config.rbのconfig.robot.adapter = :slackをconfig.robot.adapter = :shellにし直さないと確認できなかったりしてどうにかならないかなーっておもった(たぶんあるんだろうと思う。)

litaはrubyな分hubotよりめっちゃ簡単にかけてよかった。