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

Ребята, всем привет. Может-то сможет помочь, направить в нужном направлении.

Расскажу, что делаю сам, но думаю аналогичные штуки есть и в других задачах.

Делаю бота с кучей сценариев общения и процессов. Один процесс может перетекать в другой, как в начало так и в середину. В библиотеке aiogram есть шикарная машина состояний FSM, где можно заранее определить этапы/шаги и перемещаться по ним, но задействовать несколько - только через БД и с кучей неудобного кода. Когда процессов больше 5 уже начинается неповоротливость в коде.

Хочу найти решение, чтобы отрисовать все процессы, например в BPMN или UML. На выходе это XML, который можно разобрать, но изобретать велосипед такое-себе.

Может есть что-то уже готовое, чтобы можно было «подружить» нарисованные процессы с кусками кода/функциями?

10 ответов

9 просмотров

Мою aiogram_dialog попробуй https://aiogram-dialog.readthedocs.io/en/latest/tools.html#state-diagram

Boris-Evdeev Автор вопроса
Tishka17
Мою aiogram_dialog попробуй https://aiogram-dialo...

Если правильно понял, беглым взглядом - это из когда в картинку, чтобы посмотреть результат. А в обратную сторону можно?

Boris Evdeev
Если правильно понял, беглым взглядом - это из ког...

Не. Я разочаровался в кодогенерации по xml. Слишком много уточнять и править все равно приходится.

делается левой пяткой и 5 минут чтения документации на graphviz

Boris-Evdeev Автор вопроса

Я хочу написать код, а потом задействовать его по схеме UML/BPMN. Прыгать по коду и прописывать связи - не удобно

Boris Evdeev
Я хочу написать код, а потом задействовать его по ...

Ну а дальше с этим BPMN что делать собираетесь? если вопрос в простой визуализации, зачем в это вообще влезать? graphviz очень простой

Boris-Evdeev Автор вопроса
Pavel Zheltouhov
Ну а дальше с этим BPMN что делать собираетесь? ес...

Если добавится новый сценарий, чтобы под него дописать код, а потом графически нарисовать связи с другими процессами. Т.е. я вижу, это как некий шаблон по которому должен работать бот, а не прям как таковую генерацию

Tishka17
Мою aiogram_dialog попробуй https://aiogram-dialo...

а, так это ведь тоже grapviz, просто эти иконки сбивают с толку

Pavel Zheltouhov
а, так это ведь тоже grapviz, просто эти иконки сб...

Да, конечно. Но тут идея в том, что в отличие от сотен хэндлеров, которые могут неявно шарить стейт ты описываешь "окна" которые соответствуют тому что виде юзер в каждом стейте и это потом проще должно быть сопровождать

Boris Evdeev
Если добавится новый сценарий, чтобы под него допи...

именно так диалоги и работают. Описал новый диалог, а потом добавил его старт откуда надо

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
Хтось використовував Vapor на Windows?
Jaroshevskii
15
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Оба варианта в целом подходят, но скорее создание конфликтной ситуации (на пустой основе). В прошлый раз он сказал мне про ESP32, я забыл про этот микроконтроллер, ошибся, я п...
КТ315
4
Карта сайта