Messenger provides quick reply buttons for the bots as shown here
However, I was interested to get the same on Microsoft Bot Framework Chat Interface. I figured out a C# method for doing the same which is as below:
var reply = activity.CreateReply("Hi, do you want to hear a joke?");
reply.Type = ActivityTypes.Message;
reply.TextFormat = TextFormatTypes.Plain;
reply.SuggestedActions = new SuggestedActions()
{
Actions = new List<CardAction>()
{
new CardAction(){ Title = "Yes", Type=ActionTypes.ImBack, Value="Yes" },
new CardAction(){ Title = "No", Type=ActionTypes.ImBack, Value="No" },
new CardAction(){ Title = "I don't know", Type=ActionTypes.ImBack, Value="IDontKnow" }
}
};
How can I implement the same in Nodejs?
Updated code:
getMyID(session, args){var msg = new builder.Message(session)
.text("Let me know the date and time you are comfortable with..")
.suggestedActions(
builder.SuggestedActions.create(
session,[
builder.CardAction.imBack(session, "green", "green"),
builder.CardAction.imBack(session, "blue", "blue"),
builder.CardAction.imBack(session, "red", "red")
]
)
);
builder.Prompts.choice(session, msg, ["green", "blue", "red"]), function(session, results) {
console.log(results);
session.send('I like ' + results + ' too!');
}}
How to take response from the choices and send message to user from inside this function (the current callback function is not being triggered)?
Console.log is not working. I am seeing the below in command prompt.
.BotBuilder:prompt-choice - Prompt.returning([object Object])
.BotBuilder:prompt-choice - Session.endDialogWithResult()
/ - Session.endDialogWithResult()