ボット構成の問題のトラブルシューティング

この記事の対象: SDK v4

ボットでは、さまざまなエラー (応答できない、エラーをスローする、あるチャンネルでは動作しているが他では動作しないなど) が発生する可能性があります。 ボットのトラブルシューティングの最初の手順は、Web チャットでテストすることです。 これにより、自分のボットに固有の問題か (ボットがどのチャネルでも機能しない)、特定のチャネルに固有の問題か (機能するチャネルと機能しないチャネルがある) を判断できます。

Web チャットでのテスト

  1. Azure portal でボット リソースを開きます。
  2. [Test in Web Chat]\(Web チャットでのテスト\) ウィンドウを開きます。
  3. ボットにメッセージを送信します。

Test In Web Chat

ボットが想定されている出力で応答しない場合は、「ボットが Web チャットで機能しない」に進みます。 それ以外の場合は、「ボットが Web チャットでは機能するが他のチャネルでは機能しない」に進みます。

ボットが Web チャットで機能しない

ボットが機能しない理由は複数考えられます。 ほとんどは、ボット アプリケーションが停止していてメッセージを受信できない場合や、ボットがメッセージを受信しても応答に失敗する場合です。 考えられる原因のいくつかを次に示します。

  • ボットがダウンしていて、到達できない。
  • ボットがクラッシュしている。
  • ボットのエンドポイントが正しくない。
  • ボットは正常にメッセージを受信しているが、応答できない。

ボットが動作しているかどうかを確認するには:

  1. [概要] ウィンドウを開きます。
  2. [Messaging endpoint]\(メッセージング エンドポイント\) をコピーし、ブラウザーに貼り付けます。

エンドポイントから HTTP エラー 404 または 405 が返される場合は、ボットが到達可能であり、ボットがメッセージに応答できることを示しています。 タイムアウトの問題を調査する場合は、タイムアウトまたは HTTP 5xx エラーでの失敗に関する記事をご覧ください。

エンドポイントから "このサイトに到達できない" または "このページに到達できない" というエラーが返される場合は、ボットが停止しているため、再デプロイする必要があることを示しています。

ボットが Web チャットでは機能するが他のチャネルでは機能しない

ボットが Web チャットでは想定どおりに機能し、他のチャネルでは失敗する場合、次の理由が考えられます。

チャネル構成の問題

ボットのユーザー名とパスワードなどのチャンネル構成パラメーターが正しく設定されていないか、外部から変更された可能性があります。 たとえば、ボットが特定のページの Facebook チャンネルで構成され、そのページが後で削除された場合などです。 最も簡単な解決策は、チャネルを削除し、チャネル構成を新たにやり直すことです。

サポートされているチャネルの一覧と、各チャネルの構成手順については、「ボットをチャネルに接続する」の「チャネル リスト」を参照してください。

チャネル固有の動作

一部の機能の実装はチャネルによって異なります。 たとえば、すべてのチャネルでアダプティブ カードがサポートされているわけではありません。 ほとんどのチャンネルでアクション (ボタン) がサポートされますが、チャンネル固有の方法でレンダリングされます。 一部のメッセージの種類が、チャネルによって動作が異なる場合は、チャネル リファレンス記事を調べます。

個々のチャネルに役立つリンクを次に示します。

チャネルの停止

一部のチャネルでサービスの中断が発生することがあります。 通常、このような停止が長時間続くことはありません。 ただし、停止が疑われる場合は、チャンネルの Web サイトまたはソーシャル メディアを調べてください。

チャネルが停止しているかどうかを判断するもう 1 つの方法は、テスト ボット (単純なエコー ボットなど) を作成してチャネルを追加することです。 テスト ボットが動作するチャネルと動作しないチャネルがある場合、問題の原因は運用環境のボットにはありません。

追加情報

ボットをデバッグする方法に関する記事、およびそのセクションに示されているデバッグに関するその他の記事をご覧ください。