0

I'm using Dialogflow as the handler for my botbuilder endpoint, which is a Azure Bot Service bot, and the handler is deployed on a Firebase Cloud Function, but for every botframework request I make, the function returns a 202 (that's the default behaviour of botbuilder I believe), and the function stops working in the middle of the code. I saw in this response from Frank van Puffelen that the functions may halt if there's a response from the function.
Cloud Functions for Firebase: serializing Promises

Is this enough to stop my function from executing? If so, is there a way to stop this from happening?

Edit: I'm using the Universal Bot to setup the callback for the messages. const bot = new builder.UniversalBot(this.connector, botFrameworkCallback) .set('storage', new builder.MemoryBotStorage());

And here's the botFrameworkCallback:

const botFrameworkCallback = (session) => {
  const message = session.message.text;
  const userRef = new UserRef('user');
  let userInfo;
  userRef
    .get()
    .then((userInformation) => {
      console.log('user information', userInformation);
      userInfo = userInformation;
      const userData: IUser = {
        ...userInfo,
        ref: userRef
      };
      return makeDialogflowRequest(userData, message);
    })
    .then((intentResult: any) => {
      console.log('intent result', intentResult);
      const response = intentResult.answer;
      session.send(response);
    })
    .catch((err) => {
      console.log('Error on BotFramework', err);
      const response = 'Sorry. An error happened while getting your response.';
      session.send(response);
    });
}

The whole integration part is there to give user specific responses, so this code does a lot of API requests, like Firestore ones, the Dialogflow one, and because of that we've set it up this way.

william
  • 585
  • 3
  • 14

0 Answers0