1

Facebook Messengerボット(NodeJSで書かれています)と、ボットが作業している情報(在庫在庫など)をユーザーが管理できる別のコントロールパネルがあります。これらの事の1つは、ボットと訪問者の間のすべての会話のログです。コントロールパネルでは、管理者ユーザーはボットを介して訪問者にメッセージを送信できます。メッセージに入力できる入力ボックスがあり、[送信]をクリックすると、メッセージはボットアプリに送信され、送信APIを介してユーザーに返されます。FacebookメッセンジャーChatbotメッセージのタグ付け

メッセージはデータベースに記録されます。 (訪問者から)ボットに行くものは、受信時に記録され、ボットが応答するものは 'echo'コールバックを通じて記録されます。

この問題は、ボットが特定の訪問者コマンド(フレーズ)に返信して、入力に基づいて特定のアクションを実行しようとすることが問題です。私はこれにWit.aiを使用していますが、可能なフレーズとキーワードの範囲により、誰かがテキストメッセージを送信する際のデフォルトモードは、処理のためにWit.aiに送信することです。ただし、管理者が訪問者にコントロールパネルからメッセージを送信した場合、訪問者はそのメッセージに応答することができ(ボットコマンドを送信する代わりに)、その応答は処理のためにWit.aiに送られるべきではありません。そして、言い換えることの可能なバリエーションの可能性のある範囲のために、彼らは実際に応答のキーワードのいくつかを使用することができるという事実と相まって、その場合Wit.aiで意図を処理することはあまりにも不確実です。

ボットが訪問者に送信するメッセージのソースを何らかの方法で識別/マークする方法があるのだろうかと思っていたので、エコーコールバックが来たときに、それが正規のボットルーチンかユーザーが入力した返信からエコーとともに返されるメッセージとともに送信される可能性のあるいくつかの追加のメタタグと同様ですが、メッセージ自体を汚染しません。それが可能なのでしょうか?あるいは、私は同じ結果を達成する別の方法があります。

答えて

関連する問題