@sendyit/slacker

Lightweight and highly configurable npm package for sending messages to slack channels

Usage no npm install needed!

<script type="module">
  import sendyitSlacker from 'https://cdn.skypack.dev/@sendyit/slacker';
</script>

README

Sendy Slacker

Lightweight and highly configurable npm package for sending messages to slack channels

Prerequisites

You will need to have node installed and running in your environment to use sendy slacker

Installing

To install sendy slacker run the following command in your terminal within the root folder of your application

npm install @sendyit/slacker

Usage

To use sendy-slacker import the library:

const Slacker = require('@sendyit/slacker'); 

Instantiate Slacker and add any parameters that are available:

const slacker = new Slacker({
  footer: 'Test Footer'
});

const data = {
  title: 'This is a test title',
  text: 'This is some sort of test message!',
};

slacker.alert_level = 'warning';

slacker.report('backend', data);

Configuration

Using Environment Variables

With a new instance of Slacker you can add parameters with environment variables as follows. The dotenv package is a dependency for this project to load any .env file you have

  • Create a .env file in your root folder

add the following or copy from sample.config.env file from the root folder:

SLACK_BASE_URL = "https://hooks.slack.com/services/T00000000"
FOOTER = "Sample Footer message"
FOOTER_ICON = "http://sampleurl/for/footer_icon.png"

You can define your channels in the base slack.config.js but it is advisable to use the parameters in the instance to define the channels as you'll see below.

Using the Instantiated Object

We can also define all parameters in the newly instantiated Slacker object as follows:

const slacker = new Slacker({
  base_url: 'https://hooks.slack.com/services/T00000000',
  channels: {
    channel1: '/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX',
    channel2: '/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX',
  },
  footer: 'Test Footer',
  footer_icon: 'http://url/to/footer/icon.png'
});

The channels object constitute any channel links you have from you Slack workspace. More information on this can be found at Slack's API Documentation

Alerts

Set an alert level for sending a color-coded slack message.

We have default color-coded alert levels but these can be overridden when instantiating the Slacker object by adding the alerts object as a parameter.

alerts: {
  notice: '#00800',
  warning: '#1782c5',
  error: '#ff0000',
  default: '#ff0000'
}