iva-studio-workspace/IVA-Wakeup/global/gvf_handleIVAWakeupEvent.js

39 lines
1.5 KiB
JavaScript

return {
async handleIVAWakeupEvent(event, req, session, settings, redis, smStr, channel, eventPayload) {
try {
const ivaWakeupText = `<p><br data-mce-bogus="1"></p><p><br data-mce-bogus="1"></p><p>IVA-Wakeup</p>`;
if (event.text === ivaWakeupText) {
const nluSettings = settings.nlu;
const result = await axios.post(
`${nluSettings.apiBaseURL}Model/run/${req.params.workspaceId}/${req.params.branch}/${nluSettings.modelName}`,
{
input: "CaseSetup",
conversationId: session.conversationId,
settings: nluSettings.settings,
sessionId: event.sessionId
}
);
eventPayload.options = result?.data?.options;
eventPayload.metadata = {
outputs: result.data?.outputs,
channel: channel
};
eventPayload.input = result.data.answers[0];
eventPayload.metadata.outputs.disableMessengerInput = true;
eventPayload.metadata.outputs.datacollect = true;
await redis.hSet(smStr, {
formFlow: "true",
datacollect: "true",
sentdata: "false"
});
}
} catch (e) {
console.info("Error with IVA-Wakeup");
console.error(e);
}
}
};