「Slack」如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码( 二 )
本文插图
本文插图
Kubernetes的简要介绍
Kubernetes是一款允许在集群中管理docker映像的软件 。 这包括部署、扩展、管理和监视 。 基本部署单元是Pod 。 Pod可以包含多个docker映像或容器 。 我们将在本文中开发的聊天机器人仅支持具有单个图像的pod 。 可以通过kubectl命令和其他方式控制Kubernetes 。
我们的服务器将使用以下Kubernetes命令:
kubectl get pods --selector=app={app} --namespace={namespace} :在名称空间中检索应用程序的pod 。
kubectl logs {pod} --namespace={namespace}:获取容器中容器的日志(如果容器中只有一个图像) 。
kubectl describe pod {pod} --namespace={namespace} :描述有关Pod的详细信息 。
本文插图
Slack
如果你没有Slack帐户 , 则可以通过https://slack.com 获得自己的工作区 。
在本文中 , 我们将创建一个所谓的经典App , 以便能够使用实时消息(RTM)API 。
你可以在此处创建经典应用:https://api.slack.com/apps?new_classic_app=1 。 确保不要只是创建一个新的Slack App , 因为它不支持实时消息 。
本文插图
该App将需要以下范围 , bot和chat:write:bot 。 如果找不到这些范围 , 则可能是在最后一步中创建了一个非经典应用 。
本文插图
我们将为该应用添加说明和图标 。 对于作者的机器人 , 他正在使用Wikimedia的图像 。
本文插图
最后一步是将app安装到工作区并记下机器人令牌 , 单击“将应用程序安装到团队” 。 我们将允许该APP访问我们的工作区 , 并记下“ Bot User OAuth Access Token” 。
本文插图
ChatOps服务器
可以在https://gitlab.com/alexk/chatops-kubernetes上找到服务器的代码 。 它需要python 3 , 例如可以在macO上使用brew install python3安装 。
然后下载并安装需求:
git clone git@gitlab.com:alexk/chatops-kubernetes.git
cd chatops-kubernetes/
pip3 install -r requirements.txt
然后将Slack令牌设置为与之一起使用:
export SLACK_API_TOKEN=
并使用以下命令启动聊天机器人服务器:
python3 chatbot.py
本文插图
实现服务器
如设置部分所述 , 我们将使用Slack中的实时消息传递功能 。 要使用此功能 , 我们必须创建一个经典App 。
本文插图
使用WebSocket的经典Slack App实时消息传递模型
在当前的Slack应用程序模型中 , Slack针对每个聊天消息或命令将HTTP Post消息发送到chatbot服务器 。
本文插图
使用HTTP POSTS的现代Slack应用模型
推荐阅读
- |从Excel中解救你!如何用Python实现报表自动化
- 热心的90后女孩|钉钉打卡设置了公司wifi才能打卡,如何用自己的流量在家正常打卡?
- 开源村OSV|Gartner:6个容器和Kubernetes策略的最佳实用技巧
- 搜狐新闻如何用3000元买到“羡慕嫉妒恨”?
- 「上观」江南水乡教你如何用科技饮水,这场带货大会上青浦副区长推荐了这款智能茶艺机
- 超越感知界限,看三大时尚女刊特邀摄影师如何用华为P40系列捕捉艺术灵感
- 垃圾分类■北京垃圾强制分类 如何用AI快速学会分垃圾?
- :你想要的诗和远方在这里!看大V如何用Find X2 Pro还原美景
- #Amy聊跨境#如何用B2B的思维做好跨境电商亚马逊B2C端的客户维护
- 「华夏基石管理评论」活在当下、随需应变的时代,如何用数字思维理解客户、产品、创新与人