Microsoft Teams Channel加入QnA的Bots

關於QnA API MakerBots開發,可以先參考[Azure QnA Maker API初體驗]和[QnA Maker API結合Azure Bots Service ]這兩篇文章,本篇主要在建立好QnA Bots之後,如何加入把Bots加入到Micrsoft Teams裡面

Bot Service加入Microsoft Teams


要把製作好的Bot加入到Microsoft Teams,其實並不難,只需要在Bot Service內的頻道設定就可以

選擇Microsoft Teams就可以

如果,萬一Azure使用帳號與Office 365帳號不同,建議是設定完後,點選Microsoft Teams後,會請你開啟登入Teams,這時候登入O365上面那個Teams,就可以比較順利加入到Teams

這時候只要在Teams的Chat就可以搜尋到這個Bots帳號,就可以開始進行互動

Bot Service加入到Microsoft Teams Channel


上面方式可以輕鬆把Bot加入,但如果要把Bot加入到Teams Channel就沒有這樣簡單,在Teams中可以加入外部Bot Service的方法有兩種

  • Create an outgoing webhook
  • Sildeload a bot or tab
    第一種是透過Webhook方式建立,這種方式是最普遍且是最彈性,但這有一個缺點,如果你原本Bot Service就已經建立好且有相對應Json format話,必須修改一下發送與接收的訊息格式。

下面使用的是第二種方式,把bot Service加入到Teams,採用第二種方式,必須先準備好三個檔案,分別是manifest.json20x20的圖檔96x96的圖檔,後面兩項相對簡單,主要只是在Teams呈現的圖示。比較麻煩是第一個的檔案,因此,先自行製作一個manifest.json檔案,檔案內的Json格式,可以直接用下面內容修改,用下面Json內容中有幾項地方需要修改,而這些修改的資訊,都可以在bots Service的設定中找到

  • id: 參考設定中的Microsoft APP ID
  • name:在name中的short就是填入
  • icons: 在outline放入20x20 px的圖檔,在color放入96x96 px的圖檔
  • botId :資訊如同id一樣
  • validDomains: 在這邊會填上O365的Domain Name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
"$schema": "https://statics.teams.microsoft.com/sdk/v1.0/manifest/MicrosoftTeams.schema.json",
"manifestVersion": "1.0",
"version": "1.0.0",
"id": "參考Azure設定",
"packageName": "com.example.myapp",
"developer": {
"name": "Mobile Teams",
"websiteUrl": "https://website.com/",
"privacyUrl": "https://website.com/privacy",
"termsOfUseUrl": "https://website.com/app-tos"
},
"name": {
"short": "參考Azure設定",
"full": "bots service desk"
},
"description": {
"short": "service bot",
"full": "service bot "
},
"icons": {
"outline": "20x20.png",
"color": "96x96.png"
},
"accentColor": "#FFFFFF",
"bots": [{
"botId": "參考Azure設定",
"scopes": ["team", "personal"]
}],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"XXXX.onmicrosoft.com"
]
}

manifest.json設定好之後,將manifest.json檔案和另外兩個圖檔,壓縮成一個.zip檔案後,然後,到Teams的Bots頁簽,選擇Sildeload a bot or tab後,把zip檔案上傳後就可以

不過,放入後需要等一下子,這個bot才會work