1

私のサービスは、ユーザー インターフェイス (Slack、Skype など) に表示されている要求の後に、非同期応答を api.ai に送り返しています。

しかし、要求された操作が完了した後 (5 秒後) にインターフェースに応答を送信できません。

const apiai = require('apiai');

module.exports = (server, config) => {
  const app = apiai('<Client access token>');
  server.post('/', (req, resp) => {

    let body = '';
    req.on('data', function(data) {
      body += data;
    });
    req.on('end', function() {
      body = JSON.parse(body);
      resp.send({
        speech: 'Please wait...',
      });

      const sessionId = body.sessionId;

      setTimeout(() => {
        const evt = app.eventRequest({
          name: 'testevent', data: { },
        }, { sessionId });

        evt.on('response', resp2 => {
          debugger;
        });
        evt.on('error', err => {
          debugger;
        });
        evt.end();

      }, 10 * 1000);
    });
  });
};

objectには、インターフェイスに送信されるはずだった応答テキストが含まれていることがresp2わかります。result.fulfillment.speechそうではありません。

これを達成する方法はありますか?

4

1 に答える 1