How access variable request/ response in another file js

73 views Asked by At

I have a lot of function in my index.js for my webhook, and i wish split functions to different js files to my code is more clean.

I have not problem to use agent, but I don't know how I can have an access of variable "request" (to have the parameters receipt) in another file.

I tried this :

Index.js

// See https://github.com/dialogflow/dialogflow-fulfillment-nodejs
// for Dialogflow fulfillment library docs, samples, and to report issues
'use strict';

const functions = require('firebase-functions');
const { WebhookClient } = require('dialogflow-fulfillment');
const { Payload } = require('dialogflow-fulfillment');
const Test = require("./Test"); //File with an function

process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  
  function fallback(agent) {
    agent.add(`I didn't understand`);
    agent.add(`I'm sorry, can you try again?`);
  }
}

  let intentMap = new Map();
  intentMap.set("intent-test", Test.welcome);
  intentMap.set("intent-test", fallback);
  agent.handleRequest(intentMap);
});

Test.js

exports.welcome = (agent) => {
    agent.add("Hello World !");
    console.log(request); // How can I have a access to the variable "request" / "response
};

Do you have a solution please ?

1

There are 1 answers

0
rmesteves On

While I understand that you are not having any problems with your agent, there are some limitations when using the DialogFlow Inline editor. As you can see below, one of the limitations is that you can only work with two files: index.js and package.json. That means that all your Fulfillments should be inside your index.js file and you can't split it in more files.

enter image description here