Я написал бота на Microsoft Bot Framework. Я использовал языковую модель LUIS. Ниже мой кусок кода:
bot.use(builder.Middleware.dialogVersion({ version: 1.0, resetCommand: /^reset/i }));
bot.dialog('/', intents);
intents.matches('GoogleHome', [
function (session, args) {
if(builder.EntityRecognizer.findEntity(args.entities, 'cookingtips'))
{
quickReply(session, args)
}
if(builder.EntityRecognizer.findEntity(args.entities, 'wakingtips'))
{
//My rest of the code
}
}])
Вот код моего быстрого ответа
function quickreply(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, "CookingTips", "CookingTips"),
builder.CardAction.imBack(session, "WalkingTips", "WalkingTips")
]
)
);
builder.Prompts.choice(session, msg, ["CookingTips", "WalkingTips"]), function(session,results) {
console.log(results);
session.send('So I understand you want a cooking tip ' + results + ' right now');
session.endDialog();
}}
Я могу получить быстрый ответ и при нажатии на который ничего не происходит. Я вижу в своей консоли следующее:
.BotBuilder:prompt-choice - Prompt.returning([object Object])
.BotBuilder:prompt-choice - Session.endDialogWithResult()
/ - Session.endDialogWithResult()
Вместо этого я хочу, чтобы это сообщение было отправлено в мой LUIS или, по крайней мере, отображало сообщение подтверждения, как написано в функции обратного вызова. Как мне это сделать?