Юзаю сцены, также храню название последней сцены, в которую зашёл

юзер в БД. И мне нужно, чтобы при запуске бота, юзеры сразу добавлялись в сцены и новые сообщения от них обрабатывались хэндлерами этих сцен. Подскажите, пожалуйста, как это сделать?

8 ответов

9 просмотров

А зачем ты хранишь название сцены в БД, а не юзаешь сессии?

Ну сессии в бд храни, а не названия сцен

bot.start(ctx => ctx.scene.enter(“shit”))

А у тебя какие сцены? Я на визард такое делал. Переходил в определённый этап после сообщения /start

Josh Dies 🪄 /\p{Rich}+/
bot.start(ctx => ctx.scene.enter(“shit”))

Это работает так, что пользователь прислал /start и бот его перенаправил в сцену, а у меня другая задача - юзер уже в сцене, на каком-то из обработчиков остановился. Вот на сервер прилетает обновление бота(или бот падает), соответственно бот забывает, что юзер был перенаправлен в сцену и если получит сообщение, то не вызовет нужный обработчик из сцены. Хотелось бы, чтобы при запуске бот восстанавливал, какие юзеры в каких сценах были

Михаил Sádhaker Богомазов
Это работает так, что пользователь прислал /start ...

Мидллварь, которая будет сравнивать сессию в бд и текущую и обновлять (если текущая не undefined). Разберёшься как-нибудь. Где-то была библиотека mongodb - session

Danil Shaymurzin
Так храни сессии в БД, тогда бот не забудет

Я вот пока не ковырял сессии, не совсем понимаю, что там хранится, и в какой момент запуска скрипта нужно их в бота запихнуть, чтобы он новые сообщения уже хэндлерами сцен обрабатывал

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

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

Кто сколько за бота берёт? (Я покупать не хочу)
Ivan Aleksandrovich
10
Век живи, век учись и продолжай удивляться Carbon Оказывается, в Carbon дату можно задавать даже текстом 😲 <?php use Carbon\Carbon; $october_date = new Carbon("last sunday o...
Igor
3
Приветы. Если бот доступен только пользователям из России и Беларуси, старсы для него неизбежны? Как Apple планируется собирать платежи с покупок в сторе на территориях, где у...
Prokhor Chulkov
8
Qq, возможно сталкивался кто Повесил на бота обработку апдейтов типа chat_member, при этом апдейты доходят только когда с ботом что-то делают, на саб/ансаб юзеров ему насрать...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
13
В тг возможно создать интерактивный/playable баннер? Т.е. не то что через браузер открывается, а прямо сам пост в чате или канале?
Meles
3
кто-нибудь отправлял ли групповые медиа с entites? что бы были гипер ссылки const result = await this.client.invoke( new Api.messages.SendMultiMedia({ silen...
Kokni
3
Вопрос в другом, кто нибудь вообще понял как жаловаться на незаконные платежи?
■_|ilya|_■
8
всем привет. может кто-нибудь сталкивался с такой проблемой? отсылали базу в odoo upgrade service с 12 на 17 версию, в базе которую они прислали в ответ заметили вот такие стр...
Pavel
6
К слову кому-то интересен форк октября без twig? А то где-то на старых хардах валялся с вырезанным twig и возвращенным blade)) Есть ли смысл Харды искать, и на них копатся?)
Vladimir 
10
Добрый день. Какие есть платежки для тг бота (без ип и юр лиц)? Мне просто обычные донаты принимать и подписки.
Vexylon
4
Карта сайта