В Telegraf не работает функционал сцен. Не могу понять почему не срабатывает middleware. Мой код:
import { Telegraf, Scenes } from "telegraf";
let token = 'XXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXX';
let bot = new Telegraf(token);
let scene1 = new Scenes.BaseScene('test1');
scene1.enter((ctx) => { console.log('Enter to Scene 1'); })
scene1.command('test', ctx => { console.log('Test in scene 1')})
scene1.leave(()=> { console.log('Exit scene 1')})
let scene2 = new Scenes.BaseScene('test2');
scene2.enter((ctx) => { console.log('Enter to Scene 2'); })
scene2.command('test', ctx => { console.log('Test in scene 2')})
scene2.leave(()=> { console.log('Exit scene 2')})
let stage = new Scenes.Stage([scene1, scene2], { ttl: 10 });
bot.use(stage.middleware());
bot.command('lt', ctx => {
ctx.scene.enter('test1')
})
bot.on('text', ctx => {
console.log('text');
})
bot.launch();
После вызова bot.use(stage.middleware()) в переменной контекста ctx не появляется секция ctx.scene
При вызове сцены соответственно появляется ошибка:
ctx.scene.enter('test1')
^
TypeError: Cannot read properties of undefined (reading 'enter')