nestjs-telegraf/src/interfaces/telegraf-options.interface.ts

29 lines
808 B
TypeScript
Raw Normal View History

2020-03-19 16:21:35 +03:00
import { ModuleMetadata, Type } from '@nestjs/common/interfaces';
2022-11-20 14:13:48 +03:00
import { Middleware, PollingOptions, BotConfig } from 'grammy';
2020-01-12 01:15:32 +03:00
export interface TelegrafModuleOptions {
2020-03-19 16:21:35 +03:00
token: string;
2022-11-20 14:13:48 +03:00
config?: BotConfig<any>;
pollingOptions?: PollingOptions | false;
2021-01-05 13:36:12 +03:00
botName?: string;
2021-01-02 01:27:01 +03:00
include?: Function[];
middlewares?: ReadonlyArray<Middleware<any>>;
2020-01-12 01:15:32 +03:00
}
export interface TelegrafOptionsFactory {
createTelegrafOptions():
| Promise<TelegrafModuleOptions>
| TelegrafModuleOptions;
2020-01-12 01:15:32 +03:00
}
export interface TelegrafModuleAsyncOptions
extends Pick<ModuleMetadata, 'imports'> {
2021-01-05 13:36:12 +03:00
botName?: string;
2020-03-19 16:21:35 +03:00
useExisting?: Type<TelegrafOptionsFactory>;
useClass?: Type<TelegrafOptionsFactory>;
useFactory?: (
...args: any[]
2020-03-19 16:21:35 +03:00
) => Promise<TelegrafModuleOptions> | TelegrafModuleOptions;
inject?: any[];
2020-01-12 01:15:32 +03:00
}