2017-10-19 16 views
0

Quelle est la différence entre SuggestedActions et la classe Keyboard dans BotFramework?ProposedActions vs Keyboard dans BotFramework?

J'essaie actuellement de lancer une cascade où je présente une question, l'utilisateur choisit une option et je saute à l'étape suivante dans la cascade. Je l'ai mis en œuvre les boutons avec des actions proposées comportent

const msg = new builder.Message(session) 
    .text("Which pair? \nExample: ETH BTC") 
    .suggestedActions(
    builder.SuggestedActions.create(
     session, [ 
      builder.CardAction.postBack(session, "BTC USD", "BTC USD"), 
      builder.CardAction.postBack(session, "ETH USD", "ETH USD"), 
      builder.CardAction.postBack(session, "ETH BTC", "ETH BTC"), 
      builder.CardAction.postBack(session, "XRP BTC", "XRP BTC"), 
      builder.CardAction.postBack(session, "ZEC USD", "ZEC USD") 
     ] 
    )); 
session.send(msg); 

La même chose est aussi faisable avec classe Clavier

const msg = new builder.Message(session) 
    .text("Which pair? \nExample: ETH BTC") 
    .addAttachment(new builder.Keyboard(session) 
     .buttons([ 
      builder.CardAction.postBack(session, "BTC USD", "BTC USD"), 
      builder.CardAction.postBack(session, "ETH USD", "ETH USD"), 
      builder.CardAction.postBack(session, "ETH BTC", "ETH BTC"), 
      builder.CardAction.postBack(session, "XRP BTC", "XRP BTC"), 
      builder.CardAction.postBack(session, "ZEC USD", "ZEC USD") 
     ]).toAttachment() 
    ) 
session.send(msg); 

Comment capturer la réponse de ce bouton dans la prochaine étape de chute d'eau ou devrais-je passer à en utilisant des invites à la place. De plus, quelle est la différence entre cela et la classe du clavier

Répondre

1

SuggestedActions est le remplacement de Keyboard (par exemple in C# vous verrez qu'ils trucs liés à clavier marqués comme obsolète).

Pour capturer la réponse, vous pouvez envoyer les actions suggérées dans le cadre d'un choix rapide, comme indiqué dans l'exemple feature-suggestedActions.

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) { 
     session.send('I like ' + results.response.entity + ' too!'); 
    } 
]);