mactkg / node-red-contrib-slack-socket

A Node-RED node to interact with the Slack Socket Mode.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

node-red-contrib-slack-socket

A Node-RED node to interact with the Slack Socket Mode.

Requirements

Install

Run the command in the root directory of Node-RED

npm install --save node-red-contrib-slack-socket

Usage

Slack Listen node

The Slack Listen node listens Slack events.
Note: Slack Socket Mode accepts "Events API" events.

Example output:

{
    "payload": {
        "client_msg_id": "...",
        "type": "app_mention",
        "text": "...", 
        "user": "...",
        "ts": "1611812562.007700",
        "team": "...",
        "blocks": [
            {
                "type":" rich_text",
                "block_id": "...",
                "elements": [
                    {
                        "type": "rich_text_section",
                        "elements": [
                            {"type": "user", "user_id": "..."},
                            {"type": "text", "text": "..."}
                        ]
                    }
                ]
            }
        ],
        "thread_ts": "1611123575.001100",
        "parent_user_id": "...",
        "channel":"...",
        "event_ts":"1611812562.007700"
    }
}

Developers

dev-Requirements

  • Node v12 LTS and higher
  • Docker 20.10 and higher
  • docker-compose 1.27 and higher

Setup

  1. Create test/mocha.env.js file
    process.env.SLACK_APP_TOKEN = 'xapp-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
  2. Create .env file
    SLACK_APP_TOKEN=xapp-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Test

  1. Edit test/*_spec.js test files

  2. Execute npm command

    $ npm run test

Run on Node-RED

  1. Build Docker container image
    $ docker-compose build
  2. Run container
    $ docker-compose up -d
  3. Stop container
    $ docker-compose stop

About

A Node-RED node to interact with the Slack Socket Mode.

License:MIT License


Languages

Language:JavaScript 67.6%Language:HTML 30.8%Language:Dockerfile 1.6%