Telegram と Google Dialogflow でチャットボットを構築しています。Dialogflow の [統合] タブを使用して Dialogflow を Telegram に統合すると、Dialogflow は Webbhook サービスとして登録され、受信したすべての Telegram メッセージをインターセプトします。残念ながら、ステッカー、画像、Telegram 支払いチェックアウト メッセージなどの非テキスト メッセージには対応できません。
Dialogflow が受信したすべてのメッセージをフォールバック インテントのカスタム フルフィルメント Webhook に転送することを望みます。私の Webhook では、受信した本文を解析し、サポートされていないテレグラム メッセージに応じて対応することができます。
Dialogflow に FACEBOOK_MEDIA イベントがあることは知っています。このイベントは、画像が Facebook メッセンジャー経由で Dialogflow に送信されると発生します。TELEGRAM_MEDIA や TELEGRAM_UNSUPPORTED イベントのようなものはありますか?
Dialogflow でテキスト メッセージ以外の操作ができるようになりたいと思っています。
すべての Telegram メッセージを処理できるようにするには、Telegram と Dialogflow の間に別のレイヤーを追加する必要がありますか?
これまでに分析したこと:
すべての Google Dialogflow インタラクション ログを Google Cloud Stackdriver に転送します。テキスト以外のメッセージは、Dialogflow によって完全に無視されているようです。テキスト以外のメッセージをテレグラム ボットに送信しても、ログ エントリがまったく表示されません。一方、テキストを送信すると、ログとその JSON ペイロードがスタックドライバーにすぐに表示されます。
Dialogflow でフォールバック インテントを作成し、フルフィルメント セクションで「このインテントの Webhook 呼び出しを有効にする」を有効にしました。残念ながら、私のフルフィルメント関数は、テキスト以外のイベントでは起動しません。Dialogflow は最初にそれをブロックします。