数周前第一部分聊天Ops博客串,你创建你的第一个机器人但它什么也做不来 真可惜赶紧解决吧
时间查看代码 实现机器人逻辑将使用ython语言并浮点因为它们提供简单便捷方法 你可以很容易地利用
请确认安装ython语言并存Flask库并准备审查代码 我们第一次刺入实施 所需机器人逻辑,可用来.请使用您最喜爱编辑器或iDE创建新文件并调用内容相同的计算机1-Chatbot.py
将看到代码做下列简单步骤
- 导入所需的Flask模块
- TCP端口5005计算机监听POST消息
- 分配接收JSON有效载荷进数据变量并显示屏幕
请求运行代码使用 :
ython 1_chatbot.py
终端窗口显示下位并不允许再交互
Service Flask应用1_Chatbot生产部署中不使用它。代之以生产WSGI服务器tbug模式:On*运行 http://0.0.0:5005(PressCTRL+C退出)Exbuger PIN:180-970-440
表示代码运行等待消息运抵5005港离开终端窗口运行代码并开新窗口继续工作
连通性webhoks
现在我们需要告诉机器人时间和方式 以连接机器人逻辑即定义事件或消息 触发Webex云中的bot发送通知消息实现方式是配置webhook系统.webhooks定义特定事件类型触发消息,以及目标地址(目标URL)等下 机体逻辑的目的地地址是什么
机器人逻辑运行自计算机必从Webex云获取, 实际机器人生活之地如何实现计算机通常居于NAT/PAT启动路由器和/或防火墙后方,这使得从互联网启动的入境连接几乎无法连接到您的系统
使用不同的变通方法解决无限可达性挑战IP+端口映射器或反向SSH通路Ngrok.
以这种方式,你能够告诉Webexbot公共可达端口地址,它可用以达到计算机本地托管的bot逻辑
点火
求求您下载安装ngrok客户端电脑里点火需要定义计算机端口 机器人逻辑监听Webex机器人发文配置ngrok提供本地端口5005与运行一样简单:
ngrok网站5005
等会状态联机并写下显示为转发结束的 https URL.ngrok.io(i.e., https://f21570cefdf4.ngrok.io).URL可公开访问地址 通过互联网访问Webexbot访问bot逻辑(python脚本)
时间让你的Webex机器人知道我们感兴趣的事件 和可公开访问地址 机器人逻辑存放我们使用webhoks网路为了这个
webexAPIs配置 webhook
webexAPIs为使用RESTPST方法发送简单HTTP消息配置 webhook提供简单方式下方命令使用, 需要包括创建Webexbot和Ngrok URL时获取的令牌
Curl-XPOST/https://webexapis.com/v1/webhooks/-H'Actorization:Bearer\-HCent-Type:应用/json'-d-{名:Webhook聊天机 " }'
到现在你应该有几端窗口:一端运行带机器人逻辑的python脚本,二端运行ngrok客户端
webex客户端接口(ab、webbbase、move)搜索bot地址,地址以@webex.bot结束发消息表示HELLOBOT运行中的Ngrok应用POST法显示HTTP请求和200确定回答HTTP200确定成功状态响应码表示请求成功
不错收到消息后,Webex云中机手现在能发送 webhook通过Ngrok通知寄存于你笔记本机的机器人逻辑酷毙了
运行机器人逻辑的另一端窗口将显示JSON有效载荷和从Webex机器人接收的所有信息并连接到你发送给机器人的消息举个例子,你自找地址个人邮件webhook生成消息及其目标URL可你哪里都找不到HELLObOT消息 奇异吧
下游
下星期我们将探索如何获取所有消息细节回见
网络可编程性与思科网络平台访问DevNetingDev中心
追加资源
我们想听听你的想法问题或留言下文
并保持连接思科DevNet社会
访问新开发者视频通道
HelloJulio感谢博客贴文
可惜我目前的搭建不允许我使用Ngrok,但我确实在pythonanywhere.com搭建了一个blask服务器,并能够确认我对bot的 webex消息正在传递
18.221.216.175-[07/Jun/2021:14:16:53+0000]
13.58.232.148--[07/Jun/2021:14:34+0000]
等待下一集
再次感谢
@ittybittypacket
不错的工作文斯,多谢分享