MacBook買いたてで全然慣れません・・・
チャットボット作成のため会社で導入しているdirectのボット開発フレームワークであるdaab環境を構築してみます。
#daabって?
daabディベロッパーサイト参考です。
チャットツール「direct」のチャットボットを開発するためのフレームワークでGithub社のhubotを拡張させたものです。
#事前の準備
##daabツールをインストール
terminalコマンド
$ npm install -g daab
出力ログ
/Users/take/.nodebrew/node/v8.1.2/bin/daab -> /Users/take/.nodebrew/node/v8.1.2/lib/node_modules/daab/lib/daab.js
> websocket@1.0.23 install /Users/take/.nodebrew/node/v8.1.2/lib/node_modules/daab/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/bufferutil.node
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/validation.node
+ daab@0.1.6
added 20 packages in 13.159s
インストールできたようなのでhelpコマンドが通るか確認してみます。
terminalコマンド
$ daab help
出力ログ
Usage: daab [options] [command]
Commands:
init setup the daab environment.
login login as a bot account.
logout logout from the service.
run run the daab. (Ctrl-C to stop)
start run the daab as a deamon.
stop stop the daab deamon.
deploy upload the server.
invites show and accept a domain invite.
help [cmd] display help for [cmd]
Options:
-h, --help output usage information
-V, --version output the version number
大丈夫そうですね。
##ボットの作成
ボットディレクトリを作成し作成したmybotディレクトリに移動します。
terminalコマンド
$ mkdir mybot && cd $_
daab環境を初期化します。
terminalコマンド
$ daab init
出力ログ
Initialized empty Git repository in /Users/take/mybot/.git/
remote: Counting objects: 284, done.
remote: Total 284 (delta 0), reused 0 (delta 0), pack-reused 284
Receiving objects: 100% (284/284), 501.80 KiB | 465.00 KiB/s, done.
Resolving deltas: 100% (114/114), done.
From https://github.com/lisb/daab-starter
* branch master -> FETCH_HEAD
* [new branch] master -> daab-starter/master
daab initialized.
##directへのログイン
directに存在するアカウントをボットとして動作させるためにdaabからログインさせます。
terminal
$ daab login
Email: loginid@bot.email.com
Password: *****
logged in.
terminal
daab run
> websocket@1.0.23 install /Users/take/mybot/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/bufferutil.node
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/validation.node
> fsevents@1.1.2 install /Users/take/mybot/node_modules/fsevents
> node install
[fsevents] Success: "/Users/take/mybot/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
npm notice created a lockfile as package-lock.json. You should commit this file.
added 383 packages in 16.704s
[2017-06-28 00:44:48] WebSocket opened.
[Wed Jun 28 2017 00:44:49 GMT+0900 (JST)] INFO hubot-redis-brain: Discovered redis from REDIS_URL environment variable
##directでボットに話しかけてみる
「ping」と話しかけて「PONG」と返ってきたら成功です。
繋がってますね。