2016-10-13 2 views
-1

J'ai vraiment aimé la fonction de réponse rapide Facebook qui nous aide à guider la conversation avec l'utilisateur. Mon contexte est que je construis un bot de remplissage de formulaire. Il y a quelques questions posées à un utilisateur avant qu'il ne soit redirigé vers la page appropriée. Les questions et leurs options se présentent sous la forme d'un objet JSON. Je voudrais faire de la question un message texte et les options comme des réponses rapides. Cela aiderait grandement l'utilisateur à répondre rapidement aux quelques questions et à remplir le formulaire. Je suis coincé au point où j'ai besoin de remplir les options de réponses rapides avec les options des questions. J'utilise le cadre de constructeur Microsoft Bot pour construire le botComment pouvons-nous remplir de façon dynamique des réponses rapides de facebook messeger à partir d'un objet JSON?

Répondre

1

caractéristiques de canal (tels que les réponses rapides de Facebook) sont pris en charge par le ChannelData (C#)/sourceEvent (node) champs. Vous devez donc envoyer les informations spécifiques afin que Facebook puisse les comprendre et réagir en conséquence.

Here est un exemple rapide montrant comment envoyer des réponses rapides de Facebook.

var channelData = JObject.FromObject(new 
     { 
      quick_replies = new dynamic[] 
      { 
       new 
       { 
        content_type = "text", 
        title = "Blue", 
        payload = "DEFINED_PAYLOAD_FOR_PICKING_BLUE", 
        image_url = "https://cdn3.iconfinder.com/data/icons/developperss/PNG/Blue%20Ball.png" 
       }, 
       new 
       { 
        content_type = "text", 
        title = "Green", 
        payload = "DEFINED_PAYLOAD_FOR_PICKING_GREEN", 
        image_url = "https://cdn3.iconfinder.com/data/icons/developperss/PNG/Green%20Ball.png" 
       }, 
       new 
       { 
        content_type = "text", 
        title = "Red", 
        payload = "DEFINED_PAYLOAD_FOR_PICKING_RED", 
       } 
      } 
     }); 

     reply.ChannelData = channelData; 

Vous pouvez également trouver plus de détails sur la façon d'utiliser les nouvelles fonctionnalités de Facebook avec BotFramework dans ce blog post.

Veuillez noter que dans le cas particulier des réponses rapides, l'équipe BotFramework leur ajoute un support dans la bibliothèque. Le commit est toujours dans la branche de développement; donc ce n'est pas encore public (vous pouvez toujours construire la bibliothèque et faire référence à cela à la place du public NuGet)

+0

Merci Ezequiel Jadib. J'ai manqué de mentionner un obstacle de plus. Le nombre d'options varie, c'est-à-dire que certaines questions ont 3 options tandis que d'autres en ont 6. – Ani110591

+0

Merci Ani110591. Je ne comprends pas quel est le problème avec ça. Quick Replies prend en charge jusqu'à 10 boutons, je pense –

+0

de sorte que le lien que vous avez donné mentionne une classe Helper, où une charge prédéfinie peut être remplie. Mais j'ai besoin de faire un ensemble dynamique d'options qui varient entre 3 et 6 options selon le nombre d'options qui viennent en réponse à un ping sur l'API des questions. – Ani110591