nestjs-telegraf/lib/telegraf.module.ts

33 lines
789 B
TypeScript
Raw Normal View History

2019-02-28 11:29:26 +03:00
import {
MiddlewareConsumer,
Module,
NestModule,
DynamicModule,
} from '@nestjs/common'
import { TelegramBot } from './TelegramBot'
2020-01-12 01:15:32 +03:00
import { TelegrafModuleAsyncOptions } from './interfaces'
2019-02-28 11:29:26 +03:00
import { TokenInjectionToken } from './TokenInjectionToken'
import { TelegramClient } from './TelegramClient'
2019-02-28 11:29:26 +03:00
@Module({})
2020-01-12 01:15:32 +03:00
export class TelegrafModule implements NestModule {
2019-02-28 11:29:26 +03:00
public configure(consumer: MiddlewareConsumer) {
// pass
}
2020-01-12 01:15:32 +03:00
static fromFactory(factory: TelegrafModuleAsyncOptions): DynamicModule {
2019-02-28 11:29:26 +03:00
return {
2020-01-12 01:15:32 +03:00
module: TelegrafModule,
2019-02-28 11:29:26 +03:00
providers: [
TelegramBot,
TelegramClient,
2019-02-28 11:29:26 +03:00
{
provide: TokenInjectionToken,
useClass: factory.useClass,
},
],
2019-05-11 21:10:14 +03:00
exports: [TelegramBot, TelegramClient],
2019-02-28 11:29:26 +03:00
}
}
}