会話の基本

重要

このセクションのコード サンプルは、バージョン 4.6 以降のバージョンの Bot Framework SDK に基づいています。 以前のバージョンのドキュメントをお探しの場合は、ドキュメントのレガシ SDK フォルダーの ボット - v3 SDK セクションを参照してください。

会話とは、Microsoft Teams ボットと 1 人以上のユーザーの間で送信される一連のメッセージです。 次の表に、Teams のスコープとも呼ばれる 3 種類の会話を示します。

会話の種類 説明
channel この会話の種類は、チャネルのすべてのメンバーに表示されます。
personal この会話の種類には、ボットと 1 人のユーザー間の会話が含まれます。
groupChat この会話の種類には、ボットと 2 人以上のユーザー間のチャットが含まれます。 また、会議チャットでボットを有効にすることもできます。

ボットは、関係する会話に応じて動作が異なります。

  • チャネル内やグループ チャット内の会話の場合、ユーザーはボットを @mention してチャネルに呼び出す必要があります。

  • 1 対 1 の会話の場合、ボットを @mention する必要はありません。 ユーザーによって送信されたすべてのメッセージは、ボットにルーティングされます。

ボットは、リソース固有の同意 (RSC) アクセス許可を使用せずに @mentioned 、チーム内のすべてのチャネルとチャット メッセージを受信できます。 すべての チャット メッセージの RSC は、Teams の パブリック開発者プレビューでのみ使用できます。 詳細については、「 RSC を使用してすべての会話メッセージを受信する」を参照してください。

ボットが特定の会話またはスコープで動作するには、 アプリ マニフェストでそのスコープにサポートを追加します。

ボット会話内の各メッセージは、 ActivitymessageType: messageのオブジェクトです。 ユーザーがメッセージを送信すると、Teams によってボットにメッセージが投稿され、ボットによってメッセージが処理されます。 さらに、ボットが応答するコア コマンドを定義するために、ボットのコマンドのドロップダウン リストを含むコマンド メニューを追加できます。 グループまたはチャネル内のボットは、 が言及 @botnameされている場合にのみメッセージを受信します。 Teams はボットがアクティブな範囲で発生する会話イベントの通知をボットに送ります。 コードでこれらのイベントをキャプチャし、それらに対してアクションを実行できます。

ボットは、プロアクティブ メッセージをユーザーに送信することもできます。 プロアクティブ メッセージとは、ユーザーからのリクエストに応答しないボットによって送信されるメッセージのことです。 ボット メッセージを書式設定して、ボタン、テキスト、画像、オーディオ、ビデオなどの対話型要素を含むリッチ カードを含めることができます。 ボットは、メッセージをデータの静的スナップショットとして使用するのではなく、送信後にメッセージを動的に更新できます。 Bot Framework のメソッドを使用してメッセージを DeleteActivity 削除することもできます。ボットへの送信要求には、ヘッダーに会話 ID とテナント ID が表示されます。

通知ボットは、プレーン テキストまたはアダプティブ カードとして通知を送信する会話ボットの一種です。 通知ボット テンプレートは、HTTP 投稿要求によってトリガーされたアダプティブ カードを使用して Teams にメッセージを送信するアプリを作成します。

コマンド ボットは、アダプティブ カードを使用してチャットで送信される簡単なコマンドに応答できる会話ボットの一種です。 アダプティブ カードを使用して UI を表示することで、Teams でコマンド ボット テンプレートを作成してチャット コマンドに応答できます。

ワークフロー ボットは、アダプティブ カード内のユーザーと対話する会話ボットの一種です。 ボットがアダプティブ カードをユーザーに送信する方法をカスタマイズできます。

会話ボットに SSO 認証を追加する

次の手順を使用して、会話ボットにシングル サインオン認証を追加できます。

次の手順

関連項目