Отправляйте 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, а затем сделать динамический выбор каналов непосредственно из вашего приложения. Дайте мне знать, если у вас есть вопросы.

Спасибо!