Skip to content

Commit 9bbda25

Browse files
committed
Add diableInput in quickreplies, and customFields in message
1 parent d51eb48 commit 9bbda25

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

enum/Dialogflow.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ export interface IDialogflowMessage {
99
export interface IDialogflowQuickReplies {
1010
text: string;
1111
options: Array<IDialogflowQuickReplyOptions>;
12+
disableInput?: boolean,
13+
disableInputMessage?: string,
1214
}
1315

1416
export interface IDialogflowQuickReplyOptions {

lib/Message.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,13 @@ export const createDialogflowMessage = async (rid: string, read: IRead, modify:
1212
const { messages = [] } = dialogflowMessage;
1313

1414
for (const message of messages) {
15-
const { text, options } = message as IDialogflowQuickReplies;
15+
const { text, options, disableInput, disableInputMessage } = message as IDialogflowQuickReplies;
1616
if (text && options) {
17+
const customFields = {
18+
disableInput: !!disableInput,
19+
disableInputMessage: disableInputMessage || 'Please Wait',
20+
};
21+
1722
const elements: Array<IButtonElement> = options.map((payload: IDialogflowQuickReplyOptions) => ({
1823
type: BlockElementType.BUTTON,
1924
text: {
@@ -28,7 +33,7 @@ export const createDialogflowMessage = async (rid: string, read: IRead, modify:
2833
const actionsBlock: IActionsBlock = { type: BlockType.ACTIONS, elements };
2934

3035
await createMessage(rid, read, modify, { text });
31-
await createMessage(rid, read, modify, { actionsBlock });
36+
await createMessage(rid, read, modify, { actionsBlock, customFields: customFields.disableInput ? customFields : null });
3237
} else {
3338
// message is instanceof string
3439
if ((message as string).trim().length > 0) {
@@ -61,9 +66,14 @@ export const createMessage = async (rid: string, read: IRead, modify: IModify,
6166
return;
6267
}
6368

64-
const msg = modify.getCreator().startMessage().setRoom(room).setSender(sender);
69+
const { text, actionsBlock, attachment, customFields } = message;
70+
let data = { room, sender };
6571

66-
const { text, actionsBlock, attachment } = message;
72+
if (customFields) {
73+
data = Object.assign(data, { customFields });
74+
}
75+
76+
const msg = modify.getCreator().startMessage(data);
6777

6878
if (text) {
6979
msg.setText(text);

0 commit comments

Comments
 (0)