MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

Bot Framework Composer で作成した Bot を Teams に追加する手順

f:id:mofumofu_dance:20210616234241p:plain

はじめに

Bot Framework Composer (以降 Composer) を使った Bot 作成を勉強していましたが、作成した Bot を Teams に配置するところでハマったので手順をメモしておきます。

Composer (v2.0) で Bot を作成、Azureに配置する部分は Microsoft MVP の 瀬尾さん が書かれたハンズオン資料ですべてカバーされています。

github.com

Composer は環境のセットアップこそ必要ですが、コードを一切書かなくてもいろんなチャンネルでうごくBotを作成できるので、とても便利ですね。

ということでハマったところを順に。

ポイント1. 発行プロファイルの作成でハマった!

名前かぶってるとうまく進まない問題でハマりました。

Composer から Azure に Bot を発行する場合には、Azure 側のリソースの情報等を納めた発行プロファイルというものを作成します。

新規にこれを作成する際には、リソースの名前も付けます。まずここでポイント!!

f:id:mofumofu_dance:20210616223538p:plain

ここでつける名前は、Bot を動かすために必要な App Service Plan のリソース名にもなります。このため他とかぶらないようにチェックが入ります。

f:id:mofumofu_dance:20210616224039p:plain

被らないいい感じの名前を付けたぞーとなっても油断大敵です。作成されるリソースのなかには「Azure Bot」もあり、これもユニークな名前でなければいけないようです。

f:id:mofumofu_dance:20210616224417p:plain

これのせいで、Azure Bot以外のリソース作成はできているのに何度やってもエラー みたいな状況になりました。

回避するためには、先に Azure Bot (単独) の リソース作成を試して、そこで名前チェックをしておくのがよいです。

f:id:mofumofu_dance:20210616224642p:plain

ポイント2. どうやってTeamsのBotとComposerで作ったBot関連付けるの!

「やった、AzureにBotを発行できた!じゃあTeamsに追加してみよう!」...

f:id:mofumofu_dance:20210616225206p:plain

ん?どうやるの??ググっても素直に出てこないよ??

きっと次回もわからなくなるので、手順を書いていきます。

1. 作成したBotのエンドポイントをコピー

作成されたリソース群の中から「Azure Bot」を選びます。するとトップに 「Messaging endpoint」の項目があるので、これをコピーしておきます。

f:id:mofumofu_dance:20210616230116p:plain

2. Teams 側で Bot を作成

今度は Teams 側にいって、 App Studio を起動して、「Bot Management」をクリックします。

f:id:mofumofu_dance:20210616230326p:plain

表示された画面で「Quick create bot」をします。(結構時間かかる)

ここでとても大事な情報が表示されます。

  • Bot Id
  • Password

です。これをあとで使うので、メモしておきます。

また、Bot endpoint address の入力欄には、先ほどAzure Botの画面でコピーしておいた Messaging endpoint のURLを貼り付けておきます。

f:id:mofumofu_dance:20210616231047p:plain

3. Teams 側でアプリ作成

Bot を チームや個人用のアプリとして利用するためには、アプリの作成が必要です。

再び、App Studio の画面で、今度は 「Create New App」します。

アプリの全体の設定をし終えたら、「Capabilities」>「Bot」と進み、Set upをします。

ここでは先ほど作成しておいた Bot を選択して、かつ Botとの対話でどんな機能を有効化するか などを選択します。

f:id:mofumofu_dance:20210616231927p:plain

※ここでは、添付ファイルのやり取りをしてOCRしたかったので、Uploading and downloading files をチェックしました。

あとは Install !!

f:id:mofumofu_dance:20210616232116p:plain

...

f:id:mofumofu_dance:20210616232504p:plain

上手くいかず。たぶん、Teams の Botとしては Azure 側の Endpointを知っているけど、Azure の Bot側が Teams アプリの情報を知らないからなのでしょう!たぶん!

4. 再び Composer で 発行プロファイル設定

Composer に戻ります。 発行プロファイル を編集すると、設定ファイルをいじることができます。

この中に、 "MicrosoftAppId" と "MicrosoftAppPassword" という項目があります。

きっとこれだ!ということで、Teams の Bot作成時に控えておいた、Bot IDと Passwordを入れてあげましょう。

f:id:mofumofu_dance:20210616233141p:plain

で、再び Bot を発行します。

f:id:mofumofu_dance:20210616233645p:plain

動いたー!!!(最初若干ラグがあって急かしてしまった)

ということで Composer で作った Bot を 無事Teams で使えるようになりました。

はまりポイントのまとめ

1. まずはリソース名

Azure Bot の作成画面で事前に名前を確認してから Composer でリソース作成をしよう!

2. Teams Botの追加

Bot作成時に払い出された Bot IDと PasswordをComposerの発行プロファイルに設定しよう!

以上です。