Package Exports
- nestjs-twilio
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nestjs-twilio) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nestjs-twilio
Injectable Twilio client for Nestjs.
Implementing the TwilioModule from this package you gain access to Twilio client through dependency injection with minimal setup.
Instalation
$ npm install --save twilio nestjs-twilio$ yarn add twilio nestjs-twilioGetting Started
The simplest way to use nestjs-twilio is to use TwilioModule.forRoot
import { TwilioModule } from 'nestjs-twilio';
@Module({
imports: [
TwilioModule.forRoot({
accountSid: process.env.TWILIO_ACCOUNT_SID,
authToken: process.env.TWILIO_AUTH_TOKEN,
}),
],
})
export class AppModule {}Utilizing asynchronous providers
import { TwilioModule } from 'nestjs-twilio';
@Module({
imports: [
TwilioModule.forRootAsync({
imports: [ConfigModule],
useFactory: async (cfg: ConfigService) => ({
accountSid: cfg.get('TWILIO_ACCOUNT_SID'),
authToken: cfg.get('TWILIO_AUTH_TOKEN'),
}),
inject: [ConfigService],
}),
],
})
export class AppModule {}You can then inject the Twilio client into any of your injectables by using a custom decorator
import { InjectTwilio, TwilioClient } from 'nestjs-twilio';
@Injectable()
export class AppService {
public constructor(@InjectTwilio() private readonly client: TwilioClient) {}
async sendSMS() {
try {
return await this.client.messages.create({
body: 'SMS Body, sent to the phone!',
from: process.env.TWILIO_PHONE_NUMBER,
to: TARGET_PHONE_NUMBER,
});
} catch (e) {
return e;
}
}
}