1

Ich habe einen Facebook Messenger Bot (geschrieben in NodeJS) und ein separates Control Panel, wo ein Benutzer die Informationen verwalten kann, mit denen der Bot arbeitet (wie Inventar, etc.). Eines dieser Dinge ist ein Protokoll aller Gespräche zwischen dem Bot und einem Besucher. Über das Control Panel können Admin-Benutzer über den Bot Nachrichten an Besucher senden. Es gibt ein Eingabefeld, in das sie eine Nachricht eingeben können. Wenn sie auf "Senden" klicken, wird die Nachricht an die Bot-App gesendet, die sie dann über die Sende-API an den Benutzer zurücksendet.Facebook Messenger Chatbot Nachrichten Tagging (von Art)

Nachrichten werden in einer Datenbank protokolliert; Diejenigen, die zum Bot gehen (vom Besucher) werden protokolliert, wenn sie empfangen werden, und diejenigen, mit denen der Bot antwortet, werden über den 'Echo'-Callback protokolliert.

Das Problem dabei ist, dass der Bot auf bestimmte Besucher Befehle (Phrasen) antworten kann und versucht, bestimmte Aktionen basierend auf der Eingabe durchzuführen. Ich benutze Wit.ai dafür, aber aufgrund des Umfangs der möglichen Phrasen und Schlüsselwörter ist der Standardmodus, wenn jemand eine Textnachricht sendet, an Wit.ai zur Verarbeitung zu senden. Wenn ein Admin-Benutzer dem Besucher jedoch eine Nachricht von der Systemsteuerung sendet, möchte der Besucher möglicherweise auf diese Nachricht antworten (statt einen Bot-Befehl zu senden) und diese Antwort sollte nicht zur Verarbeitung an Wit.ai weitergeleitet werden. Und aufgrund des bloßen Ausmaßes an möglichen Variationen dessen, was gesagt werden kann, gekoppelt mit der Tatsache, dass sie tatsächlich einige der Schlüsselwörter in der Antwort auch verwenden können, ist die Verarbeitung der Absicht mit Wit.ai in diesem Fall zu unsicher.

Ich frage mich, ob es eine Möglichkeit gibt, irgendwie die Quelle der Nachrichten zu identifizieren/zu markieren, die der Bot an den Besucher sendet. Wenn also ein Echo-Callback kommt, kann ich wissen, ob es sich um eine normale Bot-Routine handelt aus einer vom Benutzer eingegebenen Antwort. Wie einige zusätzliche Meta-Tags, die mit der Nachricht gesendet werden könnten, die auch mit dem Echo zurückgegeben wird, aber die Nachricht selbst nicht verschmutzt. Ist so etwas möglich? Oder gibt es einen anderen Weg, um dasselbe Ergebnis zu erzielen?

Antwort

Verwandte Themen