さくっと簡単にSlack Botを作ってみた

こんにちは!ぐちです。

タイトル、少し盛りました。笑

まぁでもKitを作ってくれている方のおかげで、非常に簡単にSlackのボットを作ることができます。今回はその方法をご紹介したいと思います。

Slackとは

コミュニケーションツール(Skype、Chatworkなど)のひとつです。Slackも他のと同じくチャットでコミュニケーションを取ることができるサービスです。が!!しかし!!他のサービスとは一線を画する機能がソースコードの共有機能だと僕は思います。

ファイルを送ったり、バージョンを管理したりするわけではないのですが、スニペットとしてコードの一部(全部も可能ですが・・)を見やすく送ることができます。

Botとは

Twitter Botが有名だと思うのですが、自動で様々な回答を返してくれるプログラムです。ツイナビさんでは下記のように説明されています。

ボット(bot)とは Twitter の機能を使って作られた、機械による自動発言システム。 語源はロボットから来ている。 特定の時間に自動ツイートする bot、ユーザーの bot 宛の発言にリプライする bot、特定のキーワードに反応する bot 等、様々な bot が存在する。

で、コマンドを入力して返答してくれるSlack Botを作ってしまったのが、Howdyさんです。Githubに公開してくれています。

では、早速作り方といいますか、始め方をご紹介していきたいと思います。

Botを作る

まずはSlack内にBotを作ります。下記のページからチームにBotを作ってください。

https://my.slack.com/services/new/bot

Botの名称を入力したら「Add bot intergration」をクリックします。次の画面に表示される「API Token」が必要になりますので、メモを残しておきます。

必要な項目を入力したらページ下部にある「Save Intergration」をクリックします。

するとSlackのチームメンバーに登録したBotが追加されているはずです。

ソースコード取得

続いて、前述したGithubのコードをクローンします。

作業したいフォルダに移動して下記のコマンドを実行するか、SourceTreeのようなクライアントツールを使ってもOKです。

$ git clone https://github.com/howdyai/botkit.git

ローカル実行

上記のコードを取得したフォルダにて下記のコマンドを実行するだけでサンプルで用意されているBotを動かすことができます。

$ token=【前述で取得したAPI Tokenを貼り付ける】 node slack_bot.js

上記のコマンドを実行すればSlack内のBotがオンラインになり、サンプルで準備されている下記のメッセージを送ることでBotと会話ができます。

  • who are you?
  • call me Bob
  • shutdown

カスタマイズ

Bot自体はJavascriptで書かれているので自由にカスタマイズといいますか、なんでもできると思います。Web APIを実行したり、外部の情報を取得してきたり。

コードの詳細説明は本家のサイトにあるので、そちらを参考にしてみてください。

https://github.com/howdyai/botkit/blob/master/readme-slack.md

では今回はこの辺で。