FAQ

FAQ #

daab に関して、よく寄せられるお問い合わせをまとめていきます。

ご質問は「開発者登録」後にご案内いたします direct のトークで直接お伺いしております。ぜひご参加ください。

bot のプロフィールはどう設定すればいいですか? #

bot のアカウントで direct にログインして、通常のユーザと同じようにプロフィールを設定してください。 また、ボットのプロフィールアイコンを公開していますので、ご活用ください。

bot を動かすにあたって Node.js のバージョン指定があれば教えて下さい。 #

LTS リリースをご利用ください。

daab(direct agent assist bot)とdaab SDKの関係は何ですか? #

daab の目的は、企業で使われている業務システムやクラウドサービスにメッセンジャーの特徴 (スタンプや動画・画像、リアルタイム性、PUSH 通知等) を付与することで、ユーザの業務をより早く、より円滑にすることです。

技術的には GitHub 社が開発している hubot を拡張したものになっています。hubot はスクリプトを差し替えることで個別のボットを作成できます。 direct においては、作成されたボットを daab、作成するためのツールや環境を daab SDK、と呼んでいます。

当初は hubot と direct との接続部分 (Adapter) の提供だけを考えておりましたが、上述の目的のためには hubot 自体をカスタマイズしていくほうがシンプルであるという判断から、daab SDK という現在の提供方式をとらせていただいております。

ちなみに、daab は「ダーブ」と呼びます。弊社のマスコット、シモンくんの親友の名前と同じです。

daab で使われている hubot のバージョンは何でしょうか? #

https://github.com/lisb/hubot/releases をご確認ください。

今後も hubot の動向をチェックして、最新のバージョンをご提供していく予定です。

メールアドレスを利用しないアカウントで daab にログインする方法はありますか? #

アカウント管理グループに所属したメールアドレスを持たないユーザーで daab にログインする場合は、Email のところで "ボットのログインID" + "$" + "アカウント管理グループID" を入力します。

例えば「ボットのログイン ID」が botLoginId で「アカウント管理グループID」が accountGroupId の場合は以下のようになります。

$ daab login
Email: botLoginId$accountGroupId
Password:
logged in.

daabのアカウントを変更するにはどうすればいいですか? #

開発時は daab をテスト用のアカウントで実行していて、本番環境では別のアカウントに切り替えたい、といった場合は以下のようにしてください。

アカウント情報 (アクセストークン) は、環境変数 HUBOT_DIRECT_TOKEN に設定されます。 この環境変数をクリアしたあと、ボットを起動してください。

# linux/OSXの場合
$ unset HUBOT_DIRECT_TOKEN
$ bin/hubot
REM windowsの場合
> set HUBOT_DIRECT_TOKEN=
> bin\hubot

Redis への接続はどう指定したら良いですか? #

環境変数 REDIS_URL で指定します。REDIS_URLlisb-hubot-redis-brain (オリジナルは hubot-redis-brain) の仕様に従います。フォーマットは以下の通りです。

redis://${hostname}:${port}/${prefix}

何も指定しない場合は下記の表に沿ったデフォルト値が使われます。

デフォルト値
hostnamelocalhost
port6379
prefixdaab を起動したディレクトリ名

この REDIS_URL を元に Redis 上のキーは ${prefix}:storage になります。

“Frame size of X bytes exceeds maximum accepted frame size” というログが出力されてボットが正常に稼働しません #

daab が内部で利用している WebSocket client の最大許容フレームサイズ (のデフォルト値) を超えてしまうとこのログが出力されます。

daab では環境変数 HUBOT_DIRECT_WS_CONFIG を指定することでこの最大値を変更することができます。

Step 1. npm lsdirect-jshubot-direct のバージョンを確認します #

まだ npm install していない (node_modules ディレクトリが存在しない) 場合は Step 2 に進んでください。

node_modules ディレクトリが存在している場合は、依存関係に以下のバージョンが含まれていることを確認してください。

  • direct-js >=1.101.1
  • hubot-direct >=1.0.1

含まれていた場合は Step 4 へ進んでください。 含まれていなかった場合は一度 node_modules ディレクトリを削除してから Step 2 へ進んでください。

Step 2. ボットの package.json を確認します #

lisb-hubot のバージョンレンジが ^3.3.2、もしくは >=3.3.2 を参照する指定になっていれば問題ありません。 異なる場合は変更してください。

Step 3. npm install します #

これで必要なバージョンのライブラリがそろいます。

Step 4. ボット起動時の環境変数に HUBOT_DIRECT_WS_CONFIG を追加します #

まずは最大フレームサイズ (Byte) を決めてください。基本的には exceeded ログの値よりも大きくなるようにしてください。

値を決定したら以下の形式 (JSON を stringify した文字列) で環境変数に指定します。

HUBOT_DIRECT_WS_CONFIG='{"maxReceivedFrameSize":3145728}'
上記の HUBOT_DIRECT_WS_CONFIG.env に追加する場合は、全体を囲っている ' を取り除いてください。

QUOTA_EXCEEDED_ERR というエラーが出ます #

内部で使う LocalStorage のサイズ上限を超えると出力されます。デフォルトは 5MiB (= 5 * 1024 * 1024) です。

環境変数 HUBOT_DIRECT_STORAGE_QUOTA にバイト数を指定することで上限を変更できます。 例えば上限を 10MiB に変更したい場合は以下のようにします。

HUBOT_DIRECT_STORAGE_QUOTA=10485760

ログレベルはどうすれば変更できますか? #

環境変数として HUBOT_LOG_LEVEL を指定すると変更できます。デフォルトは INFO です。

デバッグログを出力したい場合は HUBOT_LOG_LEVEL=DEBUG を指定してください。

Cloud9を利用したdaab開発環境構築について #

この項目は内容が古いです。最新の構築方法については以下のブログ記事をご覧ください。

1分台でdaab開発環境を準備できるdaab commandline interfaceの紹介

「daab」の開発環境をクラウドIDEのCloud9を利用して3分で構築しましたので、情報共有させていただきます。

Cloud9を利用して3分でdaab開発環境構築(YouTube動画)

Node.jsやRedisサーバーのインストールが不要で、特にWindowsユーザーには開発準備の設定の手間が圧倒的に省力化されると思います。 投稿時点のバージョンは以下の通りです。

  • Node.js v0.10.33
  • npm v1.4.28
  • Redis server v2.8.4