通过 NodeJS 发送 Slack 通知
Slack一直是项目开发人员、经理和创始人使用的领先的项目管理工具。
在项目开发过程中,建立一套通用的通知系统非常有用,原因有很多:
- 希望在新用户注册时收到通知🚀
- 希望用户在尝试完成操作时遇到错误时能够收到提醒😑
- 用户在应用内购买、订阅等项目付款时,我们希望收到提醒。💸
有了这些通知,就能让团队成员及时了解情况,确保每个人都步调一致!
我们先来设置“Slack 应用”:
前往Slack API 页面,然后点击“创建新应用”按钮。
选择“从头开始”,为您的应用程序命名,然后选择所需的工作区。
在“基本信息”部分的“添加功能”部分,点击“权限”选项卡,您将被重定向到“OAuth 和权限”页面,在该页面下滚动到“范围”部分,然后选择下图所示的权限:
添加这些权限后,向上滚动以获取 OAuth 令牌,该令牌稍后将在应用程序中用于发送通知。
注意:OAuth 令牌会在应用安装到您的工作区(即您创建应用时选择的工作区)后提供。
点击“安装到工作区”按钮,您将看到以下页面,请允许安装。
允许应用安装后,您将被重定向回同一页面,此时将显示 OAuth 令牌。
复制 OAuth 令牌,接下来我们将获取频道 ID。在 Slack 中,打开频道并点击频道名称,您将看到如下所示的弹出窗口。
现在让我们来设置Node应用程序……
创建一个 node 应用或使用现有的应用并运行,npm i @slack/web-api以安装适用于 nodejs 的 slack 客户端。
| require('dotenv').config() | |
| const { sendSlackMessage } = require('./utils/slack.util'); | |
| console.log('🚀 Slack Notifier 🚀'); | |
| const sendMessage = async(message) => { | |
| await sendSlackMessage(message); | |
| } | |
| sendMessage('This is generated by Notifier Test App') |
在 utils 文件夹下创建一个名为 . 的文件slack.util.js。然后,在该文件中
定义SLACK_TOKEN&& 。SLACK_CHANNEL_ID.env
现在运行代码,如果在运行过程中看到以下错误,那是因为我们还需要让应用程序也加入频道。
所以,要让用户加入频道,请查看下面的代码片段:
const resp = await web.conversations.join({
channel: channel,
});
if (message) {
await sendSlackMessage(message, channel);
}
使用上述代码后,让我们触发通知,瞧!
完整的代码可在此处查看。
此外,您还可以创建一个 API 来从 Slack 获取活跃频道,然后直接在您的应用程序中实现频道动态选择。如有任何疑问,请随时联系我。
谢谢!
文章来源:https://dev.to/hrishikeshps/send-slack-notifications-via-nodejs-3ddn







