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」と返ってきたら成功です。

繋がってますね。
