Microsoft Teams アプリにボットを追加する
重要
この記事は、v3 Bot Framework SDK に基づいています。
インテリジェント ボットを構築して接続し、チャットを通じて自然に Microsoft Teams ユーザーと対話します。 または、より広範な Teams アプリ エクスペリエンスの "コマンド ライン" インターフェイスとして使用する、単純なコマンド ベースのボットを提供します。 通知専用ボットを作成すると、ユーザーに関連する情報をチャネルまたはダイレクト メッセージで直接プッシュできます。 既存の Bot Framework ベースのボットを導入し、Teams 固有のサポートを追加して、エクスペリエンスを輝かせます。
重要
ボットは 、Government Community Cloud (GCC)、GCC-High、および国防総省 (DOD) 環境で使用できます。
知っておく必要がある情報: ボット
ボットは、会話でやり取りする他のチーム メンバーと同じように表示されます。ただし、ボットには六角形のアバター アイコンがあり、常にオンラインです。
ボットの動作は、関係する会話の種類によって異なります。 Teams のボットでは、アプリ マニフェストのスコープと呼ばれるいくつかの種類の会話がサポートされています。
-
teams
チャネル会話とも呼ばれます。 -
personal
ボットと 1 人のユーザーとの会話。 -
groupChat
ボットと 2 人以上のユーザー間の会話。
詳細については、「Microsoft Teams ボットと会話する」を参照してください。
Teams アプリを使用すると、ボットをエクスペリエンスのstarにすることも、ヘルパーのみにすることもできます。 ボットは、 タブ や メッセージ拡張機能などの他の機能を含めることができる、より広範なアプリ パッケージの一部として発行されます。
ボット API
Teams では、ほとんどのMicrosoft Bot Frameworkがサポートされています。 (Bot Framework に基づくボットが既にある場合は、Teams で動作するように簡単に適応できます)。SDK を利用するには、C# または Node.js を使用することをお勧めします。 これらのパッケージは、以下の基本的な Bot Builder SDK のクラスとメソッドを拡張します。
- コネクタカードなどの特殊なカードの種類を使用してMicrosoft 365 グループします。
- アクティビティに関する Teams 固有のチャネル データの使用と設定。
- メッセージング拡張要求の処理。
SDK 拡張機能は、ボット ビルダー SDK を含む依存関係をインストールします。
- .NET .NET のボット ビルダー SDK 用の Microsoft Teams 拡張機能を使用するには、Visual Studio プロジェクトに Microsoft.Bot.Connector.Teams NuGet パッケージをインストールします。 Node.js 開発では、Microsoft Teams 機能用のボット ビルダーが v4.6 の時点で Bot Framework SDK に組み込まれています。
重要
任意の Web プログラミング技術で Teams アプリを開発し、Bot Framework REST API を直接呼び出すことができますが、すべてのトークン処理を自分で実行する必要があります。
Teams 用開発者ポータル は、アプリ マニフェストの作成と構成に役立ち、Bot Framework ボットを作成できます。 また、React 制御ライブラリと、対話型カードのビルダーも用意されています。
送信 Webhook
送信 Webhook を使用すると、ワークフローやその他の必要な単純なコマンドの開始など、基本的な操作のための単純なボットを作成できます。 送信 Webhook は、それを作成したチームにのみ存在し、会社のワークフローに固有の単純なプロセスを対象としています。 詳細については、「送信 Webhook」を参照してください。
優れたTeams ボットをビルドする
次の記事では、Teams 用の優れたボットを作成するプロセスについて説明します。
- ボットを作成する: Bot Framework チームが提供する優れたツール、ドキュメント、コミュニティを活用します。
- ボットと会話する: 基本的な会話フローを追加し、チャネル固有の機能を活用します。 .NET または Node.js で開発する場合は、ボット ビルダー SDK の拡張機能を使用して作業を簡略化します。
- ボットでカードを使用する: カードを設計して、ユーザーの応答を通信して受け入れます。
- ボット イベントに応答する
- 通知のみのボット: ボットを使用して、アプリの通知を送信します。
- コンテキストの取得: 現在のユーザーの情報を取得します。
- ボット メニュー: ボットでメニューを使用する。
- ボットとファイル: ボットからのファイルの送受信。
- ボットでタブを使用する: タブとボットを連携させる。
- ボットをテストする: 個人用またはチームの会話用にボットを追加して、ボットが動作しているのを確認します。
Bots SDK V3
重要
この記事は、v3 Bot Framework SDK に基づいています。
Teams 開発者ポータル for Teams は、ボットの構築に役立つツールであり、ボットを参照するアプリ パッケージです。 React 制御ライブラリとカード用の構成可能なサンプルも含まれています。 詳細については、「 Teams 開発者ポータル for Teams の概要」を参照してください。 次の手順では、ボットを手動で構成し、 Teams 用 Teams 開発者ポータルを使用しないことを前提としています。
Bot Framework を使用してボットを作成します。 ボットの作成後は必ず、おすすめのチャネル一覧に Microsoft Teams をチャネルとして登録します。 アプリ パッケージ/マニフェストを既に作成している場合は、生成した Microsoft アプリ ID を自由に再利用してください。
注:
ボットを Azure で作成しない場合は、こちらのリンクを使用して新しいボットを作成する必要があります (Bot Framework)。 代わりに、Bot Framework ポータルで [ボットを作成する] をクリックすると、代わりに Microsoft Azure でボットが作成されます。
Microsoft.Bot.Connector.Teams NuGet パッケージ、Bot Framework SDK、または Bot Connector API を使用してボットをビルドします。
Bot Framework Emulator を使用してボットをテストします。
Microsoft Azure などのクラウド サービスにボットをデプロイします。 または、アプリをローカルで実行し、ngrok などのトンネリング サービスを使用して、
https://45az0eb1.ngrok-free.app/api/messages
など、ボットの https:// エンドポイントを公開します。
注:
ボットと Microsoft Azure
2017 年 12 月の時点で、Bot Framework ポータルは、Microsoft Azure でのボットの登録に最適化されています。 留意事項がいくつかあります。
- Azure で登録したボット用の Microsoft Teams チャネルは無料です。 Teams チャネル経由で送信されるメッセージは、ボットの消費メッセージとしてはカウントされません。
- Azure を使用せずに新しい Bot Framework ボットの作成は可能ですが、Bot Framework ポータルで公開されなくなった、新しい Bot Framework ボットの作成を使用する必要があります。
-
Bot Framework 内のボットのリストで既存のボットのプロパティを編集する際、特に ngrok を使用している場合、ボットを初めて開発するときに一般的な "メッセージングエンドポイント" などを編集すると、[移行の状態] 列と青い [移行] ボタンが表示され、Microsoft Azure portal に移動します。 必要な場合を除き、[移行] ボタンをクリックしないでください。代わりに、ボットの名前をクリックすると、そのプロパティを編集できます:
- Microsoft Azure を使用してボットを登録する場合、ボット コードは Microsoft Azure でホストされる必要はあります。
- Azure ポータルを使用してボットを登録する場合は、Microsoft Azure アカウントを持っている必要があります。 このアカウントは無料で作成できます。 ID を作成するときに本人確認を行うには、クレジット カードを指定する必要がありますが、課金されることはありません。Teams でボットを作成して使用するのは常に無料です。
- Teams 用開発者ポータルを使用して、Teams 内でアプリとボットの情報を直接登録/更新できるようになりました。 Direct Line、Web チャット、Skype、Facebook Messenger などの他のBot Framework チャネルを追加または構成する場合にのみ、Azure portal を使用する必要があります。
関連項目
Platform Docs