自社内で使っているチャットツール「idobata」にチャットbotを作ったので、手順をメモしておく。
heroku等のサーバを使わず、ローカル環境での実行手順なので、
ご注意ください。
実行環境
macOS Mojabe 10.14.5
目次
環境準備
nodebrewのインストール
1 | $ curl -L git.io/nodebrew | perl - setup |
インストールが完了したら、bash_profileにPathを通して有効化する。
1 | $ export PATH=$HOME/.nodebrew/current/bin:$PATH |
最新のnodebrewをインストールする。
1 | $ nodebrew install latest |
インストールした最新のnodebrewを使用するよう設定する。
(記述時点ではv12.4.0)
1 | $ nodebrew use v12.4.0 |
Yeoman,generator-hubotをインストール
1 | $ npm install -g yo generator-hubot |
作成するbot用のディレクトリを任意の名称で作成する
1 | $ mkdir mybot |
セットアップ
ジェネレータ起動
作成したディレクトリ内でhubotをセットアップする。
1 | $ yo hubot |
セットアップが進み、Hubot君からいくつか質問されるので、
回答する形で、セットアップを完了させる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | _____________________________ / \ //\ | Extracting input for | ////\ _____ | self-replication process | //////\ /_____\ \ / ======= |[^_/\_]| /---------------------------- | | _|___@@__|__ +===+/ /// \_\ | |_\ /// HUBOT/\\ |___/\// / \\ \ / +---+ \____/ | | | //| +===+ \// |xx| ? Owner xxxxxxx@gmail.com ←質問1:メールアドレス ? Bot name mybot ←質問2:作成するbotの名前 ? Description practice ←質問3:不明(なんでもok) ? Bot adapter idobata ←質問4:連携するツール(今回はidobata) create bin/hubot create bin/hubot.cmd create Procfile create README.md create external-scripts.json create hubot-scripts.json create .gitignore create package.json create scripts/example.coffee create .editorconfig _____________________________ _____ / \ \ \ | Self-replication process | | | _____ | complete... | |__\\| /_____\ \ Good luck with that. / |//+ |[^_/\_]| /---------------------------- | | _|___@@__|__ +===+/ /// \_\ | |_\ /// HUBOT/\\ |___/\// / \\ \ / +---+ \____/ | | | //| +===+ \// |xx| |
インストール中にWARNINGがいくつか出ることがあるが、
動作には影響がないため、今回はスルー。
botの動作作成
botの動作はscripts内に作成する。
デフォルトではexample.coffeeが作成されている。
今回は「hello」に反応して「こんにちは!」を新たに作成した。
1 2 3 | module.exports = (robot) -> robot.hear /hello/i, (res) -> res.send "こんにちは!" |
動作確認
ターミナルで実行させてみる。
実行すると入力を受け付けるので、helloを入力すると、
こんにちは!と返してくれるはず。
1 2 3 4 5 6 | $ bin/hubot ・・・ $ mybot> hello $ myhubot> こんにちは! |
WORNINGがでるかもですが今回はスルー。
exitで終了させる。
idobataとの連携
idobataの設定
「ROOMSETTING」→「Bots」→「Newbot」→「Or you can create a new bot」でbotの名前を設定する。

botの名前を設定すると、botが作成される。
ここで表示される、Tokenの文字列をコピーしておく。

環境変数の設定
さきほどコピーしたTokenをhubotに環境変数として保存する。
1 | $ vi hubot |
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/sh set -e npm install export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH" ↓この一文を追記 export HUBOT_IDOBATA_API_TOKEN= ここにTokenをコピペする exec node_modules/.bin/hubot --name "cat-hubot" "$@" |
idobataに連携してhubotを起動する
1 | $ bin/hubot --adapter idobata |
これでidobata側と連携できているはず。
うまくいっていれば、idobataでbotのアカウントがオンラインになっているはず。
以上。
コメント