Отправляйте Slack-уведомления через NodeJS
Slack всегда был ведущим инструментом управления проектами, используемым разработчиками, менеджерами и основателями проектов.
Во время работы над проектом очень полезно настроить общую систему уведомлений по ряду основных причин:
- Каждый хочет получать уведомления, когда новый пользователь регистрируется 🚀
- Кто-то хочет получать оповещения, когда пользователь пытается выполнить действие и сталкивается с ошибкой 😑
- Нужно получать уведомления, когда пользователь оплачивает какие-либо покупки в приложении, подписки и т. д. 💸
Наличие этих уведомлений помогает держать команду в курсе, чтобы все были на одной странице!
Давайте сначала настроим приложение Slack:
Перейдите на Страницу Slack API и нажмите кнопку Создать новое приложение.
Выберите «С нуля» и укажите имя своего приложения, а затем выберите нужную рабочую область.
В разделе «Основная информация» в разделе «Добавить функции и функции» щелкните вкладку «Разрешения», вы будете перенаправлены на страницу «OAuth и разрешения», в которой прокрутите до раздела «Области» и выберите разрешения. показано на скриншоте ниже:
После добавления этих разрешений прокрутите вверх, чтобы получить токен OAuth, который позже будет использоваться в приложении для отправки уведомлений.
Примечание. Токен OAuth предоставляется после установки приложения в вашей рабочей области (той, которую вы выбрали при создании приложения).
Нажав на кнопку «Установить в рабочую область», вы увидите страницу ниже, пожалуйста, разрешите установку.
После разрешения установки приложения вы будете перенаправлены обратно на ту же страницу, и на этот раз токен oauth будет виден.
Скопируйте токен OAuth, а затем мы получим идентификатор канала, в Slack откройте канал и щелкните имя канала, и вы увидите всплывающее окно, показанное ниже.
Теперь давайте настроим приложение Node.
Создайте приложение node или используйте существующее и запустите npm i @slack/web-api`, чтобы установить slack-клиент для nodejs.
https://gist.github.com/hrishikeshps/a3eaaba37c78cefc20e0cfc7b7538a16
Создайте еще один файл в папке utils с именем slack.util.js.
Затем определите SLACK_TOKEN && SLACK_CHANNEL_IDв файле .env.
https://gist.github.com/hrishikeshps/bc69a603ce7e23f2a00e0e8dd4a0c86f
Теперь запустите код, и если во время работы вы увидите ошибку ниже, то это потому, что мы также должны заставить приложение присоединиться к каналу.
Итак, чтобы заставить пользователя присоединиться к каналу, проверьте фрагмент ниже,
const resp = await web.conversations.join({ channel: channel, }); if (message) { await sendSlackMessage(message, channel); }
После использования приведенного выше кода давайте вызовем уведомление, и вуаля!
Полный код доступен для ознакомления здесь.
Кроме того, вы можете создать API для получения активных каналов из Slack, а затем сделать динамический выбор каналов непосредственно из вашего приложения. Дайте мне знать, если у вас есть вопросы.
Спасибо!