dialogflow
Fullfillment

DalogflowのFullfillment

はじめに

アマゾンみたいにわかりやすい関数側の説明がなかったので、備忘録的に。

最初にやっておく設定

  1. Dialogflowのfulfillmentのinline Editorをオンに
  2. Intentの下のFulfillmentのところをUse Webhookにチェックをいれる

サンプルコード

'use strict';

process.env.DEBUG = 'actions-on-google:*';
const App = require('actions-on-google').DialogflowApp;
const functions = require('firebase-functions');

// Intentのアクション名かくよー
//最初はDefault Welcome Intentに書いたアクションに行くから注意
const FOO_ACTION = "foo";
const HOGE_ACTION = 'hoge';

// パラメータのかくよー
const FOOFOO = "foofoo";
const HOGEHOGE = "hogehoge";

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
    const app = new App({request, response});

    function hoge_function (app) {
        // Entitiesを取得
        let params = app.getArgument(HOGEHOGE);
        //googleさんが喋る言葉をかくよ
                 app.tell("google assistantが返す文字だよー");
        //app.ask("askだと会話はおわらないよー");
    }
    function foo_function (app) { 
        let params = app.getArgument(FOOFOO);
        app.tell("intentのアクションによってかえるよー");
    }
    let actionMap = new Map();
    actionMap.set(FOO_ACTION, foo_action);//インテント名と関数名
    actionMap.set(HOGE_ACTION, hoge_action);

    app.handleRequest(actionMap);
});