如何使用nodejs sdk将事件发送到api.ai

时间:2017-07-24 10:04:34

标签: node.js chatbot dialogflow

我正在与过去几个月的Api.ai开发聊天机器人

我想将它与nodejs客户端连接,我成功地将text queries从nodejs发送到api.ai并获得响应(如doc:https://github.com/api-ai/apiai-nodejs-client中所述),

但我仍无法使用nodejs sdk发送Events,因为doc中没有可用的文档:https://github.com/api-ai/apiai-nodejs-client

请向我推荐任何有用的示例代码或文章

1 个答案:

答案 0 :(得分:1)

如果您使用的是Node,请尝试以下操作:

var apiai = require('apiai');

var app = apiai(process.env.APIAI_TOKEN);

const sendEventToApiAi = (event, sessionId) => {
    return new Promise(function(resolve, reject) {

        let eventArg = {
            "name": event.type
            "data": event.data
        };

        var request = app.eventRequest(eventArg, {sessionId: sessionId});

        request.on('response', function(response) {
            console.log("sendEventToApiAi: response=" + JSON.stringify(response));
            return resolve(response);
        });

        request.on('error', function(error) {
            return reject(error);
        });

        request.end();
    });
}

  let event = { type: "CALCULATED_RESULTS" };

 //Send Event to apiai Intent.        
  sendEventToApiAi(event, sessionId);