nestjs-telegraf/lib/decorators/telegraf-action.decorator.ts

23 lines
652 B
TypeScript
Raw Normal View History

2020-03-19 17:20:13 +03:00
import { SetMetadata } from '@nestjs/common';
import { DECORATORS } from '../telegraf.constants';
import { HearsTriggers } from 'telegraf/typings/composer';
import { Context } from '../interfaces';
2020-03-19 17:20:13 +03:00
export type TelegrafActionTriggers = HearsTriggers<Context>;
export interface TelegrafActionMetadata {
triggers: TelegrafActionTriggers;
}
2020-03-19 17:20:13 +03:00
/**
* Registers middleware for handling callback_data actions with regular expressions.
* @param triggers Triggers
*
* https://telegraf.js.org/#/?id=action
*/
export function TelegrafAction(
triggers: TelegrafActionTriggers,
): MethodDecorator {
2020-03-19 17:20:13 +03:00
return SetMetadata(DECORATORS.ACTION, { triggers });
}