- 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.
npm install nestjs-slack
Lightweight library to use Slack in NestJS applications.
Quick Start Guide
·
Request Feature
·
Report Bug
---


!Release



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.
[nestjs]: https://github.com/nestjs/nest
This documentation is for v2 of this library. If you are looking for v1
documentation, please check the [v1] branch.
[v1]: https://github.com/bjerkio/nestjs-slack/tree/v1
- 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.
[slack-block-builder]: https://github.com/raycharius/slack-block-builder
``shell`
▶ yarn add nestjs-slack
`typescript
import { Module } from '@nestjs/common';
import { SlackModule } from 'nestjs-slack';
@Module({
imports: [
SlackModule.forRoot({
type: 'api',
token: '
}),
],
})
export class AppModule {}
`
To use webhook type, you'll typically use these settings:
`typescript`
SlackModule.forRoot({
type: 'webhook',
url: '
}),
You can also add multiple webhooks, like this:
`typescript`
SlackModule.forRoot({
type: 'webhook',
channels: [
{
name: 'dev',
url: '',
},
{
name: 'customers',
url: '',
},
],
}),
You can also get type assertions if you add a Typescript definition like this:
`typescript`
declare module 'nestjs-slack' {
type Channels = 'dev' | 'customers';
}
You can easily inject SlackService to be used in your services, controllers,
etc.
`typescript
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';
}
}
`
`shell`
▶ yarn add @google-cloud/logging
`typescript
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][structured-logs].
You can deploy [gcl-slack] to consume logs from this library.
[structured-logs]: https://cloud.google.com/logging/docs/structured-logging
[gcl-slack]: https://github.com/bjerkio/gcl-slack
We love to get help 🙏 Read more about how to get started in
CONTRIBUTING 🌳