А подскажите пожалуйста. Вот сделал я BaseScene, определил обработчик enter и

leave, назначил вход в сцену по команде, но почему-то всегда срабатывает сначала метод leave, а уже потом enter.
Что не так?

5 ответов

15 просмотров
Viktor 🇷🇺- Автор вопроса

const keyboardAgree = Markup.inlineKeyboard([{ text: 'Я согласен', callback_data: cnt.callbacks.agreement }]); export const startScene = new Scenes.BaseScene<Scenes.SceneContext<SessionContextData>>(cnt.startSceneId); startScene.enter(async ctx => { console.log('---------- Enter', ctx.session.__scenes); if (ctx.session.__scenes.userAgreement) { return ctx.scene.leave(); } return ctx.replyWithMarkdown(cnt.strings.startMessage, keyboardAgree); }); startScene.action(cnt.callbacks.agreement, async ctx => { console.log('---------- Action', ctx.session.__scenes); ctx.session.__scenes.userAgreement = true; return ctx.scene.leave(); }); startScene.leave(async ctx => { console.log('---------- Leave', ctx.session.__scenes); return ctx.reply(cnt.strings.welcome); });

Viktor 🇷🇺- Автор вопроса

и вот вызов const stage = new Scenes.Stage([startScene]); bot.use(stage.middleware()); bot.command('/info', ctx => ctx.scene.enter(cnt.startSceneId));

Viktor 🇷🇺- Автор вопроса

Я сейчас вообще убрал этот вызов.

Viktor 🇷🇺- Автор вопроса

Тоже самое

Viktor 🇷🇺- Автор вопроса

Ну, как и предполагается, отрабатывает только enter

Похожие вопросы

Обсуждают сегодня

if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Это фейк @cruppto_newbot?
Antskup
13
всем салют сегодня утро заметил что бот не может отправлять фотки по url. ручками в браузере ссылка норм открывает фотки. падает ошибка 'Bad Request: failed to send message ...
Vasya Ivanov
9
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
10
Доброго времени суток. Правильно ли я понимаю, что с введением новой платежной единицы stars, я просто могу оставить текущую платёжку от Юкассы, которая выполняется на сайте с...
Prokhor Chulkov
7
Добрый день! Не подскажете как к модели Категории Шопоголика добавить отношение Тейлора. Пробовал по документации, но не получается. Мб уже кто-то делал?
Николай Афанасенко
6
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Добрый день! На Odoo 16.0 через 1-2 дня перестают работать кроны. В логах одна только ошибка на момент, когда сработал последний крон. Может кто-то уже с этим разбирался?
Denis Валенчиц
3
@veranikaEU получилось? Можно увидеть рабочий код?
Alex Kom
8
Карта сайта