Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
28
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@NagaokaKenichi

BotKitを利用したSlack Botの開発環境を5分~15分位で構築する(Windows)

前提

  • タイトルにもある通りOSはWindows
  • SlackでTeamが作られていること
  • Gitがインストールされていること

1. SlackでBot Usersの作成

https://yourTeamName.slack.com/apps
※yourTeamNameは自分のチーム名に読み替える
へアクセスして、「bots」で検索。
1.png

一番上に表示された「Bots」を選択して次の画面で「Add Configuration」ボタンをポチる。

2.png

「username」に任意の名前を入力して(これがBotの名前になる)、「Add bot integration」ボタンをポチる。ちなみに「username」に日本語は設定できない。

3.png

Botの設定画面でBotのアイコンだったりをカスタマイズする(これは必須ではない)。API Tokenは「4.サンプルBotの動作確認」で必要になるので控えておく。最後に一番下の「Save Integration」ボタンをポチる。

以上で終了。作成したBotは、「/invite @設定したBotの名前」でチャンネルに招待できる。

2. node.jsのインストール

BotKit は Node.js のアプリケーションとして動作するのでnode.jsを入れる必要がある。

https://nodejs.org/en/
からnode.jsをDLしてきてインストールする。基本的に全てデフォルト設定のままインストールを進めてしまって問題ない。
インストールが完了したら、念のためちゃんとインストールされていることを確認する。コマンドは以下。

node --version

4.png

node.jsと一緒にnpmもインストールされているので、それの確認もする。
npmとは
コマンドは以下。

npm --version

5.png

3. BotKitのインストール

BotkitはGithub上で公開されているのでcloneして入手する。cloneしたいディレクトリへ移動して以下のコマンドでcloneする。

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

botkitディレクトリへ移動して依存パッケージをインストールする。

cd botkit
npm install

4.Botのサンプルコマンドの動作確認

Botkitにはサンプルコマンドがいくつか用意されているので、インストールしたBotkitを起動して動作確認してみる。以下のコマンドで起動する。

set token=YOUR_API_TOKEN
node slack_bot.js

無題.png

※YOUR_API_TOKENは、Botの設定画面で控えておいたAPI Token

/invite @your_bot_name
でbotを任意のチャンネルに招待して、
@your_bot_name hello
とBotに話かけてみる。すると、以下のような感じでサンプルコマンドに反応してBotが返事をくれる。

6.png

なお、サンプルコマンドは、botkit/slack_bot.jsの「controller.hears」の第一引数。
※helloの他に、hi、what is my name、who am i、、等が存在する。詳細はソースを見てみるとよい。

最後に

node.jsをDLしたり等、ネットワーク環境により若干前後はあるものの、ここまでで大体5分~15分位でできると思う。また、基本的にslack_bot.jsに自作コマンドを作っていくことになるかと思うが、エディタは秀丸でもSakuraでもWebStormでも何でもいいと思う。

参考

http://toach.click/slack-botkit/
http://joesbar.blog.jp/archives/1058864418.html

28
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
28
Help us understand the problem. What is going on with this article?