NestJS Slack Integration
    Preparing search index...

    Module @xpr/nestjs-slack - v0.0.0

    @xpr/nestjs-slack

    A NestJS microservice transport and decorators for Slack Bolt Apps.

    Make sure to install peer dependencies if not already installed (@slack/bolt).

    npm i @xpr/nestjs-slack
    
    const app = await NestFactory.createMicroservice(MyModule, {
    strategy: new Slack({
    slack: {
    token: env.SLACK_BOT_TOKEN,
    appToken: env.SLACK_APP_TOKEN,
    },
    }),
    });
    await app.listen();

    📃 https://tools.slack.dev/bolt-js/getting-started

    Example of a Slack controller with listener for action and a command.

    import { SlackAction, SlackCommand, SlackController } from "@xpr/nestjs-slack";

    @SlackController()
    export class MyController {
    @SlackAction("button-action")
    async onAction({ ack, respond, payload }: SlackActionMiddlewareArgs) {
    await ack();
    await respond(`Button clicked! with payload ${JSON.stringify(payload)}`);
    }

    @SlackCommand("/ping")
    async onPing({ ack, respond }: SlackCommandMiddlewareArgs) {
    await ack();
    await respond({
    text: "pong!",
    response_type: "in_channel",
    });
    }
    }

    📃 https://tools.slack.dev/bolt-js/concepts/event-listening

    📃 https://tools.slack.dev/bolt-js/concepts/commands

    See source file.

    Classes

    Slack

    Type Aliases

    ActionId
    EndpointArgs
    OptionId
    Pattern
    ShortCutId
    SlackActionArgs
    SlackCommandArgs
    SlackEventArgs
    SlackMessageArgs
    SlackOptionArgs
    SlackShortcutArgs
    SlackViewArgs
    ViewId

    Variables

    EventTypes

    Functions

    SlackAction
    SlackCommand
    SlackController
    SlackEvent
    SlackMessage
    SlackOption
    SlackShortcut
    SlackView