Risposte rapide in quadro Bot Webchat- (Nodejs)

voti
1

Messenger offre pulsanti rapidi di risposta per i bot, come mostrato qui

Tuttavia, ero interessato a ottenere la stessa Microsoft Bot Framework Chat Interface. Ho capito un metodo C # per fare lo stesso, che è la seguente:

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

Come posso implementare la stessa in Nodejs?

codice aggiornato:

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 non funziona. Sto vedendo il seguito nel prompt dei comandi.

.BotBuilder:prompt-choice - Prompt.returning([object Object])
.BotBuilder:prompt-choice - Session.endDialogWithResult()
/ - Session.endDialogWithResult()
È pubblicato 22/11/2017 alle 14:29
fonte dall'utente
In altre lingue...                            


1 risposte

voti
1

C'è un campione nella repo botbuilder che dimostra questo. Di seguito è riportato un frammento:

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
        })
    },

]);
Risposto il 22/11/2017 a 17:07
fonte dall'utente

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