2020-03-19 16:21:35 +03:00
|
|
|
import { ModuleMetadata, Type } from '@nestjs/common/interfaces';
|
2020-12-30 01:49:09 +03:00
|
|
|
import { Middleware, Context } from 'telegraf';
|
2020-12-25 23:11:16 +03:00
|
|
|
import { TelegrafLaunchOption, TelegrafOption } from '../telegraf.types';
|
2020-01-12 01:15:32 +03:00
|
|
|
|
2020-12-30 01:49:09 +03:00
|
|
|
export interface TelegrafModuleOptions<C extends Context = Context> {
|
2020-03-19 16:21:35 +03:00
|
|
|
token: string;
|
2020-12-25 23:11:16 +03:00
|
|
|
options?: TelegrafOption;
|
|
|
|
launchOptions?: TelegrafLaunchOption;
|
2020-12-30 01:49:09 +03:00
|
|
|
middlewares?: Middleware<C>[];
|
2020-01-12 01:15:32 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface TelegrafOptionsFactory {
|
2020-03-19 16:21:35 +03:00
|
|
|
createTelegrafOptions(): TelegrafModuleOptions;
|
2020-01-12 01:15:32 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface TelegrafModuleAsyncOptions
|
|
|
|
extends Pick<ModuleMetadata, 'imports'> {
|
2020-03-19 16:21:35 +03:00
|
|
|
useExisting?: Type<TelegrafOptionsFactory>;
|
|
|
|
useClass?: Type<TelegrafOptionsFactory>;
|
2020-01-12 01:36:53 +03:00
|
|
|
useFactory?: (
|
|
|
|
...args: any[]
|
2020-03-19 16:21:35 +03:00
|
|
|
) => Promise<TelegrafModuleOptions> | TelegrafModuleOptions;
|
|
|
|
inject?: any[];
|
2020-01-12 01:15:32 +03:00
|
|
|
}
|