Lightweight library to use Slack in NestJS applications.
Quick Start Guide
·
Request Feature
·
Report Bug
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.
- 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.
▶ 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>',
},
}),
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';
}
}
▶ 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.
We love to get help 🙏 Read more about how to get started in CONTRIBUTING 🌳