2020-03-19 16:21:35 +03:00
|
|
|
import { SetMetadata } from '@nestjs/common';
|
|
|
|
import { DECORATORS } from '../telegraf.constants';
|
2020-05-03 09:46:28 +03:00
|
|
|
import { HearsTriggers } from 'telegraf/typings/composer';
|
|
|
|
import { Context } from '../interfaces';
|
2020-03-19 16:21:35 +03:00
|
|
|
|
2020-05-03 09:46:28 +03:00
|
|
|
export type TelegrafHearsTriggers = HearsTriggers<Context>;
|
2020-03-19 18:20:07 +03:00
|
|
|
|
2020-08-14 12:42:57 +03:00
|
|
|
export interface HearsOptions {
|
2020-03-19 18:20:07 +03:00
|
|
|
triggers: TelegrafHearsTriggers;
|
|
|
|
}
|
|
|
|
|
2020-03-19 16:21:35 +03:00
|
|
|
/**
|
|
|
|
* Registers middleware for handling text messages.
|
|
|
|
*
|
2020-08-14 12:42:57 +03:00
|
|
|
* @see https://telegraf.js.org/#/?id=hears
|
2020-03-19 16:21:35 +03:00
|
|
|
*/
|
2020-08-14 12:42:57 +03:00
|
|
|
export const Hears = (triggers: TelegrafHearsTriggers): MethodDecorator => {
|
2020-03-19 16:21:35 +03:00
|
|
|
return SetMetadata(DECORATORS.HEARS, { triggers: triggers });
|
2020-08-14 12:42:57 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Registers middleware for handling text messages.
|
|
|
|
*
|
|
|
|
* @see https://telegraf.js.org/#/?id=hears
|
|
|
|
* @deprecated since v2, use Hears decorator instead.
|
|
|
|
*/
|
|
|
|
export const TelegrafHears = Hears;
|