FAQ

FAQ #

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

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

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

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

direct においては、作成されたボットを daab、作成するためのツールや環境を daab SDK、と呼んでいます。

技術的には GitHub 社が開発している hubot を拡張したものになっています。hubot はスクリプトを差し替えることで個別のボットを作成できます。

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

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

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

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

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

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

daab SDK で使われている 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 を指定してください。

ボットでExcelファイルを操作することは可能でしょうか? #

daab に Excel ファイルを直接操作する機能はありません。外部ライブラリを利用して実現してください。 具体的な使用方法や機能については、ご利用のライブラリのドキュメントをご参照ください。

HTTPプロキシ利用下でボットを動かすことは可能でしょうか? #

環境変数 HTTP_PROXY にプロキシサーバの URL と ポート番号 を設定することで動かすことができるようになります。

HTTP_PROXY=http://<プロキシサーバのIPもしくはURL>:<ポート番号>

プロキシサーバのIPアドレスが 192.168.0.1、ポート番号が 8080 の場合は以下のようにします。

HTTP_PROXY=http://192.168.0.1:8080