На хабре много вопросов, но вопроса с ответом так и не нашел.
При записи новой сцены, предыдущая стирается, хотя контекст хранит их массивом, следовательно их может быть несколько. Делать костыль, из разряда пуша в массив новых сцен, пока что желания нет. Но чувствую скоро появиться. По сему прошу знающих людей объяснить, как правильно передать сцены в сессию.
Мой код на данный момент:
bot.use(session());
const giftCreate = new Stage([require('./scenes/giftCreate.js')(bot)]);
bot.use(giftCreate.middleware());
const giftUse = new Stage([require('./scenes/giftUse.js')(bot)]);
bot.use(giftUse.middleware());
const priceEdit = new Stage([require('./scenes/priceEdit.js')(bot)]);
bot.use(priceEdit.middleware());
Далее происходит вызов сцен, на который я ловлю ошибку.
case 'edit180':
ctx.scene.enter('priceEdit');
break;
case 'giftCreate':
ctx.scene.enter('giftCreate'); //Failed to process updates. Error: Can't find scene: giftCreate
break;
При логировании вижу, что только сцена priceEdit, которую записывал последней, находиться в массиве.
Очень надеюсь на объяснение.
UPD: То как я в обработчик передал сцены - моя хотелка, ибо там должен оказаться еще и bot. В любом случае, все 3 работают, тогда, когда записываешь их последней.