个人学习笔记——Microsoft Bot部署流程简介
Bot部署流程
本流程基于个人学习过程中的理解和总结,因本人能力有限,如有错请及时指出。
一.机器人部署
2020-09-20 21:53:34 注意 以下内容只针对Microsoft teams
机器人部署一共可以分为2部分。
- 机器人服务部署
- 在azure上注册机器人应用
1.官方推荐流程
根据文档安装azure-cli,因为我对azure这一套东西不熟悉,我在之后的部署遇到了失败的情况。如果你对arm模版和webconfig熟悉可以尝试使用该教材来部署机器人。利用该方法,不需要在.env中填入app的id和password,详情可以参考下面,来对比两种部署的区别。这种方法可以一次性完成前面说的2部分内容。
2.常规部署
1.部署在一台服务器上
让bot在这台服务器上启动就行,需要注意的是,你必须提供一个https的域名,开发阶段可以使用ngrok这个内网穿透软件来将就过渡一下,最终目的都是将这个bot的服务暴露在公网上。记住你上传的程序里应该要有你机器人的app id和app password,如.env文件,包含在你运行的程序里,不然你的机器人会有未授权的情况。(参考下一步)
2.在azure上注册该机器人。
在azure上注册一个Bot Channels Registration(直接在azure portal上搜索就可以找到)。如果你的机器人还没有在自己的服务器上部署好,endpoint那暂时不用填。

注册好之后进入这个bot channels registration的页面。

点击settings,可以看到以下页面。记住这个机器人的app id。

进入app registrations页面,找到你刚刚注册的机器人,这里是为了得到app的密码,如果你注册步骤手动指定的话这一步不需要。



当你完成以上所有步骤,你应该已经具备:
- 机器人服务暴露在公网且是https,在bot channels registration中正确填写了服务的接口。
- 你拥有该机器人的app id,app password。
把id和password写入你的程序中。下面的例子以我的机器人为例,该机器人以官方demo改写而成。

.env示例

如果此时你已经填写完,且机器人服务器也启动,那你的机器人就算部署完毕了。
二.将Bot加入到team里
到bot channels registrations页面中,点击channels。

点击加入teams即可。

此时你直接点击网页上的teams图标,你就可以直接进入teams里和机器人交互。如果别人想和你的机器人交互,你需要把app id发给它们,让它们搜索这个机器人就可以了。

三.将bot作为app在teams安装
在teams里进入app studio的manifest editor。选择创建一个新应用。你要是之前有过机器人的app package,可以选择下面的导入。app package主要是一些你这个app的meta data。也就是你在新建应用时填写的对你这个bot的描述信息。

填写一切打*号的内容,这里不多做赘述,值得一提的是你需要一个192大小和一个32大小的图片来作为你app的图标。
主要是在bots页面里选择你刚刚注册的bot。

最后进入test and distribute页面中进行install。这需要管理员权限允许,这里因为我没有这个权限,所以无法安装。如果你之前有填写不合规的地方,这里右边的description都会告诉你。
