Slack Bot开发笔记(1):一个Hello World
文章目录
1.为什么选择Slack平台作为通知渠道
Slack毕竟作为Salesforce的下属公司,至少是不用担心跑路的。并且Slack的api较为开放,可以利用bot api向频道内推送消息。甚至可以在频道或私聊里控制bot。Telegram Bot虽然也能够做到这点,但毕竟在境内被墙了,没有Slack来的好用。同时Slack的网页版较Telegram的好用点,类Discord和钉钉风格,因此使用Slack
2.注册一个Slack账号
打开 https://slack.com/intl/zh-cn/ 注册一个账号,工作区名字可以随便填,其中正在讨论的话题就是频道名字,这些都可以后期修改。
在注册完成后应该像是这样。
3.创建一个Slack应用
打开 https://api.slack.com/apps 选择绿色的Create an App
选择从scratch创建App
填写你App的基本信息,App名字可以在之后修改,Workspace选择你刚才创建的。
选择Bots作为我们的App模版
刚创建的App没有被我们授予任何权限,我们要找到App Home菜单(通常创建后会自动跳转过去,可直接看下面寻找Review Scopes to Add部分),没有的话回到 https://api.slack.com/apps 寻找
本例中以TestBot作为测试,这里以你创建的App名称为准。
点击后在左侧菜单找到App Home。然后选择Review Scopes to Add
在打开的Scope页面里找到Bot Token Scopes中的Add an OAuth Scope,我们要为Bot添加权限,才能发送消息到话题里
添加chat:write权限
然后回到Basic Information(在左侧菜单的Settings里),选择Install to Workspace
在接下来的授权页面点击允许
看到Success就表明添加成功了。
4.准备Python环境
本次Slack Bot集成使用Slack官方提供的Python SDK,首先你需要先安装Python,Python的安装教程不在这里重复给出,毕竟网上已有很多资料。
打开你的终端(Windows为命令提示符)输入
|
|
出现
|
|
提示时就大功告成了。
5.开始编写程序
这次我们使用Slack官方给的示例代码
|
|
注意:将代码中的Your_Token
更换为你自己的Bot Token,Bot Token可在OAuth & Permissions中的OAuth Tokens for Your Workspace找到。(如下图所示)#random
更换为你的话题名,同时在执行前先确认Bot是否已经加入到话题。
如何把Bot加入到话题 第一步:确认Bot已经加入到Workspace,没有的重新点击Install to Workspace 第二步:点击频道名称,找到应用菜单 第三步:添加你的Bot 最后回到频道,看见
此外 xxx 已加入
说明Bot添加成功
点击运行后,Slack工作区中你所选的话题下就会多出一条消息
这表明你的Bot现在就可用了。后续看时间再继续写吧。
6.常见问题
- Q1.终端输出Got an error: invalid_auth,且消息未发送成功
- A1.通常是Bot Token填写有误,Bot Token通常是4-13-13-24位形式的,请参照上文寻找
参考来源
Slack Python SDK: https://github.com/SlackAPI/python-slack-sdk
文章作者 Gulut
上次更新 2023-08-12