Size: a a a

2020 July 13

T

Tishka17 in aiogram [ru]
BPRO
Это класс FSM
Полагаю это StateGroup. Хоть Алекс и запилил, но переключать стейты правильнее через экземпляр FSMContext, а не левым хуем через StateGroup
источник

B

BPRO in aiogram [ru]
Tishka17
Полагаю это StateGroup. Хоть Алекс и запилил, но переключать стейты правильнее через экземпляр FSMContext, а не левым хуем через StateGroup
Можно пример пожалуйста?
источник

q

quavo in aiogram [ru]
ех, я еще не юзал методы  .next() .previous()
источник

Т

Технопёс in aiogram [ru]
Tishka17
Вот хотел спросить. Как ты ведёшь себя в случае циклических переходов и как защишаешься от бесконечного роста стека
1. циклических переходов в общем-то нет, или может я не совсем понял о чем речь... Ты имеешь ввиду из главного меню в сабменю, а потом обратно?
2. стек очищается как только встречает уже имеющееся состояние. Да, это не совсем чистый стек, но просмотр внутренностей безвреден для системы. Пуш/поп происходят как и полагается, с принципом LIFO. Так как число состояний конечно, бесконечный рост невозможен
источник

T

Tishka17 in aiogram [ru]
state.set_state(Main.waitRates.state)
источник

q

quavo in aiogram [ru]
Tishka17
state.set_state(Main.waitRates.state)
это нрмально?
источник

B

BPRO in aiogram [ru]
Tishka17
state.set_state(Main.waitRates.state)
Там вроде есть и два объязательных аргумента user_id и chat_id ?
источник

T

Tishka17 in aiogram [ru]
Технопёс
1. циклических переходов в общем-то нет, или может я не совсем понял о чем речь... Ты имеешь ввиду из главного меню в сабменю, а потом обратно?
2. стек очищается как только встречает уже имеющееся состояние. Да, это не совсем чистый стек, но просмотр внутренностей безвреден для системы. Пуш/поп происходят как и полагается, с принципом LIFO. Так как число состояний конечно, бесконечный рост невозможен
Ну у тебя следующий шаг может быть такой же как какой-то в прошлом. Например, у меня вполне реальный кейс: введите почту, введите текст, введите ещё почту , введите ещё текст, нажмите готово
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
Технопёс
1. циклических переходов в общем-то нет, или может я не совсем понял о чем речь... Ты имеешь ввиду из главного меню в сабменю, а потом обратно?
2. стек очищается как только встречает уже имеющееся состояние. Да, это не совсем чистый стек, но просмотр внутренностей безвреден для системы. Пуш/поп происходят как и полагается, с принципом LIFO. Так как число состояний конечно, бесконечный рост невозможен
Введите следующую подсказку или /last
И так 100500 раз
источник

Т

Технопёс in aiogram [ru]
Tishka17
Что за Dispatcher? Это класс что ли?
в сорцах аиограма при State.set() берется диспетчер по контексту. В данной ситуации его нет, соответственно валится при None.current_state()
источник

T

Tishka17 in aiogram [ru]
BPRO
Там вроде есть и два объязательных аргумента user_id и chat_id ?
state: FSMContext
источник

T

Tishka17 in aiogram [ru]
В хэндлер он прилетаем сам, без хэндлера надо добыть
источник

T

Tishka17 in aiogram [ru]
Технопёс
в сорцах аиограма при State.set() берется диспетчер по контексту. В данной ситуации его нет, соответственно валится при None.current_state()
Сраные глобалы, да
источник

s

std::mpa in aiogram [ru]
Tishka17
Сраные глобалы, да
это не глобал
источник

T

Tishka17 in aiogram [ru]
std::mpa
это не глобал
Вот тут это именно глобал.
источник

B

BPRO in aiogram [ru]
Tishka17
state.set_state(Main.waitRates.state)
Кстати а откуда его имортировать ? 😅
источник

Т

Технопёс in aiogram [ru]
Tishka17
Ну у тебя следующий шаг может быть такой же как какой-то в прошлом. Например, у меня вполне реальный кейс: введите почту, введите текст, введите ещё почту , введите ещё текст, нажмите готово
следующий шаг будет до стейта с собственными переходами, если стейт установлен, то из него существует конечное число транзитов. Стек не в курсе за переходы, его задача хранение текущего пути. Если был возврат в главное меню, всё что идет от старого перехода до нового удаляется
источник

T

Tishka17 in aiogram [ru]
Технопёс
следующий шаг будет до стейта с собственными переходами, если стейт установлен, то из него существует конечное число транзитов. Стек не в курсе за переходы, его задача хранение текущего пути. Если был возврат в главное меню, всё что идет от старого перехода до нового удаляется
Циклические переходы между стейтами вполне могут быть
источник

Т

Технопёс in aiogram [ru]
Tishka17
Циклические переходы между стейтами вполне могут быть
четыре бота написал не особо простых, пока не было эксцессов
источник

T

Tishka17 in aiogram [ru]
А-Б-А-Б-А-Б-В
источник