Code Monkey home page Code Monkey logo

nestjs-slack's Introduction

Logo

nestjs-slack

Lightweight library to use Slack in NestJS applications.

Quick Start Guide · Request Feature · Report Bug


code style: prettier Commitizen friendly Release

Language grade: JavaScript codecov Maintainability

NestjS Slack helps you sending Slack messages in your NestJS application. Combined with slack-block-builder you can easily create maintainable, testable and reusable Slack code declaratively and ready for production.

⚡   Features

  • Used in many production workloads.
  • Building blocks with slack-block-builder.
  • Supports sending messages directly to Slack Web API.
  • Supports Slack webhooks.
  • Supports Google Logging.

👾   Usage

▶ yarn add nestjs-slack
import { Module } from '@nestjs/common';
import { SlackModule } from 'nestjs-slack';

@Module({
  imports: [
    SlackModule.forRoot({
      type: 'api',
      apiOptions: {
        token: '<insert-token-here',
      },
    }),
  ],
})
export class AppModule {}

To use webhook type, you'll typically use these settings:

SlackModule.forRoot({
  type: 'webhook',
  webhookOptions: {
    url: '<the webhook url>',
  },
}),

Example

You can easily inject SlackService to be used in your services, controllers, etc.

import { Injectable } from '@nestjs/common';
import { SlackService } from 'nestjs-slack';

@Injectable()
export class AuthService {
  constructor(private service: SlackService) {}

  helloWorldMethod() {
    this.service.sendText('Hello world was sent!');
    return 'hello world';
  }
}

Use with Google Logging

▶ yarn add @google-cloud/logging
import { SlackModule } from 'nestjs-slack';

@Module({
  imports: [SlackModule.forRoot({ type: 'google' })],
})
export class AppModule {}

When type is set to google the @google-cloud/logging package will be used to send logs to stdout according to structured logs.

You can deploy gcl-slack to consume logs from this library.

Contribute & Disclaimer

We love to get help 🙏 Read more about how to get started in CONTRIBUTING 🌳

nestjs-slack's People

Contributors

dependabot[bot] avatar simenandre avatar github-actions[bot] avatar meywether avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.