LoginSignup
4
2

More than 5 years have passed since last update.

DialogflowのFulfillmentで会話を継続 or 終了させるメソッドの使い方

Last updated at Posted at 2018-04-09

Google Homeのアプリ開発を行っていたとき、DialogflowのFulfillmentを使った会話の継続/終了方法がよくわからず調べたことがあったので、今後も忘れないようメモしておきます。

2018/04/19追記
Dialogflowのバージョンアップ(V1 -> V2)に伴い、仕様が変わったみたいです。以下記事で詳しくまとめらていますのでご覧ください。

Dialogflow v2の会話を継続 or 終了させるメソッドの使い方 - Qiita

app.ask() or app.tell()

会話を継続させる -> app.ask()
会話を終了させる -> app.tell()

会話を継続させる
const app = new DialogflowApp({request: request, response: response});
const FRUITS_INTENT = 'input.fruits';

// ユーザへの質問(会話継続)
function fruitsIntent (app) {
  app.ask('好きな果物を教えてください。');
}

const actionMap = new Map();
actionMap.set(FRUITS_INTENT, fruitsIntent);
app.handleRequest(actionMap);
会話を終了させる
const app = new DialogflowApp({request: request, response: response});
const FRUITS_INTENT = 'input.fruits';

// ユーザへの返答(会話終了)
function fruitsIntent (app) {
  app.tell('バナナは栄養価の高い果物です。');
}

const actionMap = new Map();
actionMap.set(FRUITS_INTENT, fruitsIntent);
app.handleRequest(actionMap);

まとめ

開発中、会話を継続したいのに、app.tell()を使っていたがために会話が終了してしまうことがありました。結局、Dialogflowのリファレンスを読んで理解しました。リファレンス大事!

参考リンク

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2