プロアクティブ メッセージを送信する
プロアクティブ メッセージとは、次のようなメッセージを含むユーザーからの要求に応答していないボットによって送信されるメッセージです。
- ウェルカム メッセージ
- 通知
- 予定されたメッセージ
このステップ バイ ステップ ガイドは、ボットからプロアクティブなメッセージを送信するのに役立ちます。 次の出力が表示されます。
チャット内のプロアクティブな hello メッセージ。

アダプティブ カードとしてのプロアクティブな hello メッセージ。

前提条件
次をインストールしてください。
- Visual Studio 2019
- ASP.NET と Web 開発、または .NET Core クロスプラットフォーム開発ワークロード
- ngrok: 最小限の労力でローカル開発サーバーをインターネットに公開できるクロスプラットフォーム アプリケーション
- 無料のTeams開発者テナントを取得する
ローカル環境を設定する
サンプル コード (Zip ファイル) をダウンロードし、ファイルを抽出します。
抽出されたファイルに移動し、 ProactiveBot.csproj をダブルクリックします。 ソリューションがVisual Studioで開きます。
Visual Studioで、プロジェクト (ProactiveBot) を右クリックし、[ビルド] を選択してソリューションをビルドします。

トラブルシューティング
パッケージが見つからない というエラーが発生した場合は、次の手順に従います。
- ツール > NuGet パッケージ マネージャーパッケージ マネージャー 設定 > に移動します。
- 表示される [オプション] ウィンドウで、[NuGet パッケージ マネージャー > Package ソース] を選択します。
- [追加] を選択します。
- [名前] フィールドと
https://api.nuget.org/v3/index.json[ソース] フィールドに入力nuget.orgします。 - [ 更新] と [OK] を選択します。
- プロジェクトをリビルドします。
解凍して ngrok をインストールします。
- Windows: ダブルクリックします
ngrok.zip。 - Linux または OS X: ターミナルから ngrok を解凍し、コマンドを
unzip /path/to/ngrok.zip実行します。
- Windows: ダブルクリックします
コマンド ラインから次の引数を指定して ngrok を実行します。
ngrok http 3978 --host-header=localhost次の手順で ngrok ベース URL として参照するには、ngrok URL (画像で強調表示されているように) をコピーします。

アプリTeams作成してインストールする
App Studio Teams >に移動し、ダウンロードした
AppManifest.zipサンプル コード (Zip ファイル) で使用できるファイルをインポートします。
[ボットの > セットアップ] を選択 します。

[ボットのセットアップ] ウィンドウで、「名前 」(プロアクティブ メッセージ デモ など) と入力します。
[ 個人用 ] を選択し、[ ボットの作成 ] を選択してボットを作成します。

(コピーした) ngrok ベース URL に /api/messages を追加し、 ボット エンドポイント アドレス として設定します。 URL は次のようになります
https://yourngrokdomain.ngrok.io/api/messages。
変更が有効になるまで数秒待ちます。
時間がかかる場合は、[ タブ] を選択し、[ Bots ] セクションを選択して強制的に更新します。
[新しいパスワードの生成] を選択して新しいアプリ パスワードを生成し、それをコピーします。

Visual Studioに移動し、appsettings.json ファイルを 開きます。 の値
MicrosoftAppPasswordとしてパスワードを貼り付けます。App Studio に移動し、アプリ ID をコピーします。

Visual Studioに移動し、appsettings.json ファイルを 開きます。 アプリ ID を値
MicrosoftAppIdとして貼り付けます。appsettings.json次の設定値があります。
F5 キーを押すか、IIS Express を選択してコードを実行します。

対応するプロアクティブ なメッセージ サンプルが表示されます。

**テストに移動し、**インストール を配布 > して、同じアプリをもう一度インストールします。

チャットで
http://localhost:3978/api/notifyプロアクティブな Hello メッセージを取得する URL を選択します。
Teamsに移動します。 インストールが成功すると、ボットからプロアクティブな hello メッセージが表示されます。

アダプティブ カードをプロアクティブ メッセージに追加する
Visual Studioで、デバッグ プロセスを停止します。

[依存関係] を右クリックし、[NuGet パッケージの管理] を選択します。

NuGet ProactiveBot で、[参照] を選択し、[AdaptiveCards] を検索します。
[インストール] を選択します。

NotifyController.cs ファイルを開き、既存
BotCallbackのコードを次のコードに置き換えてアダプティブ カード メッセージを送信します。private async Task BotCallback(ITurnContext turnContext, CancellationToken cancellationToken) { AdaptiveCard card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0)); card.Body.Add(new AdaptiveTextBlock() { Text = "Proactive Hello", Size = AdaptiveTextSize.ExtraLarge }); card.Body.Add(new AdaptiveImage() { Url = new Uri("http://adaptivecards.io/content/cats/1.png") }); Attachment attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = card }; await turnContext.SendActivityAsync(MessageFactory.Attachment(attachment)); }波線の赤い線にマウス ポインターを合わせ、 AdaptiveCards を使用して エラーを解決します。

F5 キーを押してコードを実行します。
Teamsに移動し、アプリをアンインストールします。

同じアプリを再インストールしてイベントを取得します
conversationUpdate。[api/notify] URL を
(http://localhost:3978/api/notify)選択して、アダプティブ カードでプロアクティブな hello メッセージを取得します。
チャレンジを完了する
このようなことを思い付いたのですか? アダプティブ カードでのプロアクティブな hello メッセージの表示方法は次のとおりです。

おめでとうございます。
シナリオを完了しました。
- 毎日通知を送信したり、定期的にユーザーからのフィードバックを要求したりできます。
- 調整の制限を処理して、複数の通知を回避します。
このセクションに問題がある場合 このセクションを改善できるよう、フィードバックをお送りください。