node-slackapis
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

Slack Node Client Wrapper

Prerequisite

  1. Generate a token for your slack workspace. (Official Guide)
  2. Grap your Signing Secret. (Official Guide)
# .env
SLACK_SIGNING_SECRET=
SLACK_TOKEN=

API

events

  1. events.start: this event should be called before calling other events APIs.
import slack from "node-slackapis";

const PORT = 3000;
slack.events.start(PORT, () => {
  console.log(`Listen on ${PORT}`);
});
  1. events.addEvent
import slack from "node-slackapis";

const PORT = 3000;
slack.events.addEvent("app_mention", event => {
  const { channel, text } = event;
  console.log("app_mention event is triggered");
  console.log(`TEXT: ${text}`);
  console.log(`Channel ID: ${channel}`);
});

rtm

  1. rtm.start
import slack from "node-slackapis";

slack.rtm.start();

web

  1. web.getChannel
import slack from "node-slackapis";

// by Id
slack.web.getChannel({ id: 'a1b2c3' })
  .then(channel => {
    // channel = { id: 'a1b2c3', name: 'general' };
  })

// by Name
slack.web.getChannel({ name: 'general' })
  .then(channel => {
    // channel = { id: 'a1b2c3', name: 'general' };
  })
  1. web.getUser
import slack from "node-slackapis";

// by Id
slack.web.getUser({ id: 'a1b2c3' })
  .then(user => {
    // user = { id: 'a1b2c3', name: 'the6thm0nth' };
  })

// by Name
slack.web.getUser({ name: 'the6thm0nth' })
  .then(user => {
    // user = { id: 'a1b2c3', name: 'the6thm0nth' };
  })
  1. web.sendMessage
import slack from "node-slackapis";

const channel = await slack.web.getChannel({ name: 'general' });
slack.web.sendMessage(channel.id, "Hello World!");

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i node-slackapis

Weekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

18.7 kB

Total Files

33

Last publish

Collaborators

  • the6thm0nth