L is B BLOG

株式会社L is Bの社員ブログです。会社の取り組みや技術ブログを発信しています。

daab SDK のノート機能を強化しました

はじめに

daab SDK を更新しました.パッケージバージョンは以下の通りです.リリースノートは各 GitHub リポジトリをご確認ください.

  • lisb-hubot@3.5.1+forked.3.3.2
  • hubot-direct@1.0.1
  • direct-js@1.109.3

添付ファイル付きノートの作成

これまではテキストのみのノート作成しかできませんでしたが,新しく添付ファイル付きノートの作成が可能になりました.

以下のように添付ファイル (note_attachments) を指定することでノートにファイルを添付することができます.

res.send({
  note_title: 'タイトル',
  note_content: '本文',
  note_attachments: [
    { path: '/path/to/image.png', name: 'sugoi.png' },
    { path: './my/file.txt' }
  ]
});

詳細は daab デベロッパーの「ノート機能」 をご覧ください.

ノートイベントのハンドリング

また,他の人が作成したノートの操作イベントを受け取ることができるようになりました.

// ノートが作成されたことを検出する
robot.respond('note_created', (res) => {
    const j = res.json;
    console.log(`created: id = ${j.note_id}, title = ${j.title}`);
});

後述するノートの取得/更新/削除の機能と併せることで,これまでに無い柔軟な処理が可能となります.

詳細は daab デベロッパーの「メッセージの受信」にある「ノート」 をご覧ください.

ノートの取得/更新/削除

さらに,作成した/されたノートの取得/更新/削除も可能になりました.

// 例: ノートを更新する場合
robot.direct.notes.update(note, { note_content: '新しい本文' })
  .then(result => console.log(result.note))
  .catch(error => console.error(err.message));

もちろん添付ファイル付きノートの操作も可能です.

詳細は daab デベロッパーの「ノート機能」 をご覧ください.

その他改善

direct のサーバーサイドにおけるエラー処理の改善が取り込まれています.これまで曖昧で良く分からなかったエラーの一部が明確になり,ログ出力の内容から判別しやすくなりました.

しかし,いまだわかりにくい部分も多いため,エラー周りについては今後も改善を続けていきます.

制限事項

ノート操作 API の呼び出しについては Rate Limit が適用されます.具体的な値については daab デベロッパーの「ノート機能」にある「制限」をご確認ください.

おわりに

最近のリリースで daab SDK に入った機能強化について紹介させていただきました.direct のノート機能についてこれまで以上に柔軟な活用が可能になると思います.

L is B では今後も daab 開発の一助となる改良を続けていきます.