上次我们讲了Teams Bot开发的概述,讲了Azure Bot Service,Bot Framework SDK和我们自己的bot服务的概念,这篇文章就带大家看看Azure Bot Service和我们的bot是如何发生关系的。
我们自己开发的bot服务实际上就是一个api service,需要提供一个支持 POST 请求的endpoint。然后把这个endpoint的url注册到Azure Bot Service,这样当有人和你的bot进行聊天的时候,这个endpoint就会被Azure Bot Service所调用。
我们来看一个简单例子:用户在模拟器里对bot发送一个”hi”消息,然后bot回复一个”You said: hi”消息。整个流程如下:
- 当用户准备开始和bot进行聊天的时候,azure bot service就会向我们的bot endpoint上 POST 一个关于 conversationUpdate 的HTTP请求,告诉我们的bot,有一个用户准备要和bot聊天了。下面是Bot Emulator,相当于Azure Bot Service传递给我们bot endpoint的http request body
{
"channelId": "emulator",
"conversation": {
"id": "5d2a6fa0-a8c4-11ea-9482-fbaa8563d339|livechat"
},
"from": {
"id":