IDE を使用してボットをローカルでテストおよびデバッグする

ボットをテストするときは、ボットを実行するコンテキストと、Microsoft Teams 固有のデータを必要とするボットに追加する機能の両方を考慮する必要があります。 ボットをテストするために選択したメソッドが、その機能と一致していることを確認してください。

Teams にアップロードしてテストする

ボットをテストする最も包括的な方法は、アプリ パッケージを作成して Teams にアップロードすることです。 アプリ パッケージを Teams にアップロードすることは、すべてのスコープでボットで使用できる完全な機能をテストする唯一の方法です。

アプリをアップロードするには、以下の 2 つの方法があります。

注:

マニフェストを変更してアプリを再アップロードするには、変更されたアプリ パッケージをアップロードする前にボットを削除します。 ボットをテストするには、Teams でカスタム アプリのアップロードを有効にします。 「カスタム アプリのアップロードを有効にする」を参照してください。

同じボット ID の下に異なるコンテンツを持つ複数のアプリをアップロードすることはお勧めしません。 これにより、予測できないボットの動作が発生する可能性があります。 以前のバージョンのアプリを削除またはアンインストールし、最新バージョンのみがアップロードされるようにします。 アプリが同じボット ID を共有している場合は、アプリ パッケージに必要なアクセス許可を割り当てます。 さらに、アプリのアクセス許可ポリシーとマネージド アプリの両方のアプリをアクティブ化し、ブロックされていないことを確認します。 そうしないと、アプリの使用中に問題が発生する可能性があります。

ローカルでボットのデバッグを行う

開発中にボットをローカルでホストしている場合は、ボットをテストするために ngrok などのトンネリング サービスを使用する必要があります。 ngrok をダウンロードしてインストールした後、パスに ngrok を追加し、次のコマンドを実行してトンネリング サービスを開始します。

ngrok http <port> --host-header=localhost:<port>

アプリ マニフェストで ngrok によって提供される https エンドポイントを使用します。

注:

コマンド ウィンドウを閉じて再起動すると、新しい URL が生成され、ボット エンドポイント アドレスも更新して使用する必要があります。

Teams にアップロードせずにボットをテストする

場合によっては、Teams でアプリとしてボットをインストールせずにボットをテストする必要があります。 ボットのテストには 2 つの方法があります。 ボットをアプリとしてインストールせずにテストすると、ボットが使用可能で応答していることを確認するのに役立ちます。 ただし、ボットに追加した Microsoft Teams 機能の完全な幅をテストすることはできません。 ボットを完全にテストする場合は、アップロードによるテストを参照してください。

ボット エミュレーターを使用する

Bot Framework Emulator は、ボット開発者がローカルまたはリモートでボットをテストおよびデバッグできるようにするデスクトップ アプリケーションです。 エミュレーターは、ボットとチャットし、ボットが送受信するメッセージを調べるのに役立ちます。 これは、ボットが使用可能で応答していることを確認するのに役立ちます。 ただし、エミュレーターでは、ボットに追加する Teams 固有の機能をテストすることはできません。 ボットからの応答は、Teams でのレンダリング方法の正確な視覚的表現ではありません。 これらのいずれかをテストする必要がある場合は、ボットをアップロードするのが最善策です。

詳細については、「ボット フレームワーク エミュレーターに関する完全な手順」を参照してください。

ID を使用して直接ボットに問い合わせてください

重要

  • ID を使用したボットとの会話は、テストのみを目的としています。 ボットに追加する Teams 固有の機能は機能しません。
  • 2024 年 1 月 31 日以降、ユーザーは Bot Framework や Power Virtual Agents を介して作成された Azure ボットなどの Microsoft Teams アプリに接続されていないボットとチャットできません。 開発者ポータルを使用して Azure Bot に接続された新しい Teams アプリを作成し、Teams に発行し、ユーザーがアプリのアクセス許可ポリシーを使用してアプリをインストールできるようにすることをお勧めします。 アプリをテストする場合は、カスタム アプリをアップロードし、チャットへの直接リンクを介して Azure ボットとチャットできるようにする アプリセットアップ ポリシー をユーザーに割り当てることができます。

ボットの ID を使用して、ボットとの会話を開始します。 ボットがこれらのいずれかの方法で追加されると、チャネルの会話ではアドレス指定できません。また、タブやメッセージ拡張機能などの他の Teams アプリ機能を利用することはできません。 次のいずれかの方法で会話を開始します。

  • ボットの [ボット ダッシュボード] ページの [チャネル] で、[Microsoft Teams に追加] を選択します。 Teams では、ボットとの個人用チャットが開始されます。

  • Teams 内からボットのアプリ ID を直接参照します。

    1. [ボット ダッシュボード>の詳細] に移動し、ボットの Microsoft アプリ ID をコピーします。

      詳細ページの Microsoft アプリ ID を示すスクリーンショット。

    2. Microsoft Teams を開き、[チャット] ウィンドウで [ 新しいチャット ] アイコンを選択します。 [ To: filed] に、ボットの Microsoft アプリ ID を入力します。

      スクリーンショットは、Teams の [新しいチャット] アイコンと [To] フィールドを示しています。

      アプリ ID はボット名で解決する必要があります。

    3. ボットを選択し、メッセージを送信して会話を開始します。 または、Teams の左上にある検索ボックスにボットのアプリ ID を貼り付けることもできます。 検索結果ページで、[ユーザー] タブに移動してボットを表示し、チャットを開始します。

注:

Teams でボットのアプリ ID を参照するには、 カスタム アプリのアップロードを有効にします。

ボットは、channelData オブジェクト内のチーム情報がなくても、チームに追加されたボットと同じように conversationUpdate イベントを受け取ります。

個人用チャットでボットをブロックする

ユーザーは、ボットが個人用チャット メッセージを送信できないようにすることを選択できます。 チャット チャネルでボットを右クリックし、[ ボットの会話をブロックする] を選択することで、これを切り替えることができます。 つまり、ボットはメッセージを送信し続けますが、ユーザーはメッセージを受信しません。

個人用チャットのブロック ボット会話オプションを示すスクリーンショット。

チームからボットを削除する

ユーザーは、チームのビューにあるボットの一覧でごみ箱アイコンを選択することで、ボットを削除できます。 これにより、そのチームの使用からボットのみが削除されます。 個々のユーザーは、引き続き個人的なコンテキストで対話できます。 ユーザーは、個人のコンテキストでボットを削除または無効にすることはできません。

Teams でボットを無効にする

ボットがメッセージを受信するのを停止するには、ボット ダッシュボードに移動し、Microsoft Teams チャネルを編集します。 [Microsoft Teams で有効にする] オプションをオフにします。 これにより、ユーザーはボットと対話できなくなりますが、検出は可能であり、ユーザーはボットをチームに追加できます。

Teams からボットを削除する

Teams からボットを完全に削除するには、ボット ダッシュボードに移動し、Teams チャネルを編集します。 ページの下部にある [削除] をクリックします。 Teams からボットを削除すると、ユーザーがボットを検出、追加、操作できなくなります。 Teams からボットを削除しても、他のユーザーの Teams インスタンスからボットが削除されることはありませんが、ボットの機能も停止します。

関連項目