概要
lita は ruby 製Botです。
このたび、slackがlitaインテグレーションに対応したようです。
https://twitter.com/SlackHQ/status/543163163831582720
本記事では、 Slack に Lita bot を参加させます。
インストール
Vagrant
Vagrantでのインストールが推奨されていますが、ここでは手動でインストールします。
手動
gem でインストールできます
gem install lita
新規プロジェクトを作成します
lita new
起動します。Redis が立ち上がっていないとエラーとなります。
cd lita
lita
デプロイ
heroku にデプロイできるようにProcfileを足します
web: bundle exec lita
RedisToGo をセットアップします。
heroku アカウントに決済情報が無いとプラグインが導入できないかも知れません。
heroku addons:add redistogo
設定ファイルにredisの設定を加えます。
環境変数 REDISTOGO_URL は既にサーバー側に設定されているはずです。
config.redis[:url] = ENV["REDISTOGO_URL"]
config.http.port = ENV["PORT"]
slack 連携
slack 側で lita integration を追加した後、APIキーをメモします。
Gemfile に lita-slack を追加します。
bundle install したら、Gemfile.lock もデプロイする必要があります。
source "https://rubygems.org"
ruby "2.1.5"
gem "lita"
gem "lita-slack"
lita の設定に API キーを設定します
Lita.configure do |config|
# 他の設定 ...
config.robot.adapter = :slack
config.adapters.slack.token = ENV["SLACK_API_KEY"]
end
APIキーは環境変数にしておきます。
heroku config:set SLACK_API_KEY=hoge-1234123456-hoge
動作確認
いろいろやらせる
lita-google-images ハンドラを登録してみましょう。
いろいろな lita ハンドラが gem として見つかるはずです。
gem "lita-google-images"
bundler でインストールしてデプロイします
bundle install
git push heroku master
動作確認します
LGTM
プラグインハンドラを作る
ハンドラを自分で作る際、テンプレートから作ることが出来ます。
gem として公開する前提のようです。
lita handler lita-あなたの-ハンドラ
circle.yml なども生成してくれて便利です。