如何构建 Slack 机器人
已发表: 2022-01-29Slack 从根本上改变了团队、办公室和整个组织内的员工相互沟通和协作的方式。 有无数种方法可以自定义公司的 Slack,但除了使用渠道、GIF 文件、应用程序集成和反应表情符号之外,增强 Slack 体验的最动态方法是使用机器人。
部分聊天机器人界面和部分自动化动作引擎,Slack 机器人有大量的潜在用途。 在特定渠道中,Slack 机器人目录中当前可用的 100 多个机器人可以想出任何东西,从民意调查、调查或时间跟踪表格到消息分析、午餐订单和餐厅推荐——所有这些都通过快速直接消息 (DM)或斜线命令。
许多商业软件提供商,包括 SurveyMonkey 和 Zenefits(访问 Zenefits 的站点)已经构建了可以在 Slack 中启用的机器人。 但是您不必等待其他人来构建您的组织需要的 Slack 机器人。 通过使用 Slack 的开发人员资源、文档和教程,您可以让公司指导您构建自己的 Slack 机器人。
PCMag 与 Slack 开发人员关系主管 Amir Shevat 和 Slack 高级开发人员关系经理 John Agan(访问 Zenefits 的网站)讨论了如何从头开始构建 Slack 机器人。 该过程需要一些相当多的开发人员知识,但 Shevat 和 Agan 向我们介绍了所有企业都可以关联的两个简单的机器人创建场景:构建基本的帮助台机器人和启用频道内通知。 继续阅读有关如何构建您自己的 Slack 机器人的分步说明。
1. 1. 创建一个新的 Slack 应用程序
首先,从您的 Slack 客户端打开左侧导航菜单,然后单击“应用程序和集成”。 在 App Directory 的右上角,单击“构建”。 这会将您带到 Slack 应用程序编程接口 (API),您可以在其中单击页面中心的“开始构建”。 为您的应用程序命名(在本例中为 Helpdesk),选择您要在其中部署应用程序的团队,然后单击“创建应用程序”。
这会将您带到应用程序的基本信息页面。 要进行额外的自定义,请向下滚动到显示信息框,您可以在其中添加描述、更改背景颜色以及为即将成为机器人的图标添加图标。 例如,对于 Helpdesk 机器人,Agan 将机器人表情符号作为其图标。
这会将您带到应用程序的基本信息页面。 要进行额外的自定义,请向下滚动到显示信息框,您可以在其中添加描述、更改背景颜色以及为即将成为机器人的图标添加图标。 例如,对于 Helpdesk 机器人,Agan 将机器人表情符号作为其图标。
2. 2. 编写机器人的消息
现在您已经创建了应用程序,Slack API 为您提供了许多选项来开始自定义它的功能。 对于我们的帮助台应用程序,我们正在构建一个机器人,可以轻松代表您提交帮助台票证。 首先,Slack 的 Agan 说您需要编写用户输入斜杠命令时将出现的消息。
在 Slack API 菜单的 Messages 部分中,选择 Message Builder 工具。 这为您提供了一些预先格式化的 JSON 代码,并为您提供了一个空间供您写入,然后预览您的文本。 对于这个机器人,Agan 输入,“你想提交这张帮助台票吗?”
当用户单击“创建”以提交其帮助台票证时,将显示此确认消息。 因此,在文本旁边,Agan 为 :white_check_mark: 添加了命令,为 Slack 用户提供一个绿色复选标记表情符号,以确认他们的票证已提交。 就这样,您已经编写了机器人的自动消息代码。 把它放在手边,因为你稍后会需要它。
在 Slack API 菜单的 Messages 部分中,选择 Message Builder 工具。 这为您提供了一些预先格式化的 JSON 代码,并为您提供了一个空间供您写入,然后预览您的文本。 对于这个机器人,Agan 输入,“你想提交这张帮助台票吗?”
当用户单击“创建”以提交其帮助台票证时,将显示此确认消息。 因此,在文本旁边,Agan 为 :white_check_mark: 添加了命令,为 Slack 用户提供一个绿色复选标记表情符号,以确认他们的票证已提交。 就这样,您已经编写了机器人的自动消息代码。 把它放在手边,因为你稍后会需要它。
3. 3. 添加通知
Agan 和 Shevat 提供了单独的演示,但 Shevat 解释说,自开放该功能以来,Slack 看到的最常见的机器人集成之一是从第三方服务中提取通知的机器人。 这可能是来自 Salesforce(访问 Salesforce.com 的站点)的每周销售报告,或者在这种情况下,来自机器人正在为其创建工单的帮助台平台。
4. 4. 激活传入 Webhook
要在您的帮助台机器人中添加通知(Shevat 通过一个名为“ReportBot”的单独示例演示了这些步骤),您首先必须启用传入的 Webhook。 Webhook 是一个简单的 HTTP 回调,它在触发特定操作时将消息发布到 URL。
为此,请返回 Slack API 的基本信息页面。 第一个框显示“添加特性和功能”。 选择“传入 Webhook”选项。 激活传入 Webhook 页面的右上角是一个滑块按钮。 单击它可将按钮从关闭切换到开启。
为此,请返回 Slack API 的基本信息页面。 第一个框显示“添加特性和功能”。 选择“传入 Webhook”选项。 激活传入 Webhook 页面的右上角是一个滑块按钮。 单击它可将按钮从关闭切换到开启。
5. 5. 授权频道通知
激活 Webhook 后,向下滚动并单击“将新 Webhook 添加到团队”。 您将被要求选择您希望机器人发布自动通知的频道。 在此示例中,Shevat 选择了#general,但在这种情况下,您可能希望将此通知发布到您的帮助台团队或 IT 部门的频道。 因此,不仅会在您的帮助台平台中创建新工单,还会向 IT 部门的 Slack 频道发送自动通知以通知他们工单。 选择频道后,点击“授权”。
6. 6. 自定义您的 Webhook
授权后,您将在页面上看到一个基本的 Webhook URL 和一个复制它的按钮。 上面是您的示例 curl 请求,您可以将其复制到文本编辑器以说出您想要的任何内容。 在这种情况下,您可能希望在“提交新的帮助台工单”或任何准确描述您希望机器人发送的通知中写下“Hello, World”,而不是“Hello, World”。 从这里,您可以获取 curl 请求代码和 Webhooks URL 并在任何脚本中运行它。 您在下一步中也将需要此代码。
7. 7. 构建你的机器人
现在您已经编写好消息代码并方便地使用 Webhooks URL,您已准备好构建您的机器人。 大多数 Slack 集成都需要服务器来响应和启动请求,尤其是在涉及自动机器人逻辑和斜线命令时。 Slack 支持许多提供商,但 Agan 使用名为 Glitch 的服务构建了帮助台机器人。
此步骤需要一些编码专业知识。 Agan 创建了一个新的 Glitch 项目,然后开始添加一些开源 JavaScript 代码。 如果您不想自己编写所有代码(或重新发明轮子),那么您可以从无数机器人框架和库中进行选择来导入您的基本机器人逻辑。
Agan 将他的项目命名为“Index.js”,添加了一个他自己构建的名为 TinySpeck 的包,然后粘贴到我们之前编写的 Message Builder 代码中。 有了主要的机器人代码,他只需添加一个回调命令即可触发新工单和“已创建帮助台工单”确认消息。 而已。 如果您想添加 Webhooks 代码以在您指定的频道中触发通知,那么您也可以将其粘贴到此处。 Glitch 会为您的机器人服务器创建一个唯一的 URL,因此在您添加所有代码后复制该 URL,我们将继续下一步。
此步骤需要一些编码专业知识。 Agan 创建了一个新的 Glitch 项目,然后开始添加一些开源 JavaScript 代码。 如果您不想自己编写所有代码(或重新发明轮子),那么您可以从无数机器人框架和库中进行选择来导入您的基本机器人逻辑。
Agan 将他的项目命名为“Index.js”,添加了一个他自己构建的名为 TinySpeck 的包,然后粘贴到我们之前编写的 Message Builder 代码中。 有了主要的机器人代码,他只需添加一个回调命令即可触发新工单和“已创建帮助台工单”确认消息。 而已。 如果您想添加 Webhooks 代码以在您指定的频道中触发通知,那么您也可以将其粘贴到此处。 Glitch 会为您的机器人服务器创建一个唯一的 URL,因此在您添加所有代码后复制该 URL,我们将继续下一步。
8. 8. 启用交互式消息
您已经创建了您的帮助台机器人,所以现在您所要做的就是返回 API。 无需选择“创建新应用程序”,只需单击“管理应用程序”并选择帮助台应用程序。 在基本信息页面下,在添加特性和功能框中选择“交互式消息”。 进入该页面后,单击“启用交互式消息”,粘贴上一步中的服务器 URL,然后保存更改。
9. 9. 创建斜杠命令
完成后,返回添加特性和功能框并进入斜线命令。 单击“创建新命令”。 这会将您带到一个包含几个字段的表单页面。
在命令框中,输入斜杠命令。 在这种情况下,Agan 输入了“/helpdesk”。 在请求 URL 字段中,他粘贴了来自 Glitch 的相同服务器 URL。 然后,您只需输入命令的简短描述(“创建帮助台工单”),用户应如何键入请求的使用提示,检查其下方的预览以确保一切正常,然后单击保存.
在命令框中,输入斜杠命令。 在这种情况下,Agan 输入了“/helpdesk”。 在请求 URL 字段中,他粘贴了来自 Glitch 的相同服务器 URL。 然后,您只需输入命令的简短描述(“创建帮助台工单”),用户应如何键入请求的使用提示,检查其下方的预览以确保一切正常,然后单击保存.