Расскажу, что делаю сам, но думаю аналогичные штуки есть и в других задачах.
Делаю бота с кучей сценариев общения и процессов. Один процесс может перетекать в другой, как в начало так и в середину. В библиотеке aiogram есть шикарная машина состояний FSM, где можно заранее определить этапы/шаги и перемещаться по ним, но задействовать несколько - только через БД и с кучей неудобного кода. Когда процессов больше 5 уже начинается неповоротливость в коде.
Хочу найти решение, чтобы отрисовать все процессы, например в BPMN или UML. На выходе это XML, который можно разобрать, но изобретать велосипед такое-себе.
Может есть что-то уже готовое, чтобы можно было «подружить» нарисованные процессы с кусками кода/функциями?
Мою aiogram_dialog попробуй https://aiogram-dialog.readthedocs.io/en/latest/tools.html#state-diagram
Если правильно понял, беглым взглядом - это из когда в картинку, чтобы посмотреть результат. А в обратную сторону можно?
Не. Я разочаровался в кодогенерации по xml. Слишком много уточнять и править все равно приходится.
делается левой пяткой и 5 минут чтения документации на graphviz
Я хочу написать код, а потом задействовать его по схеме UML/BPMN. Прыгать по коду и прописывать связи - не удобно
Ну а дальше с этим BPMN что делать собираетесь? если вопрос в простой визуализации, зачем в это вообще влезать? graphviz очень простой
Если добавится новый сценарий, чтобы под него дописать код, а потом графически нарисовать связи с другими процессами. Т.е. я вижу, это как некий шаблон по которому должен работать бот, а не прям как таковую генерацию
а, так это ведь тоже grapviz, просто эти иконки сбивают с толку
Да, конечно. Но тут идея в том, что в отличие от сотен хэндлеров, которые могут неявно шарить стейт ты описываешь "окна" которые соответствуют тому что виде юзер в каждом стейте и это потом проще должно быть сопровождать
именно так диалоги и работают. Описал новый диалог, а потом добавил его старт откуда надо
Обсуждают сегодня