This package makes it easy to send Twilio notifications with NestJS.
This package is a sub-module of NestJS notification.
::: code
$ npm i @nestjs-notification-channels/twilio
$ yarn add @nestjs-notification-channels/twilio
:::
Add your Twilio Account SID, Auth Token, and Sender (optional) to your .env
:
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_SENDER=
Module declaration
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import {
NestjsNotificationModule,
NestjsNotificationModuleOptions,
} from '@sinuos/nestjs-notification';
@Module({
imports: [
NestjsNotificationModule.register(<NestjsNotificationModuleOptions>{}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
You can also declare the account sid, auth token and sender by declaring them like this.
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import {
NestjsNotificationModule,
NestjsNotificationModuleOptions,
} from '@sinuos/nestjs-notification';
import { TwilioChannelModule } from '@nestjs-notification-channels/twilio';
@Module({
imports: [
NestjsNotificationModule.register(<NestjsNotificationModuleOptions>{}),
TwilioChannelModule.register({
twilioAccountSid: 'xxx',
twilioAuthToken: 'xxx',
twilioSender: 'xxx', // SENDER OR +212xxxxxx,
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
Now you can use the channel in your sendToChannels()
method inside the notification:
import { NestJsNotification } from '@sinuos/nestjs-notification';
import {
TwilioChannel,
TwilioChannelMessage,
ITwilioChannel,
} from '@nestjs-notification-channels/twilio';
export class OrderedNotification implements NestJsNotification {
public sendToChannels() {
return [TwilioChannel];
}
toTwilio() {
return new TwilioChannelMessage()
.setToFrom('+212xxxxxxxx')
.setMessage('Your order XXXXX is placed');
}
}
accountSid('')
- Optional if account sid is defined in your env.authToken('')
- Optional if auth token is defined in your env.sender('')
- Optional if sender is defined in your env.message('')
- SMS content.toPhoneNumber('')
- Your recipient.
Please see CHANGELOG for more information what has changed recently.
::: code
$ npm run test
$ yarn test
:::
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.