UNPKG

telegraf

Version:

Modern Telegram Bot Framework

37 lines (36 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseScene = void 0; const composer_1 = require("../composer"); const { compose } = composer_1.default; class BaseScene extends composer_1.default { constructor(id, options) { const opts = { handlers: [], enterHandlers: [], leaveHandlers: [], ...options, }; super(...opts.handlers); this.id = id; this.ttl = opts.ttl; this.enterHandler = compose(opts.enterHandlers); this.leaveHandler = compose(opts.leaveHandlers); } enter(...fns) { this.enterHandler = compose([this.enterHandler, ...fns]); return this; } leave(...fns) { this.leaveHandler = compose([this.leaveHandler, ...fns]); return this; } enterMiddleware() { return this.enterHandler; } leaveMiddleware() { return this.leaveHandler; } } exports.BaseScene = BaseScene; exports.default = BaseScene;