litaをslackに導入
Categories: ETC
内容
ちょっと自分用の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のインテグレーションを追加
https://.slack.com/services/lita/new にアクセス。- lita integration を追加
-
次のページでslack apiキーが表示される(herokuの環境変数にセットする) heroku側の設定
heroku にログインして、環境の作成、
ログイン
$ heroku login
heroku環境の作成
$ heroku apps:create Creating ot... done https://.herokuapp.com/ |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 herokuhttps://git.heroku.com/.git
herokuにpush
$ git push heroku master
実際に動いているか確認
なんか大丈夫そう
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よりめっちゃ簡単にかけてよかった。Tweet