Schnell Antworten in Webchat- Bot Framework (NodeJS)

stimmen
1

Messenger bietet schnelle Antwort Schaltflächen für die Bots , wie gezeigt hier

Allerdings war ich interessiert das gleiche auf Microsoft Bot Framework-Chat-Schnittstelle zu erhalten. Ich dachte, ein C # Verfahren für das gleiche zu tun, die wie unten:

  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 }
    }
};

Wie kann ich das gleiche in NodeJS implementieren?

Aktualisiert 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 funktioniert nicht. Ich bin die unten in Eingabeaufforderung zu sehen.

.BotBuilder:prompt-choice - Prompt.returning([object Object])
.BotBuilder:prompt-choice - Session.endDialogWithResult()
/ - Session.endDialogWithResult()
Veröffentlicht am 22/11/2017 um 14:29
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Es gibt eine Probe in dem botbuilder Repo , dass dies demonstriert. Unten ist ein Ausschnitt:

var restify = require('restify');
var builder = require('../../core/');

// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
   console.log('%s listening to %s', server.name, server.url); 
});

// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});

var bot = new builder.UniversalBot(connector);
server.post('/api/messages', connector.listen());

bot.use(builder.Middleware.dialogVersion({ version: 1.0, resetCommand: /^reset/i }));

bot.dialog('/', [
    function (session) {

        var msg = new builder.Message(session)
            .text("Hi! What is your favorite color?")
            .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) {
        builder.LuisRecognizer.recognize(results.response.entity,"Model URL", function(error, intents, entities){
                //your code here
        })
    },

]);
Beantwortet am 22/11/2017 um 17:07
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more