2017-05-21 2 views
0

Actuellement, j'ai un code Python. Ce processus le message incomming d'un utilisateur de messagerie Facebook. Mais ceci est une discussion passive contre le bot de chat. J'aimerais faire ce qui suit.fb messager bot: bot demander à l'utilisateur

User: Pay 
Bot: Please type the username of the person you want to pay. 
User: eddwinpaz 
Bot: Please type the amount you want to send. 
User: 100.00 
Bot: Are you sure you want to send 100.00 to Eddwinpaz? 

Certains comment si l'utilisateur dans cette conversation ne répond à l'ordre exact de l'application ne sera pas en mesure de faire le paiement. Il existe un moyen d'obtenir le texte précédent et de voir s'il répond dans le bon ordre. Ou donner une certaine logique afin de stocker dans un session_array [sender_id, nom d'utilisateur, montant] et après avoir envoyé un bouton à l'utilisateur (Oui, Non), je peux réellement effectuer le paiement. Parce que j'ai besoin de stocker sur le serveur les valeurs concernant une question. L'autre exemple est.

Bot: what is your email? 
User: [email protected] 
Bot: your email has been saved! 
+0

Qu'en est-il de la validation des entrées? Par exemple, une première réponse doit être un nom d'utilisateur valide qui existe dans le système de paiement? Le second est un chiffre valide, etc –

+0

mais de toute façon j'ai besoin de connaître le contexte. Parce que je n'ai que la réponse mais ne comprends pas le contexte. Je peux obtenir un Oui mais oui de quoi? :(Im essayant de stocker ceci sur une session mais toujours à partir de quelle question ce texte vient-il des formes html tiennent le nom = "myfield" et la valeur = "myvalue" – eddwinpaz

+0

Si je fais une question au bot je peux y répondre. Quel est le temps .. mais pas l'inverse Parce que bot connaît le contexte mais je ne le fais pas – eddwinpaz

Répondre

1

Facebook ne fournit pas une façon de ce faire, il vous appartient de gérer l'état dans votre code.

Voilà à quoi servent les frameworks de bot! Gestion de la conversation, aka gestion d'état. Il s'agit soit de maintenir les messages passés dans un db pour avoir un état, soit de maintenir des "conversations" en mémoire.

Il n'y a pas de "bonne" façon de le faire (à mon avis) et si vous voulez une réponse simple à votre question, c'est: utiliser un framework bot au lieu d'écrire cette fonctionnalité à partir de zéro.