mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2025-09-30 04:18:51 +03:00
4
lib/interfaces/index.ts
Normal file
4
lib/interfaces/index.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export * from './telegraf-options.interface';
|
||||
export * from './listener-metadata.interface';
|
||||
export * from './scene-metadata.interface';
|
||||
export * from './telegraf-exception-filter.interface';
|
4
lib/interfaces/listener-metadata.interface.ts
Normal file
4
lib/interfaces/listener-metadata.interface.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export interface ListenerMetadata {
|
||||
method: string;
|
||||
args: unknown[];
|
||||
}
|
11
lib/interfaces/scene-metadata.interface.ts
Normal file
11
lib/interfaces/scene-metadata.interface.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { SceneOptions } from 'telegraf/typings/scenes/base';
|
||||
|
||||
export interface SceneMetadata {
|
||||
sceneId: string;
|
||||
type: 'base' | 'wizard';
|
||||
options?: SceneOptions<any>;
|
||||
}
|
||||
|
||||
export interface WizardStepMetadata {
|
||||
step: number;
|
||||
}
|
5
lib/interfaces/telegraf-exception-filter.interface.ts
Normal file
5
lib/interfaces/telegraf-exception-filter.interface.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { ArgumentsHost } from '@nestjs/common';
|
||||
|
||||
export interface TelegrafExceptionFilter<T = any> {
|
||||
catch(exception: T, host: ArgumentsHost): any;
|
||||
}
|
28
lib/interfaces/telegraf-options.interface.ts
Normal file
28
lib/interfaces/telegraf-options.interface.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { ModuleMetadata, Type } from '@nestjs/common/interfaces';
|
||||
import { Middleware, Telegraf } from 'telegraf';
|
||||
|
||||
export interface TelegrafModuleOptions {
|
||||
token: string;
|
||||
botName?: string;
|
||||
options?: Partial<Telegraf.Options<any>>;
|
||||
launchOptions?: Telegraf.LaunchOptions | false;
|
||||
include?: Function[];
|
||||
middlewares?: ReadonlyArray<Middleware<any>>;
|
||||
}
|
||||
|
||||
export interface TelegrafOptionsFactory {
|
||||
createTelegrafOptions():
|
||||
| Promise<TelegrafModuleOptions>
|
||||
| TelegrafModuleOptions;
|
||||
}
|
||||
|
||||
export interface TelegrafModuleAsyncOptions
|
||||
extends Pick<ModuleMetadata, 'imports'> {
|
||||
botName?: string;
|
||||
useExisting?: Type<TelegrafOptionsFactory>;
|
||||
useClass?: Type<TelegrafOptionsFactory>;
|
||||
useFactory?: (
|
||||
...args: any[]
|
||||
) => Promise<TelegrafModuleOptions> | TelegrafModuleOptions;
|
||||
inject?: any[];
|
||||
}
|
Reference in New Issue
Block a user