2021-01-05 12:37:04 +03:00
|
|
|
import { ParamsFactory } from '@nestjs/core/helpers/external-context-creator';
|
|
|
|
import { Context } from 'telegraf';
|
2021-01-03 01:30:57 +03:00
|
|
|
import { TelegrafParamtype } from '../enums/telegraf-paramtype.enum';
|
|
|
|
|
2021-01-05 12:37:04 +03:00
|
|
|
export class TelegrafParamsFactory implements ParamsFactory {
|
|
|
|
exchangeKeyForValue(
|
|
|
|
type: TelegrafParamtype,
|
|
|
|
ctx: Context,
|
|
|
|
next: Function,
|
|
|
|
): unknown {
|
|
|
|
switch (type) {
|
2021-01-03 01:30:57 +03:00
|
|
|
case TelegrafParamtype.CONTEXT:
|
2021-01-05 12:37:04 +03:00
|
|
|
return ctx;
|
2021-01-03 01:30:57 +03:00
|
|
|
case TelegrafParamtype.NEXT:
|
2021-01-05 12:37:04 +03:00
|
|
|
return next;
|
2021-01-03 01:30:57 +03:00
|
|
|
case TelegrafParamtype.SENDER:
|
|
|
|
return ctx.from;
|
|
|
|
case TelegrafParamtype.MESSAGE:
|
|
|
|
return ctx.message;
|
|
|
|
case TelegrafParamtype.MESSAGE_TEXT:
|
|
|
|
return ctx.message.text;
|
|
|
|
default:
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|