169 похожих чатов

[ Фотография ] Доброго. Может же быть такое, что стейт не

успевает обновляться?
По команде /start присылается сообщение с просьбой выбрать автора —> появляются две кнопки с авторами.
После выбора автора появляется сообщение с инлайн-кнопками выбрать вариант —> после выбора варианта присылается сообщение с просьбой подтвердить.

После подтверждения в бд идет поиск задания и потом присылается картинка с самим заданием. Бот ждет ответа пользователя и сверяет его с ответом из бд:
1. Ответ верный —> бот обновляет стейт с текущем заданием и прибавляет 1 —> присылает второе задание и так по кругу.
2. Ответ неверный —> бот просит подумать еще раз.

Проблема в том, что стейт (я так думаю) не успевает обновится и бот еще раз присылает картинку из бд с заданием 1, хотя должен присылать картинку с заданием 2. Что не так?

Код:
1. https://paste.aiogram.dev/anohecohor.py — процесс выбора варианта и все остальное
2. https://paste.aiogram.dev/pevaviqaxo.py — делается поиск задания

7 ответов

26 просмотров

> Может же быть такое, что стейт не успевает обновляться? Может. Смотря, что ты делаешь

Egor-زوليبي بيبي Автор вопроса
Evgen Fil // hehe
> Может же быть такое, что стейт не успевает обнов...

При верном ответе обновляю стейт прибавляя к текущему значению 1, после этого снова вызываю функцию получения задания. в первый раз он не обновляется, во второй и последующие все отлично

Egor-زوليبي بيبي Автор вопроса
Evgen Fil // hehe
Что такое "data"?

data = await state.get_data()

Egor زوليبي بيبي
data = await state.get_data()

Ты же понимаешь, что data — "снапшот" состояния на конкретный момент? Тут не в стейтах дело)

Egor زوليبي بيبي
А в чем же?

Если не понял моего сообщения, вставь этот кусок кода. Я думаю, поймёшь куда по контексту print(data.get("current_task"), (await state.get_data()).get("current_task")) await state.update_data(...) print(data.get("current_task"), (await state.get_data()).get("current_task"))

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта