雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

botkit を使ってslackbotを作ってみた

こんにちは。

ブログ書くのが久しぶりになってしまいました。(書かねば..

唐突ですが、最近社内向けコミュニケーションツール slack が流行っていますよね。
slackは、APIを公開いていて、外部ツールとの連携ができるので、かなり自由度があるサービスです。
botの作成をすることもできるのですが、一から作るにはコードあんまり書かない私には若干ハードル高めです...

そこで、Botkit というBotを作るためのフレームワークがSlack App Directoryで公開されていたので、それを使ってslackbotを簡単に作ってみました。

環境

・OS X EI Capitan(10.11.3)
・npm v0.12.4
・node v0.12.4
# botkitはNode.jsを利用するので必要となります。

目次

  1. slackでの下準備
  2. botkitのダウンロード、インストール
  3. botの起動
  4. botを少しいじる
  5. 感想

作業

1. slackでの下準備

まず、slack上でslackbot作成に必要な作業を行います。

  1. Slackのチーム画面を開き、[Configure Apps] をクリックします。 f:id:ykoomaru:20160827114249p:plain

  2. 検索窓に [Bots] を検索し、 [Bots] を開きます 。 f:id:ykoomaru:20160827114252p:plain

  3. ロボットの画像の下にある [Add COnfiguration] をクリックします。
    #botを追加すると、[Configurerations] の下に追加されていきます。 f:id:ykoomaru:20160827114254p:plain

  4. bot名入力し、[Add bot integration] をクリックします。
    #名前は愛着がわく名前がいいですね(`・ω・´) f:id:ykoomaru:20160827114258p:plain

  5. botkitを起動するのに利用するので、[API Token] の値をメモします。 f:id:ykoomaru:20160827114301p:plain

  6. bot を作成するとDMにbotが追加されています。(名前はmaruにしました)
    #botを動かし始めればオンライン状態になります
    f:id:ykoomaru:20160827114303p:plain

以上で、slackでの下準備作業は完了です。

2. botkitのダウンロード、インストール

それでは、botkitの本体の作成をします。

  1. botkitを格納したフォルダに移動し、githubからサンプルコードを落とします

    > cd <botkitを格納するフォルダ>
    > git clone https://github.com/howdyai/botkit.git

  2. botkitをいうフォルダができているので、ディレクトリを移します。ファイルの中身はこんな感じです。

    > cd botkit
    > ls
    CONTRIBUTING.md facebook_bot.js readme-twilioipm.md
    Dockerfile lib readme.md
    LICENSE.md package.json slack_bot.js
    changelog.md readme-facebook.md tests
    examples readme-slack.md twilio_ipm_bot.js

  3. nmpでパッケージのインストールをすれば、完了です。 # ネット環境によっては時間がかかるかもしれません

> nmp install

githubは↓です。
GitHub - howdyai/botkit: Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.

3. botの起動

いよいよbotを起動します! botkit内の slack_bot.js が実行ファイルです。

  1. 1.5でメモした[API Token] の値を指定し、botを起動します。

    token=<API_TOKEN> node slack_bot.js

  2. 起動すると、slack上のオンラインになります。
    f:id:ykoomaru:20160827120651p:plain

  3. あとは、チャンネルに召喚し、デフォルトで用意されている英会話を楽しみましょう f:id:ykoomaru:20160827121214p:plain

  4. slack_bot.js を確認してみると、以下のようなコマンドがデフォルトで入っています f:id:ykoomaru:20160827121502p:plain

これで、botの作成は完了です!
botの作成をするだけならかなり簡単にできます。

4. botを少しいじる

ただ、デフォルトだとあまりにもロボットすぎて愛着が湧かない!! なので、少し設定をいじりました。

f:id:ykoomaru:20160827122112p:plain

slack_bot.jsのデフォルトコマンドを日本語に変えて、botのアイコンを変えただけでこんなにも愛着がわくかわいい子になりました!

感想

slackbotの導入までやってみましたが、次は、AWSのAPI使って連携とかをやりたいと思います。
他のサービスと連携できるようにしてからが、本番ですね。
猫ぐうかわ。

参考サイト

参考にさせていただきました。ありがとうございます。

http://toach.click/slack-botkit/
Slackの新しいフレームワークBotkitを試してみる - Qiita
http://tech.machiiro.jp/entry/2016/05/13/090000