Skip to content
This repository was archived by the owner on Oct 23, 2023. It is now read-only.

Commit 69eddd6

Browse files
author
Corentin Chardeau
committed
Add fulfillmentText to MessagesResponse when requestSource is other
1 parent 86a844a commit 69eddd6

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

src/v2-agent.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,30 @@ class V2Agent {
213213
*/
214214
addMessagesResponse_(requestSource) {
215215
let messages = this.buildResponseMessages_(requestSource);
216-
if (messages.length > 0) {
216+
if (messages.length > 0 && requestSource) {
217217
this.addJson_({fulfillmentMessages: messages});
218+
} else if (messages.length > 0) {
219+
const fulfillmentText = this.getFulfillmentText_(requestSource);
220+
this.addJson_({
221+
fulfillmentMessages: messages,
222+
...(fulfillmentText && {fulfillmentText}),
223+
});
224+
}
225+
}
226+
227+
/**
228+
* Get v2 fulfillment text based on developer defined response messages
229+
*
230+
* @private
231+
* @param {string} requestSource string indicating the source of the initial request
232+
* @return {string} message objects
233+
*/
234+
getFulfillmentText_() {
235+
const textMessages = this.agent.responseMessages_.filter((message) => (message.ssml || message.text));
236+
if (textMessages.length > 0) {
237+
return (textMessages[0].ssml || textMessages[0].text);
218238
}
239+
return null;
219240
}
220241

221242
/**

test/webhook-integration-v2-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ const mockSimulatorV2ResponseOther = {
248248
quickReplies: {quickReplies: ['Quick Reply', 'Suggestion']},
249249
},
250250
],
251+
fulfillmentText: 'This message is from Dialogflow\'s Cloud Functions for Firebase editor!',
251252
outputContexts: [
252253
{
253254
name:

0 commit comments

Comments
 (0)